feat(run): sync UltraVNC password from run.bat + clearer noVNC errors
- run.bat: call scripts/ensure-vnc-password.ps1 so the password typed once also sets the UltraVNC service VNC password (UAC only when it differs); skip --spawn when 5900 is already taken (don't launch a 2nd winvnc). - scripts/ensure-vnc-password.ps1: new - compares the password against %ProgramData%\UltraVNC\ultravnc.ini (reverse-engineered UltraVNC DES obfuscation) and only writes+restarts the service when it differs. - scripts/set-vnc-password.bat: set UltraVNC service VNC password as admin (createpassword/setpasswd + verify, GUI fallback). Manual fallback. - internal/server/static/vnc.html: don't let the generic 'disconnect' banner overwrite the specific 'securityfailure' reason (noVNC's disconnect event has no reason field, so it always said 'unknown'). - AGENTS.md: document the above (scripts, run.bat, UltraVNC service note).
This commit is contained in:
@@ -63,7 +63,9 @@ scripts/get-novnc.{ps1,sh} скачать noVNC
|
||||
scripts/get-vnc.ps1 скачать портативный UltraVNC в vnc/ (с верификацией zip)
|
||||
scripts/list-ips.ps1 список IPv4 машины (используется run.bat)
|
||||
scripts/open-firewall.bat открыть порт 8080 в Windows Firewall (от админа)
|
||||
run.bat запуск в один клик (спрашивает только пароль)
|
||||
scripts/set-vnc-password.bat задать VNC-пароль сервису UltraVNC (от админа; без него noVNC получает authentication rejected)
|
||||
scripts/ensure-vnc-password.ps1 синхронизирует VNC-пароль UltraVNC с паролем из run.bat (пишет только при несовпадении; UAC только при смене) — вызывается из run.bat
|
||||
run.bat запуск в один клик (спрашивает только пароль); синхронизирует VNC-пароль UltraVNC с введённым (см. ensure-vnc-password.ps1); если 5900 уже занят (сервис UltraVNC) — не порождает второй VNC-сервер, а подключается к существующему
|
||||
```
|
||||
|
||||
## Соглашения и подводные камни
|
||||
@@ -95,4 +97,10 @@ run.bat запуск в один клик (спрашивае
|
||||
`get-vnc.ps1` теперь верифицирует zip-магию и даёт фолбэк на ручную установку).
|
||||
- На Windows захват экрана может требовать запуск VNC-сервера от администратора.
|
||||
- VNC-сервер требует свой пароль; `--vnc-password` передаёт его noVNC
|
||||
автоматически, но пароль VNC-сервера нужно один раз настроить под тот же.
|
||||
автоматически, но пароль VNC-сервера нужно один раз настроить под тот же.
|
||||
**UltraVNC как сервис (`uvnc_service`, LocalSystem):** пароль хранится в
|
||||
`%ProgramData%\UltraVNC\ultravnc.ini`; задать его обычным пользователем через
|
||||
tray-иконку молча не получается (нет прав на запись).
|
||||
`run.bat` синхронизирует этот пароль сам через `scripts/ensure-vnc-password.ps1`
|
||||
(пишет только при несовпадении, UAC только при смене; вручную — `scripts/set-vnc-password.bat` от админа). VNC-пароль = первые 8 байт,
|
||||
поэтому используй ASCII-пароль <= 8 символов и там, и в `run.bat`.
|
||||
|
||||
Reference in New Issue
Block a user