chatgui-android: auto_sockets=android — сокеты из конфига, лёгкое обновление без полного рестарта

- auto_sockets три-режимный: off/system/android; android берёт сокеты из [server] конфига
- auto_socket_reload_config: reconcile сокетов (remove→create) по имени+addr:port, сохранение портов
- etcp_create_server_socket вынесен из init_sockets; stcp_server_list_find_by_sock
- instance_lite_update_sockets + JNI nativeUpdateSockets + NativeLib.updateSockets
- NetworkChangeMonitor: updateSockets вместо restart; порты сохраняются при смене сети
This commit is contained in:
evgeny committed 2026-09-09 17:34:46 +03:00
1 parent c474c37284
commit 5b31a765c2
15 files changed
+266 -46

No files matched your search

+7 -1
View File
@@ -29,6 +29,12 @@ struct IP {
#define CFG_SERVER_TYPE_PRIVATE 3
#define CFG_SERVER_TYPE_LOCAL 4
/* Режимы auto_sockets: OFF — ручные [server]; SYSTEM — авто-сокеты из системных
* интерфейсов; ANDROID — авто-сокеты из [server] секций конфига (генерирует Kotlin). */
#define CFG_AUTO_SOCKETS_OFF 0
#define CFG_AUTO_SOCKETS_SYSTEM 1
#define CFG_AUTO_SOCKETS_ANDROID 2
#define CFG_IPV6_MODE_NONE 0 // normal explicit address
#define CFG_IPV6_MODE_TEMPORARY 1 // temporary IPv6 from interface
#define CFG_IPV6_MODE_PERMANENT 2 // permanent IPv6 from interface
@@ -189,7 +195,7 @@ struct global_config {
// TCP proxy server (exit node) configuration ([tcp_proxy_server] section)
int tcp_proxy_server_enabled;
int auto_sockets; // 1 = auto-create sockets from interfaces, skip [server]
int auto_sockets; // CFG_AUTO_SOCKETS_*: OFF/SYSTEM/ANDROID (см. константы ниже)
int auto_socket_skip_no_default_route; // 1 = в авто-режиме не создавать сокеты на интерфейсах без default-маршрута
int tcp_recv_buf; // SO_RCVBUF для TCP сокетов (0=default ОС)
int tcp_proxy_server_fib; // FreeBSD SO_SETFIB, 0=не менять