openipc / webui Goto Github PK
View Code? Open in Web Editor NEWOpenIPC web interface.
Home Page: https://openipc.org
License: MIT License
OpenIPC web interface.
Home Page: https://openipc.org
License: MIT License
После сброса камеры в заводские настройки
Заходим в операции majestic
раздел restore
выбираем заранее сохраненый файл
Нажимаем загрузить конфиг и получаем сообщение что нет различий в конфигурации и применять нечего
Update _mj.cgi after update majestic from web interface.
Options:
Make the "motion detection" plugin available only on Hisilicon and Goke processors.
Make an exception for series processors in V1 (no motion detect).
Thanks !
Images stuck on receiving by openwall with
< HTTP/1.1 429 Too Many Requests
< Date: Thu, 11 Aug 2022 23:20:11 GMT
< Server: Apache
< Cache-Control: no-cache
< Strict-Transport-Security: max-age=63072000; includeSubDomains
< Referrer-Policy: strict-origin-when-cross-origin
< X-Permitted-Cross-Domain-Policies: none
< X-XSS-Protection: 1; mode=block
< X-Request-Id: cb4e6b6c-2541-4602-9c55-a090eb75fff9
< X-Download-Options: noopen
< X-Frame-Options: SAMEORIGIN
< Retry-After: -9309
< X-Content-Type-Options: nosniff
< Upgrade: h2
< Status: 429 Too Many Requests
< Transfer-Encoding: chunked
< Content-Type: text/html
openwall.txt
https://openipc.org/open-wall/camera/163693396035879
Port number for ftp transfer from web ui is ignoring, always using port 21.
Добавить между шапкой и содержимым страницы (сверху страницы) хлебные крошки.
На многих страницах непонятно где находишься.
В dev ветке в настройках маджестика в разделе osd нажимаем сохранить. После сохраненния majestic больше не стартует.
Проблема на сколько я понял в том что не заполнено поле или не записывается значение по умолчанию 'template' in section 'osd'.
11:38:24 [ main] main@132 Majestic Lite for HiSilicon, version master+b2f921b, built on 2022-06-22
11:38:24 [app_conf] load_config@111 Using /etc/majestic.yaml as main configuration
11:38:24 [app_conf] parse_app_config@318 Main audio codec is opus (other options: mp3, aac, pcm, alaw, ulaw)
11:38:24 [ config] parse_param_value@155 Can't find 'template' in section 'osd'.
В новом интерфейсе настроек majestic появилась проблема, что в каждом разделе настроек необходимо нажимать кнопку сохранить, потом снова переходить в меню -- настройки majestic -- выбирать раздел -- ставить галки\настройки и применять конфигурацию и все по новой для каждого раздела. Тратит много времени если настраивать много камер или если сбрасывать в заводские.
На старом интерфейсе было удобно что открыл окно, проставил все галки\настройки и одной кнопкой нажал применить конфигурацию.
Move the link to majestic-diff.cgi to the top of the main Majestic menu
Здравствуйте.
Заметил баг один на прошивке от 16 июня: если через веб интерфейс в сетевых настройках очистить поле шлюза и сохранить, то невозможно будет подключиться к камере по ip адресу. Сеть пропадает.
Хотя по логике наличие шлюза не обязательно для функционирования камеры в сети.
После сохранения в файле /etc/network/interfaces строка со шлюзом была просто без значения, вот так:
gateway
Colleagues, please take a look, should it be there or should it be moved to the www directory?
Делаю экспорт конфигурации через веб интерфейс, импортирую на другую камеру (аналогичную, чтобы не прописывать всё вручную), при импорте появляется ошибка, мол конфиг аналогичный, то есть пустой.
Честно говоря не посмотрел содержимое файла, но кажется проблема именно в импорте, а не экспорте
Create a dropdown menu in Majestic and move all links there
Need to either split DHCP-related settings from WiFi settings or inherit existing settings somehow.
Rename the repository branches to "stable" and "development" to match the menu items in the web interface.
Возможность добавить пользователя с правами только на просмотр видеопотока, чтобы возможно было настроить rtsp поток на стороне без раскрытия админского пароля для управления камерой.
Возможность добавить несколько администраторов для управления камерой через веб интерфейс.
По аналогии со стоковой прошивкой, где можно добавить несколько пользователей на камеру. На текущий момент для примера мы создаем отдельную учетную запись с ограниченными правами на просмотр и с ее помощь можем добавить в облако видеопоток, не раскрывая пароль администратора на камеру.
Сервис присутствует только с сборках ultimate, соответственно перед попыткой настройки необходимо проверить fw build или наличие в системе бинаря zerotier-one.
Процесс соединения выглядит следующим образом:
echo "daemon=1" > /etc/zerotier.conf
/etc/init.d/S90zerotier start
zerotier-cli join a1cbf4b62a41da0f
если подключение успешно, в ответ приходит статус:
200 join OK
либо другой код в случае ошибки.
v=0000000000000007
nwid=a1cbf4b62a41da0f
ts=00000182538b7a8a
ctmd=00000000001b7740
r=0000000000000012
id=e1e1030dab
tt=0000000000
tl=0000000000000000
f=0000000000000002
ml=0000000000000020
t=0000000000000000
n=cronyx
mtu=0000000000000af0
Из конфига нам необходимо получить nwid (network id) и n (name [имя сети заданное при регистрации на сервисе my.zerotier.com]) и отобразить на странице плагина вместе с успешным состоянием соединения + кнопка отключиться от сети.
zerotier-cli leave a1cbf4b62a41da0f
если отключение успешно, в ответ приходит статус:
200 leave OK
конфиги состояния из /var/lib/zerotier-one/networks.d/ удаляются автоматически при выходе из сети, пользователя необходимо вернуть на изначальную страницу ввода network id.
bug: SOCKS5
Ports other than 1080 cannot be set. The password show and hide buttons are invalid and the domain name cannot be saved.
In addition, the file manager cannot select the upper level directory. The latest firmware version, Web Interface version is dev 11-5. Web Interface Update script fails to update.
ошибка: SOCKS5
Порты, отличные от 1080, не могут быть установлены. Кнопки отображения и скрытия пароля недействительны, и доменное имя не может быть сохранено.
Кроме того, файловый менеджер не может выбрать каталог верхнего уровня. Последняя версия прошивки, версия веб-интерфейса — dev 11-5. Веб интерфейс
Скрипт обновления не обновляется
bug:SOCKS5
无法设置除1080以外的端口。 密码显示和隐藏按钮无效,不能保存域名。
另外文件管理器不能选择上一级目录。 固件版本最新,Web Interface版本为dev 11-5。 Web Interface更新脚本无法更新
Just turned out when webui saves config file it set webAdmin: false
But it can be only enabled
or disabled
. My suggestions are: either fix it in webui, or change to boolean type in Majestic
Предпросмотр video не работает если не включен HLS, но если мы включаем HLS то тогда просмотр видео доступен всем подряд на 80 порту.
Возможно ли реализовать чтобы администратор который настраивает камеру мог видеть предпросмотр только авторизовавшись на камере. Но чтобы видео не было доступно всем подряд на 80 порту?
Добавьте пожалуйста автоматическую прокрутку лога прошивки в web, мелочь а очень бесит прокручивать на телефоне вниз)
Цель доработки (переработки) избавиться от парсинга конфига сети и перейти на использование команд к демону с ответами в json, что поможет избавиться от тупняков в стадии настройки при отсуствии авторизации со стороны контроллера (страница остается в бесконечной загрузке пока не будет произведена авторизация устрйства). А так же избавить плагин от лишних кнопок на активацию демона.
Изначально, имеем слайдер активации плагина, он же активирует демона zerotier-one посредством скрипта S90zerotier при нажатии кнопки Сохранить. Плагин вместе с демоном активируются независимо от того, заполнено ли поле Network ID.
Как только плагин активирован и демон запущен, можно получить ID камеры в сети и ее статус командой zerotier-cli info -j:
результат:
{
"address": "68b93c6681",
"clock": 1667643999381,
"config": {
"settings": {
"allowTcpFallbackRelay": true,
"listeningOn": [
"192.168.0.111/9993",
"192.168.0.111/33884",
"192.168.0.111/53666"
],
"portMappingEnabled": true,
"primaryPort": 9993,
"secondaryPort": 0,
"softwareUpdate": "disable",
"softwareUpdateChannel": "release",
"tertiaryPort": 0
}
},
"online": true,
"planetWorldId": 149604618,
"planetWorldTimestamp": 1644592324813,
"publicIdentity": "68b93c6681:0:3215651423a6278ea7fe86454d5b5cfda4dd33c7a4228a9c9bccc1dc216f301605b28c720b60186039fe25dc7480daddf05b23a4ca93d7fd5d42c46b912fd633",
"tcpFallbackActive": false,
"version": "1.10.1",
"versionBuild": 0,
"versionMajor": 1,
"versionMinor": 10,
"versionRev": 1
}
Из этого выхлопа было бы полезно видеть ID камеры ("address":), так как его можно запросить для авторизации на контроллере в случае удаленного саппорта.
Если на первой стадии, вместе с активацией плагина, был введен Network ID, сразу выполняем join в сеть командой zerotier-cli join network_id (команда без ожидания результата) и после запрашиваем статус командой zerotier-cli listnetworks -j:
результат:
- состояние без авторизации на контроллере:
[
{
"allowDNS": false,
"allowDefault": false,
"allowGlobal": false,
"allowManaged": true,
"assignedAddresses": [],
"bridge": false,
"broadcastEnabled": false,
"dhcp": false,
"dns": {
"domain": "",
"servers": []
},
"id": "a0cbf4b62a41da0f",
"mac": "0e:b2:f8:16:d0:75",
"mtu": 2800,
"multicastSubscriptions": [
{
"adi": 0,
"mac": "01:00:5e:00:00:01"
},
{
"adi": 0,
"mac": "33:33:00:00:00:01"
},
{
"adi": 0,
"mac": "33:33:ff:16:d0:75"
}
],
"name": "",
"netconfRevision": 0,
"nwid": "a0cbf4b62a41da0f",
"portDeviceName": "ztc3q3k3bf",
"portError": 0,
"routes": [],
"status": "ACCESS_DENIED",
"type": "PRIVATE"
}
]
- с авторизацией на контроллере:
[
{
"allowDNS": false,
"allowDefault": false,
"allowGlobal": false,
"allowManaged": true,
"assignedAddresses": [
"172.30.100.152/24"
],
"bridge": false,
"broadcastEnabled": true,
"dhcp": false,
"dns": {
"domain": "",
"servers": []
},
"id": "a0cbf4b62a41da0f",
"mac": "0e:b2:f8:16:d0:75",
"mtu": 2800,
"multicastSubscriptions": [
{
"adi": 0,
"mac": "01:00:5e:00:00:01"
},
{
"adi": 0,
"mac": "33:33:00:00:00:01"
},
{
"adi": 0,
"mac": "33:33:ff:16:d0:75"
}
],
"name": "cronyx",
"netconfRevision": 18,
"nwid": "a0cbf4b62a41da0f",
"portDeviceName": "ztc3q3k3bf",
"portError": 0,
"routes": [
{
"flags": 0,
"metric": 0,
"target": "0.0.0.0/0",
"via": "172.30.100.56"
},
{
"flags": 0,
"metric": 0,
"target": "172.30.100.0/24",
"via": null
}
],
"status": "OK",
"type": "PRIVATE"
}
]
Отсюда было бы полезно получить и вывести (?в строку?) в центральном блоке страницы: имя сети ("name":), имя интерфейса ("portDeviceName":), мак ("mac":), IP адрес ("assignedAddresses":) и состояние соединения ("status":), завершать строку должна кнопка leave.
При нажатии на кнопку [leave] zerotier-cli leave network_id команда выполняются без ожидания результата, после выполения, повторяется вызов команды zerotier-cli listnetworks -j для актуализации информации о подключении.
At the same time, there is such an opportunity for NETIP.
Добавьте пожалуйста графический интерфейс для настройки ROI детекции движений и областей масок.
Крайне необходимая вещь, вручную (без подложки реальноно изображения) очень трудно правильно обозначить область.
К примеру, нравится реализация в TinyCam.
Проверено в Хроме, Опере, Яндекс-браузере.
Ошибки связанные с i2c
May 12 12:05:52 openipc-hi3516cv300 kern.err kernel: [16312.354246] hibvt-i2c 12110000.i2c: wait idle abort!, RIS: 0x611
May 12 12:05:52 openipc-hi3516cv300 kern.err kernel: [16312.354434] hibvt-i2c 12110000.i2c: wait idle abort!, RIS: 0x611
May 12 12:05:52 openipc-hi3516cv300 kern.err kernel: [16312.354626] hibvt-i2c 12110000.i2c: wait idle abort!, RIS: 0x611
May 12 12:05:52 openipc-hi3516cv300 kern.err kernel: [16312.354814] hibvt-i2c 12110000.i2c: wait idle abort!, RIS: 0x611
May 12 12:05:52 openipc-hi3516cv300 kern.err kernel: [16312.355002] hibvt-i2c 12110000.i2c: wait idle abort!, RIS: 0x611
May 12 12:05:52 openipc-hi3516cv300 kern.err kernel: [16312.355189] hibvt-i2c 12110000.i2c: wait idle abort!, RIS: 0x611
May 12 12:05:52 openipc-hi3516cv300 kern.err kernel: [16312.355381] hibvt-i2c 12110000.i2c: wait idle abort!, RIS: 0x611
May 12 12:05:52 openipc-hi3516cv300 kern.err kernel: [16312.355569] hibvt-i2c 12110000.i2c: wait idle abort!, RIS: 0x611
May 12 12:05:52 openipc-hi3516cv300 kern.err kernel: [16312.355756] hibvt-i2c 12110000.i2c: wait idle abort!, RIS: 0x611
Если страницу веб-интерфейса не обновлять, ошибок нет.
Т.е. при каждом заходе в лог http://IP:85/cgi-bin/info-log.cgi в этот же лог сыпется строчек 20-25 такого плана ошибок.
hi3516cv300 (hi3516cv300 family), imx307, 128 MB Flash. 2.2.04.15-lite.
Версия:2.2.04.15-lite
Сборка:master+a8beb9f, 2022-04-15
Прописаны настройки email для отправки:
email_enabled="true"
email_attach_snapshot="false"
email_from_name="[email protected]"
email_from_address="[email protected]"
email_to_name="[email protected]"
email_to_address="[email protected]"
email_subject="Motion detected"
email_body="detected"
email_smtp_host="smtp.yandex.ru"
email_smtp_port="465"
email_smtp_username="[email protected]"
email_smtp_password="ываывапы"
email_smtp_use_ssl="true"
email_socks5_enabled=""
В консоли при запуске скрипта /usr/sbin/send2email.sh
Получаем команду curl --silent --verbose --connect-timeout 100 --max-time 100 --ssl --url smtps://smtp.yandex.ru:465 --mail-from [email protected] --mail-rcpt [email protected] --user ':ываывапы' --upload-file /tmp/email.1456.txt
В параметре --user ':ываывапы' пропущен username до двоеточия
Нет возможности указать smtp авторизацию в Notify Yucca
По умолчанию авторизация выключена, но если её включить, настроить в этом блоке уже не получится и придётся использовать стандартную отправку письма.
./yucca server --help | grep -A5 "SMTP Server Flags"
SMTP Server Flags:
--smtp-server Enable SMTP server (default true)
--smtp-server-listen-address string Interface and port for the built-in SMTP server (default "0.0.0.0:1025")
--smtp-server-password string Password to use for authentication on SMTP server
--smtp-server-read-timeout duration Timeout for reading incoming message (default 1s)
--smtp-server-username string Username to use for authentication on SMTP server
dev+20e554c, 2022-07-27
камера HS303 v2 [hi3518ev200]
не работает плагин отправки на email
When we have a working PTZ, make a plugin to take a series of shots and send them to the website for automatic stitching.
Предлагаю сделать выбор через меню в web местоположение OSD в кадре, в следующих стандартных местах:
How will it be possible to add new audio system control options via GPIO to your wonderful WEB interface
audio:
.....
outputEnabled: false
speakerPin: 32
speakerPinInvert: false
At http://ipcam:85/cgi-bin/preview-help.cgi there are several image formats advertised but for yuv majestic replies with 404.
I am using this image.
Please consider the option of recovering / reminding the password (or something else) via telegram.
Monitoring Tools:
Oops. Something happened.
PING 4.2.2.1 (4.2.2.1): 1500 data bytes
--- 4.2.2.1 ping statistics ---
15 packets transmitted, 0 packets received, 100% packet loss
Было бы не плохо изменить размер пакета по умолчанию на 1450, так как 1500 не пролезет в туннели c MTU менее 1500.
Use temp yaml file in tmpfs in 'for' updating cycle.
Write to /etc/majestic.yaml at the end of script for decreasing flash writes
I propose to make a tab in the menu, on the page which in the presence of a mounted SD card will be possible to view a list of directories and files, as well as to download the selected file to the PC. It would also be interesting to be able to delete unnecessary directories and files.
Предлагаю сделать вкладку в меню, на странице которой при наличии смонтированной SD карты можно будет просмотреть список каталогов и файлов, а так-же скачать выбранный файл на ПК. Так-же было-бы интересно иметь возможность удалять ненужные каталоги и файлы.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.