Code Monkey home page Code Monkey logo

webui's Introduction

OpenIPC logo

WebUI

WebUI is a web interface for OpenIPC Firmware, and is available on port 80 of your camera.

Web interface uses system credentials for access. Default username is root, and password is 12345. You will be asked to change the password at the first login. Please note that this will also affect your login via ssh!

Support

OpenIPC offers two levels of support.

  • Free support through the community via chat.
  • Paid commercial support directly from the team of developers.

Please consider subscribing for paid commercial support if you intend to use our product for business. As a paid customer, you will get technical support and maintenance services directly from our skilled team. Your bug reports and feature requests will get prioritized attention and expedited solutions. It's a win-win strategy for both parties, that would contribute to the stability your business, and help core developers to work on the project full-time.

If you have any specific questions concerning our project, feel free to contact us.

Participating and Contribution

If you like what we do, and willing to intensify the development, please consider participating.

You can improve existing code and send us patches. You can add new features missing from our code.

Remember that you write for embedded linux thus please keep your code as small and optimized as possible. Avoid using extra libraries like jQuery, pure JavaScript is quite enough. Use valid HTML5 code. Avoid using deprecated tags and attributes.

You can help us to write a better documentation, proofread and correct our websites.

You can just donate some money to cover the cost of development and long-term maintaining of what we believe is going to be the most stable, flexible, and open IP Network Camera Framework for users like yourself.

You can make a financial contribution to the project at Open Collective.

Thank you.

Open Collective donate button

webui's People

Contributors

a-sakharov avatar augin avatar bo-skor avatar carnei-ro avatar energoblock avatar flyrouter avatar gergepalfi avatar gtxaspec avatar ihardrock avatar jimsmt avatar p0i5k avatar pauln avatar roboschmied avatar skilurius avatar solalex1 avatar thegroove avatar themactep avatar viktorxda avatar widgetii avatar ystinia avatar zigfisher avatar zorketru avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

webui's Issues

Web-interface

Добавить между шапкой и содержимым страницы (сверху страницы) хлебные крошки.
На многих страницах непонятно где находишься.

New Majestic streamer options in config

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

429 Too Many Requests, Retry-After: -9309

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

View a list of video files and download options

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 карты можно будет просмотреть список каталогов и файлов, а так-же скачать выбранный файл на ПК. Так-же было-бы интересно иметь возможность удалять ненужные каталоги и файлы.

Проблемы с обновлением.

Gk7205v300 inx335 winbond, последний бут.
Свернул вкладку с обновлением, получил кирпич.
Возможно это не связано с закрытием вкладки.
IMG_20221111_091721
IMG_20221111_091712
На 85 порту все 404, ssh не дает коннект, 80 не запущен стример.

UPD: обновление прерывается с закрытием вкладки с веб интерфейсом

Предпросмотр video не работает если не включен HLS

Предпросмотр video не работает если не включен HLS, но если мы включаем HLS то тогда просмотр видео доступен всем подряд на 80 порту.

Возможно ли реализовать чтобы администратор который настраивает камеру мог видеть предпросмотр только авторизовавшись на камере. Но чтобы видео не было доступно всем подряд на 80 порту?

Autoupdate _mj.cgi

Update _mj.cgi after update majestic from web interface.
Options:

  1. Add key --parameters (-p -P) to majestic for getting all supported parameters
  2. Parse majestic.yaml

Автоскроллинг при прошивке

Добавьте пожалуйста автоматическую прокрутку лога прошивки в web, мелочь а очень бесит прокручивать на телефоне вниз)

Раздел настройки majestic на каждой вкладке выставить нужные настройки и одной кнопкой применить весь конфиг

В новом интерфейсе настроек majestic появилась проблема, что в каждом разделе настроек необходимо нажимать кнопку сохранить, потом снова переходить в меню -- настройки majestic -- выбирать раздел -- ставить галки\настройки и применять конфигурацию и все по новой для каждого раздела. Тратит много времени если настраивать много камер или если сбрасывать в заводские.

На старом интерфейсе было удобно что открыл окно, проставил все галки\настройки и одной кнопкой нажал применить конфигурацию.

Если очистить поле "шлюз", то сеть пропадает

Здравствуйте.
Заметил баг один на прошивке от 16 июня: если через веб интерфейс в сетевых настройках очистить поле шлюза и сохранить, то невозможно будет подключиться к камере по ip адресу. Сеть пропадает.

Хотя по логике наличие шлюза не обязательно для функционирования камеры в сети.

