Dushnilin
26431f50d3
feat: per-section MAC/DNS exclusions, boot latency sweep, WDTT/OlcRTC providers, DNS hijack socket collision fix
...
Features:
- Per-Section MAC Exclusions: nft, generator_routes, section.js, i18n
- Per-Section Routed DNS: connections, generator_routes, nft, validator,
types.ts, section.js, state.uc, reload.uc
- Boot Latency Sweep: ui.uc latency boot sweep with fixture dispatchers
- WDTT provider: full backend (common, validator, runtime), sing-box
outbound, diagnostics, component install, updater, i18n, section.js UI
- OlcRTC provider: full backend (common, validator, runtime), sing-box
outbound, diagnostics, component install, updater, i18n, section.js UI
- WireGuard-over-TURN tunnel (WDTT) and TCP-over-WebRTC tunnel (OlcRTC)
as sidecar processes with local SOCKS5, routed through sing-box outbound
Bug fixes:
- route.uc: restrict hijack-dns to local DNS inbounds only (dns-in,
source-dns-in, dns-health-*) — fixes socket collision between sing-box
and dnsmasq on port 53 via SO_REUSEADDR transparent write-back sockets
- runtime.uc: add Port 53 socket collision diagnostic with auto-fix
(sing-box restart to clear parasitic UNCONN sockets with Recv-Q)
- runtime.uc: add dnsmasq dns_redirect check with auto-fix — disables
firewall4 DNAT that causes TProxy to rewrite destination to router :53
- failover.uc: add wdtt/olcrtc to failover candidate actions
- telegram.uc: show WDTT/OlcRTC installed status in /info
Tests: 135/155 shell + 591/591 frontend
2026-09-11 18:04:03 +03:00
Dushnilin
0f6561ad57
fix(migration,dns,ui): restore domain suffix matching, fix comma split, bypass AdGuardHome on 53, and support AWG detours
2026-09-10 09:43:00 +03:00
Dushnilin
b51809c81d
feat: add DoH blocking, subscription keyword filtering, bulk proxy text inputs, and insecure TLS flag
2026-09-09 22:36:12 +03:00
Dushnilin
dd6b877adb
feat: поддержка AmneziaWG 3.1, keepalive ranges, безопасный ruleset HTTP client и Source-Aware DNS
2026-09-07 10:14:12 +03:00
Dushnilin
85df236727
feat: автоопределение low-RAM роутеров и zram-swap, парсинг @ в URL query и устойчивость к отключенному IPv6
2026-09-06 14:31:45 +03:00
Dushnilin
fd79c4e317
feat: поддержка HTTP/HTTPS прокси ( #45 ), комплексная доработка деинсталляции и отката конфигурации (1.3.22)
2026-09-06 14:12:27 +03:00
Dushnilin
b69ebf32f5
fix(awg): dual-schema AWG 3.1 for extended 2.7.0 & lx, add ru translations
2026-09-05 12:12:01 +03:00
Dushnilin
a4a757223f
fix(awg): support AmneziaWG 2.0/3.0/3.1, fix WARP generator safety & update release 1.3.20
2026-09-05 12:00:14 +03:00
Dushnilin
4c69a98c27
fix(singbox): fix Leadaxe (lx) version parsing regex and AWG startup on OpenWrt
...
- In action.uc: replace broken PCRE non-capturing regex in extract_sing_box_version_from_output with token-based field splitting. ucode POSIX regex engine threw 'Repetition not preceded by valid expression', crashing component_action during binary validation.
- In telegram.uc: replace non-capturing group (?:outbounds|server|servers) with standard capturing group for POSIX regex compatibility.
- In generator_outbounds.uc and servers.uc: enhance is_lx detection to check sing-box-version file in addition to sing-box-variant, ensuring AWG 2.0 root schema is generated even if variant file is desynced.
- In runtime.uc: add fallback recovery in sing_box_check retry loop for endpoints (auto-flattening amnezia sub-objects) and outbounds unknown fields.
2026-09-03 21:11:00 +03:00
Dushnilin
43eafd8655
fix(singbox): filter dummy subscription nodes and handle empty binary rulesets on boot
2026-09-03 06:26:39 +03:00
Dushnilin
4a46d78e60
fix(singbox): restore strict unusable outbounds rejection while preserving country filter fallback
2026-09-02 16:52:00 +03:00
Dushnilin
e8932d3f2d
fix(core): prevent ruleset download_detour crash, resilient selector fallback, and clean legacy migration
2026-09-02 16:49:10 +03:00
Dushnilin
7da51a62d7
fix(singbox): AWG-джанк в тегах и MTProto-секрет
...
- i1–i5/j1–j3: классический hex конвертируется в теги <b 0x…>;
userspace WireGuard extended/lx молча игнорирует голый hex,
handshake не завершался (#39 #41 #42 )
- j1/j2/j3/itime эмитятся только для extended ≤2.6.0: в 2.6.1+
поля удалены из схемы, sing-box падает на unknown fields
- j1–j3 больше не ломаются uci_bin_to_hex
- h1–h4: диапазоны «min-max» на обеих ветках
- MTProto: секрет канонизируется в ee-hex из любой формы
(hex/base64), валидатор даёт понятную ошибку вместо
FATAL decode psk (#23 )
- XHTTP v2: парсинг и экспорт ключей подписок
- валидатор: warp/masque/openvpn/snell/mieru/sudoku — только extended
- тесты: stat→ucode (busybox), раннеры исключены из E2E,
новые server_mtproto.sh и awg_variant_schema.sh
2026-08-24 10:13:33 +03:00
Dushnilin
c5bd7ce197
fix(dashboard): отображение AmneziaWG вместо WireGuard, отображение пинга на карточках соединений и фикс генератора WARP
2026-08-21 10:37:27 +03:00
Dushnilin
4094a41b5d
de-AI: remove AI comments and boolean theater across TypeScript + ucode
2026-08-19 18:15:35 +03:00
Dushnilin
131d8ea8c5
feat(awg): add j1-j3 and itime support for sing-box-extended v1.13.16-extended-2.6.0
2026-08-06 16:57:34 +03:00
Dushnilin
448267335b
feat: добавлена поддержка TUIC протокола и DNS over QUIC (DoQ) с ECH
2026-07-31 16:49:55 +03:00
Dushnilin
e8fa171644
fix(protocols): WARP mtu=1280, AnyTLS SNI fallback to server, OpenVPN server validation
2026-07-28 10:47:01 +03:00
Dushnilin
d2cb9d9e43
fix(awg): harden AmneziaWG validation, auto-convert plaintext headers to hex, and enforce optimal MTU/keepalive defaults
2026-07-28 09:22:54 +03:00
Dushnilin
e936f39b53
fix(singbox): strip <b prefix from binary UCI buffer strings in uci_bin_to_hex
2026-07-28 01:02:28 +03:00
Dushnilin
1409b6ed3d
Рефакторинг и оптимизация Tachyon: модульный генератор sing-box, атомарная запись файлов, graceful shutdown в watchdog, ускорение nftables, доработка трассировщика правил и локализация
2026-07-23 10:07:15 +03:00