OpenIPC / webui

OpenIPC web interface.
https://openipc.org
MIT License
45 stars 41 forks source link

Некорректная работа скрипта обновления WEBUI #251

Open bykidi opened 8 months ago

bykidi commented 8 months ago

Сабж: уже не в первый раз заметил аномальное поведение камер при обновлении веб-интерфейса. Те камеры, которые были сброшены до заводских настроек посредством затирания overlay и затем повторно обновлены на крайнюю версию web ui получали все обновления верно. Другие камеры, которые были просто обновлены без сброса получали абсолютно разные симптомы: где-то отличались наименования пунктов меню, где-то отсутствовали пункты меню. Сегодня при обновлении gk7205v300 до гуя с коммитом #8a020e2 (с целью проверить работу фикса #245) заметил что при попытке сброса overlay через веб-интерфейс в логе есть ошибка с невозможностью найти такую команду как sysupgrade. Проделал данную операцию по ssh, а затем снова обновил веб до крайней dev версии и перенастроил камеру заново. На той же версии веб-интерфейса замечены отличия: теперь по нажатию на дату и время есть гиперссылка, чего ранее не было на том же коммите. изображение изображение

От типа камеры не зависит, но подобные проблемы проявлялись на подобных камерах: gk7205v300 (gk7205v200 family), imx335, 16 MB nor flash hi3516cv300 (hi3516cv300 family), imx323, 16 MB nor flash.

bykidi commented 8 months ago

Что ещё заметил: С момента релиза 2.4 на странице камер некорректно отображалась крайняя версия прошивки на github'е: изображение изображение

А теперь тоже самое, но на камере, где был проделан reset overlay -> update web ui (dev) изображение изображение

bykidi commented 8 months ago

Лог обновления на соседней камере, где всё ещё проявляется проблема

[root@cam2_garage /tmp]# /usr/sbin/updatewebui.sh -f -v -b dev

