refactor: move user-facing scripts to repo root; fix set-password ordering
- install-autostart.bat, uninstall-autostart.bat, restart-autostart.bat, open-firewall.bat moved from scripts/ to the repo root (next to run.bat and set-password.bat). Internal helpers (autostart-run.bat, ensure-vnc-password.ps1, get-novnc.*, get-vnc.ps1, list-ips.ps1) stay in scripts/. autostart-run.bat is kept in scripts/ because the scheduled task /TR points at it; moving it would break already-installed tasks. - Updated all references (set-password.bat, run.bat, install/restart-autostart.bat, AGENTS.md, README.md). - set-password.bat: write webvnc.conf BEFORE the UltraVNC sync so the web password is configured even if ensure-vnc-password.ps1 fails / its UAC is dismissed (previously 'Password is not configured' from install-autostart.bat when the sync blocked before conf was written). - AGENTS.md / README.md structure + autostart sections updated for the new layout.
This commit is contained in:
@@ -27,9 +27,10 @@ gateway без запросов.
|
||||
```bat
|
||||
set-password.bat
|
||||
```
|
||||
Спросит пароль доступа, синхронизирует им пароль UltraVNC-сервиса
|
||||
(`scripts\ensure-vnc-password.ps1`, UAC только при смене), сгенерирует хэш и
|
||||
сохранит его вместе с паролем в `webvnc.conf` (секрет, в git не коммитится).
|
||||
Спросит пароль доступа, сгенерирует хэш и сохранит его вместе с паролем в
|
||||
`webvnc.conf` (секрет, в git не коммитится), а затем синхронизирует им пароль
|
||||
UltraVNC-сервиса (`scripts\ensure-vnc-password.ps1`, UAC только при смене).
|
||||
Веб-пароль оказывается настроен, даже если синк UltraVNC упадёт или UAC отменят.
|
||||
Используйте ASCII-пароль длиной до 8 символов (VNC-пароль = первые 8 байт).
|
||||
|
||||
2. **Запустите gateway**:
|
||||
@@ -50,17 +51,17 @@ gateway без запросов.
|
||||
|
||||
```bat
|
||||
set-password.bat :: один раз: пароль -> webvnc.conf
|
||||
scripts\install-autostart.bat :: один раз (от админа): плановое задание «web-vnc»
|
||||
install-autostart.bat :: один раз (от админа): плановое задание «web-vnc»
|
||||
```
|
||||
`install-autostart.bat` регистрирует через `schtasks` задание (`ONSTART`, `SYSTEM`,
|
||||
`HIGHEST`), которое при загрузке запускает `scripts\autostart-run.bat` —
|
||||
неинтерактивный launcher, читающий `webvnc.conf` и не качающий ничего на старте.
|
||||
Запустить сразу без перезагрузки: `schtasks /Run /TN "web-vnc"`.
|
||||
Снять автостарт: `scripts\uninstall-autostart.bat` (от админа).
|
||||
Снять автостарт: `uninstall-autostart.bat` (от админа).
|
||||
|
||||
**Смена пароля:** `web-vnc.exe` читает пароль из `webvnc.conf` только при старте и не
|
||||
перечитывает его в runtime. Поэтому `set-password.bat` (если задание «web-vnc» установлено)
|
||||
перезапускает его через `scripts\restart-autostart.bat` (с elevation) — тот проверяет,
|
||||
перезапускает его через `restart-autostart.bat` (с elevation) — тот проверяет,
|
||||
запущен ли `web-vnc.exe` (если да — стоп + старт, если нет — только старт). Рестарт
|
||||
пропускается, если пароль не изменился. Для интерактивного `run.bat` просто перезапустите
|
||||
его вручную.
|
||||
@@ -190,7 +191,7 @@ web-vnc --gen-hash "ваш-пароль"
|
||||
По умолчанию Windows Firewall блокирует входящие подключения. Один раз
|
||||
выполните от имени администратора:
|
||||
```bat
|
||||
scripts\open-firewall.bat
|
||||
open-firewall.bat
|
||||
```
|
||||
Это откроет входящий TCP-порт 8080. (`run.bat` выводит адреса и подсказку.)
|
||||
|
||||
@@ -206,17 +207,22 @@ internal/relay WebSocket на stdlib (RFC 6455) + мост WS↔TCP
|
||||
internal/vncspawner кросс-ОС поиск и запуск VNC-сервера
|
||||
internal/server HTTP-роуты, middleware сессии, встроенная статика
|
||||
internal/server/static встроенные веб-ассеты (vnc.html + core/app/vendor noVNC)
|
||||
|
||||
Пользовательские точки входа — в корне репозитория:
|
||||
run.bat интерактивный запуск: собирает бинарник/noVNC/VNC, читает пароль из webvnc.conf (не спрашивает)
|
||||
set-password.bat разовая настройка пароля -> webvnc.conf (хэш + VNC-пароль); синхронизирует UltraVNC
|
||||
install-autostart.bat автостарт при загрузке ОС (schtasks ONSTART/SYSTEM) — от админа
|
||||
uninstall-autostart.bat снять автостарт — от админа
|
||||
restart-autostart.bat перезапустить задание «web-vnc» (чтобы применить новый пароль) — от админа
|
||||
open-firewall.bat открыть порт 8080 в Windows Firewall (один раз, от админа)
|
||||
webvnc.conf секрет: HASH= + VNC_PASSWORD= (создаётся set-password.bat, gitignored)
|
||||
|
||||
Внутренние помощники — в scripts/ (вызываются другими скриптами):
|
||||
scripts/autostart-run.bat неинтерактивный launcher для автостарта (читает webvnc.conf)
|
||||
scripts/ensure-vnc-password.ps1 синхронизирует VNC-пароль UltraVNC (вызывается из set-password.bat)
|
||||
scripts/get-novnc.{ps1,sh} скачать noVNC во встроенную статику
|
||||
scripts/get-vnc.ps1 скачать портативный VNC-сервер (UltraVNC) в папку vnc/
|
||||
scripts/list-ips.ps1 список IPv4 машины (используется run.bat)
|
||||
scripts/open-firewall.bat открыть порт 8080 в Windows Firewall (один раз, от админа)
|
||||
run.bat интерактивный запуск: собирает бинарник/noVNC/VNC, читает пароль из webvnc.conf (не спрашивает)
|
||||
set-password.bat разовая настройка пароля -> webvnc.conf (хэш + VNC-пароль); синхронизирует UltraVNC
|
||||
webvnc.conf секрет: HASH= + VNC_PASSWORD= (создаётся set-password.bat, gitignored)
|
||||
scripts/autostart-run.bat неинтерактивный launcher для автостарта (читает webvnc.conf)
|
||||
scripts/install-autostart.bat автостарт при загрузке ОС (schtasks ONSTART/SYSTEM) — от админа
|
||||
scripts/uninstall-autostart.bat снять автостарт — от админа
|
||||
scripts/restart-autostart.bat перезапустить задание «web-vnc» (чтобы применить новый пароль) — от админа
|
||||
```
|
||||
|
||||
## Кросс-компиляция под другую ОС
|
||||
|
||||
Reference in New Issue
Block a user