После сохранения в файле /etc/network/interfaces строка со шлюзом была просто без значения, вот так:
gateway

Применить настройки majestic ломает запуск majestic

В 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
раздел restore
выбираем заранее сохраненый файл
Нажимаем загрузить конфиг и получаем сообщение что нет различий в конфигурации и применять нечего

Отправка на email не срабатывает. Не передается корректно параметр username в скрипте send2email.sh

Прописаны настройки 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 до двоеточия

FTP port number

Port number for ftp transfer from web ui is ignoring, always using port 21.

Нет возможности указать smtp авторизацию в Notify Yucca

Описание

Нет возможности указать 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

Логи и/или скриншоты

image

Версия microbe-web

dev+20e554c, 2022-07-27

Сделать выбор расположения OSD на кадре

Предлагаю сделать выбор через меню в web местоположение OSD в кадре, в следующих стандартных местах:

  1. верхний левый угол
  2. нижний левый угол
  3. правый верхний угол
  4. нижний левый угол
    с регулируемым отступом от края в 15 пикселей.

секция Image не отрабатывает поворот кадра

при включении поворота кадра на 90 градусов в web остаётся 0

micro-web image

при включении поворота перестаёт работать отображение видео
prewiev

возврат поворота кадра в 0 включает изображение с камеры.

Предложение по доработке плагина ZeroTier One

Цель доработки (переработки) избавиться от парсинга конфига сети и перейти на использование команд к демону с ответами в 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 для актуализации информации о подключении.

BUG

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更新脚本无法更新

Реализация многопользовательской работы в веб, разделить роли

Возможность добавить пользователя с правами только на просмотр видеопотока, чтобы возможно было настроить rtsp поток на стороне без раскрытия админского пароля для управления камерой.

Возможность добавить несколько администраторов для управления камерой через веб интерфейс.

По аналогии со стоковой прошивкой, где можно добавить несколько пользователей на камеру. На текущий момент для примера мы создаем отдельную учетную запись с ограниченными правами на просмотр и с ее помощь можем добавить в облако видеопоток, не раскрывая пароль администратора на камеру.

Add GUI for ROI selection in web

Добавьте пожалуйста графический интерфейс для настройки 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

[request] zerotier-one plugin

Сервис присутствует только с сборках ultimate, соответственно перед попыткой настройки необходимо проверить fw build или наличие в системе бинаря zerotier-one.

Процесс соединения выглядит следующим образом:

  1. Активация демона:
echo "daemon=1" > /etc/zerotier.conf
/etc/init.d/S90zerotier start
  1. Регистрация на сервисе my.zerotier.com и получение 16-ти значного network id (пример: a1cbf4b62a41da0f). Этот шаг делается юзером самостоятельно, но можно каким-то сообщением напомнить ему об этом, типа сходи на https://my.zerotier.com и зарегистрируйся.
  2. На странице плагина вводится network id и жмется кнопка подключения. Подключение выполняется:
zerotier-cli join a1cbf4b62a41da0f

если подключение успешно, в ответ приходит статус:

200 join OK

либо другой код в случае ошибки.

  1. После получения ответа об успехе, в /var/lib/zerotier-one/networks.d/ автоматически формируется конфиг с состоянием подключения (a1cbf4b62a41da0f.conf, где имя - это network id):
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]) и отобразить на странице плагина вместе с успешным состоянием соединения + кнопка отключиться от сети.

  1. Процесс отключения выглядит следующим образом:
zerotier-cli leave a1cbf4b62a41da0f

если отключение успешно, в ответ приходит статус:

200 leave OK

конфиги состояния из /var/lib/zerotier-one/networks.d/ удаляются автоматически при выходе из сети, пользователя необходимо вернуть на изначальную страницу ввода network id.

  1. При сбросе настроек (Reset) необходимо делать выход из сети (zerotier-cli leave nwid), остановку сервиса, (/etc/init.d/S90zerotier stop или killall zerotier-one) и деактивацию демона (echo "daemon=0" > /etc/zerotier.conf)

Размер пакета и количество пингов по умолчанию

Monitoring Tools:

Oops. Something happened.

ping -c 15 -s 1500 4.2.2.1

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.

master+4b21bac, 2022-06-16 баги

Основной и очень неприятный момент - не восстанавливается конфигурация из сохраненного ранее конфига.
2022-06-17_10-49-48
Второй баг - пропала настройка логина-пароля для rtsp, добавленная в предыдущей dev-версии
2022-06-17_10-50-58

focus control buttons

Добавьте пожалуйста кнопки управления фокусом, спасибо
Выделение_226
.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.