Enable VibeChat UTUN service and package the Wintun driver
Add a settings button to open the current config in an external editor. Wait for core, UTUN and chat startup before reporting readiness; verify startup failures and restarts. Include Wintun DLL and license notices in Windows builds and installers.
This commit is contained in:
1 parent
bdb6bf80a4
commit
ffe563bb9f
13 files changed
+253
-26
No files matched your search
@@ -22,11 +22,33 @@ utun_instance_destroy(inst);
|
||||
```
|
||||
|
||||
`utun_instance_init()` — сокращение для запуска ядра, UTUN и чата, если чат включён
|
||||
в конфигурации. Desktop GUI и Android запускают ядро и чат явно, без UTUN.
|
||||
в конфигурации. Desktop GUI запускает ядро, UTUN и чат явно; TUN создаётся при
|
||||
`[global] tun_enabled=yes`. Без TUN и NAT запуск чата не требует прав администратора.
|
||||
Desktop подтверждает start только после готовности всех сервисов и uasync poll;
|
||||
ошибка TUN откатывает запуск и возвращается в GUI. Android запускает ядро и чат без UTUN.
|
||||
Повторный start работающего сервиса и повторный stop допустимы. Ошибка старта
|
||||
сервиса откатывает созданные им ресурсы. `utun_instance_stop()` останавливает цикл
|
||||
приложения; освобождение ядра выполняет `utun_instance_destroy()`.
|
||||
|
||||
Для TUN в desktop `vibechat.cfg` задаются те же параметры, что и у CLI:
|
||||
|
||||
```ini
|
||||
[global]
|
||||
tun_enabled=yes
|
||||
tun_ifname=vibechat
|
||||
tun_ip=10.42.0.1
|
||||
|
||||
[routing]
|
||||
my_subnet=10.42.0.1/32
|
||||
route_subnet=10.42.0.0/24
|
||||
```
|
||||
|
||||
Адреса и маршруты выбираются под свою сеть; изменения применяются после перезапуска.
|
||||
На Windows нужна `wintun.dll` рядом с `vibechat.exe` и запуск с правами администратора.
|
||||
CMake копирует DLL и лицензии из `lib/`; Windows-упаковка явно включает DLL, проверяет
|
||||
её архитектуру x64 и зависимости, поскольку `LoadLibrary` не отражается в импортах EXE.
|
||||
На Linux необходимы доступ к `/dev/net/tun` и права на настройку интерфейса и маршрутов.
|
||||
|
||||
Успех запуска требует успешной инициализации всех обязательных ресурсов: заданных
|
||||
listen-сокетов, мониторинга, TUN и всех `route_subnet` при включённом TUN. Частичный
|
||||
набор сокетов или маршрутов — ошибка запуска. `utun_started` устанавливается только
|
||||
|
||||
Reference in new issue
Block a user