RESULT: 
RESULT: 
Copy newer files from /tmp/tmp.eFikfp/microbe-web-dev/files to web directory
find: /tmp/tmp.eFikfp/microbe-web-dev/files: No such file or directory
Remove absent files from overlay
diff: can't stat '/tmp/tmp.eFikfp/microbe-web-dev/files/var/www': No such file or directory
Delete bundle
removed '/tmp/tmp.ebeKOl'
Delete temp directory
removed '/tmp/tmp.eFikfp/webui-dev/wirebox/preview-video.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/wirebox/plugin-ipeye.cgi'
removed directory: '/tmp/tmp.eFikfp/webui-dev/wirebox'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/wait.html'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/majestic/index.html'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/var/www/majestic'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/index.html'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/favicon.ico'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/webui.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/webui-update.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/webui-settings.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/users.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/tools.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/time-config.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/texteditor.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/status.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/ssh-keys.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/sensor.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/send.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/sdcard.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/restore.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/reset.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/reboot.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/preview.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-zerotier.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-vtun.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-telegrambot.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-send2yadisk.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-send2webhook.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-send2telegram.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-send2openwall.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-send2mqtt.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-send2ftp.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-send2email.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-playonspeaker.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/plugin-motion.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/p/reset-firmware.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/p/mj.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/p/mac-address.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/p/locale_en.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/p/icons.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/p/header.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/p/footer.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/p/common.cgi'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/p'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/network.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/network-socks5.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/majestic.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/majestic-settings.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/majestic-endpoints.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/majestic-config-compare.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/majestic-config-actions.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/j/sync-time.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/j/run.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/j/reset-ntp.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/j/night.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/j/irled.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/j/ircut.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/j/imp.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/j/heartbeat.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/j/color.cgi'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/j'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-top.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-proc-umap.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-overlay.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-netstat.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-modules.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-majestic.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-log.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-ipctool.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-imp.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-httpd.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-dmesg.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/info-cron.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/imp-config.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/image.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/firmware.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/firmware-upload-parts.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/firmware-update.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/firmware-reset.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/file-manager.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/dl2.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/dl.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/debugging.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/console.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/config.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/config-light.cgi'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin/admin.cgi'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/var/www/cgi-bin'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/tz.js.gz'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/transparency.svg'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/telegram.svg.gz'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/shadows.svg'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/palette.svg'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/palette-fill.svg'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/main.js'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/logo.svg.gz'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/logo-ipeye.webp'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/light-on.svg.gz'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/light-on.svg'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/light-off.svg.gz'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/ir940.svg'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/ir850.svg'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/imp-config.js'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/github.svg.gz'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/gear.svg.gz'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/favicon.png'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/chevron-compact-up.svg'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/chevron-compact-down.svg'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/bootstrap.override.css'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/bootstrap.min.css.gz'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/bootstrap.bundle.min.js.gz'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/SMPTE_Color_Bars_16x9.svg.gz'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/a/SMPTE_Color_Bars.svg.gz'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/var/www/a'
removed '/tmp/tmp.eFikfp/webui-dev/files/var/www/401.html'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/var/www'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/var'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/updatewebui.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/updatemajestic.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/telegram-bot.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/snapshot4cron.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/setnetiface.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/sendcoredump.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/send2yadisk.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/send2webhook.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/send2telegram.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/send2pastebin.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/send2openwall.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/send2mqtt.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/send2ftp.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/send2email.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/playonspeaker.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/motion.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/irled.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/ircut.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/imp-control.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/daynight.sh'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/common-plugins'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/common'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin/color.sh'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/usr/sbin'
removed '/tmp/tmp.eFikfp/webui-dev/files/usr/lib/libimp_control.so'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/usr/lib'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/usr'
removed '/tmp/tmp.eFikfp/webui-dev/files/etc/init.d/S93telegrambot'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/etc/init.d'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files/etc'
removed directory: '/tmp/tmp.eFikfp/webui-dev/files'
removed '/tmp/tmp.eFikfp/webui-dev/dev/devstrap.sh'
removed '/tmp/tmp.eFikfp/webui-dev/dev/css/main.scss'
removed directory: '/tmp/tmp.eFikfp/webui-dev/dev/css'
removed directory: '/tmp/tmp.eFikfp/webui-dev/dev'
removed '/tmp/tmp.eFikfp/webui-dev/README.md'
removed '/tmp/tmp.eFikfp/webui-dev/LICENSE'
removed '/tmp/tmp.eFikfp/webui-dev/.gitignore'
removed '/tmp/tmp.eFikfp/webui-dev/.gitattributes'
removed directory: '/tmp/tmp.eFikfp/webui-dev'
removed directory: '/tmp/tmp.eFikfp'
removed '/tmp/sysinfo.txt'
Done.
[root@cam2_garage /tmp]# 

--- finished ---
flyrouter commented 8 months ago

Не используйте отдельную установку WebUI на камерах. При обновлении прошивки, WebUI сам автоматически обновится до последней стабильной версии на момент сборки прошивки. В противном случае вы рискуете получить то, что WebUI будет опережать или запаздывать относительно Firmware. Ведь один раз установив WebUI в оверлей, вам будет нужно его поддерживать в актуальном состоянии, т.к. то что будет находится в прошивке обновления системы не будет иметь приоритета. Лично я на одном устройстве на столе держу WebUI всегда с обновлениями, в т.ч и dev для экспериментов, но на установленных в работу камерах использую то, что внутри прошивки.

bykidi commented 8 months ago

возможно, я плохо объяснился. проблема опережения или отставания понятна. если уж прыгнул на отдельную ветку web ui - будь так добр, своевременно поддерживать или не прыгать вовсе.

у меня проблема заключается в том, что при обновлении web ui с какого-то из предыдущих билдов на новый (тот же dev канал) я не вижу новых изменений в web ui. при этом, если overlay затереть (сделать его build-included) и уже с него обновиться на dev - изменения отражаются корректно. в случае некорректного обновления попросту поднимается версия самого web ui на странице cgi-bin/webui.cgi