Dushnilin
383b426e46
feat: локализация исключений GeoIP по секциям и мониторинг памяти DNS-кэша dnsmasq
2026-09-17 20:48:14 +03:00
Dushnilin
623ea59797
feat: гармонизация секции AWG в дашборде и изоляция маршрутизации FPTN
2026-09-17 19:42:54 +03:00
Dushnilin
44e93b1f16
fix(test): restore CACHE and RUNTIME module paths in subscription_happ_crypt4 test
2026-09-17 18:55:51 +03:00
Dushnilin
5f3b3eb77b
fix(test): make crypt4 test resilient without openssl CLI and add openssl-util to docker e2e
2026-09-17 18:44:22 +03:00
Dushnilin
bf4255438f
release: 1.3.29 — Happ Crypt4 decryption, dual HWID headers, P2P isolation fix & diagnostic symptom collapsing
2026-09-17 18:26:35 +03:00
Dushnilin
e2c90ed6ea
fix(singbox): fix p2p isolation rule matching for transport network and port directions
2026-09-17 18:17:44 +03:00
Dushnilin
b556f2539b
feat(subscription): add crypt4 decryption, dual HWID headers, and diagnosis symptom collapsing
2026-09-17 18:04:23 +03:00
Dushnilin
e610ea9ca3
fix(installer): use core.common in runtime healthcheck and fix CLI guard in ucode modules
2026-09-17 15:45:50 +03:00
Dushnilin
a27173a04a
fix(singbox): prevent empty logical subrules when excluding IPs on evaluate and match-all rules ( #60 )
2026-09-17 14:53:12 +03:00
Dushnilin
2ab4e0db74
fix(subscription): auto fallback on unsupported app provider stubs
2026-09-17 14:39:47 +03:00
Dushnilin
5bfe7103dc
fix(updates): trigger immediate telegram push on component updates and fix cron cleanup regex
Backend CI / Backend Runtime Checks (push) Failing after 2m0s
Frontend CI / Frontend Quality Checks (push) Failing after 0s
Backend CI / OpenWrt Docker E2E (push) Skipped
Differential ShellCheck / Differential ShellCheck (push) Failing after 15s
2026-09-17 13:43:51 +03:00
Dushnilin
8d60bd36ef
fix(install): increase service start timeout from 30s to 120s to allow full provider startup
2026-09-17 13:16:58 +03:00
Dushnilin
37d8c6b19e
fix(install): use exact package matching for apk to avoid false legacy migration warning
2026-09-17 12:58:08 +03:00
Dushnilin
fcb40ee512
fix(install): define command_success in embedded ucode helper
2026-09-17 12:45:06 +03:00
Dushnilin
df61efce80
fix(singbox): allow routed DNS on bypass sections and hide proxy group outbounds in urltest
2026-09-17 12:35:14 +03:00
Dushnilin
5df1124ee8
fix(apk): sanitize orphaned sing-box packages in apk world and add force-overwrite
2026-09-17 11:16:28 +03:00
Dushnilin
287a8f8e0c
fix(singbox): resolve 1.14.1 DNS deprecation, store_rdrc, ruleset download_detour, and provider routing isolation
2026-09-17 10:46:04 +03:00
Dushnilin
0efa47abdc
fix(dns): preserve 127.0.0.42 during restart and add local DNS cache support
...
- decouple restart() from stop_impl() in lifecycle.uc to avoid premature dnsmasq_restore
- keep dhcp.@dnsmasq[0].server locked to 127.0.0.42 throughout service restarts
- add atomic restart_service hooks in init.d/tachyon and initd.uc
- fix dns_turbo_cache path resolution to promote default cache to /etc/sing-box/cache.db
- add Local DNS Cache support in dnsmasq (dns_local_cache, dns_cache_size)
- add comprehensive behavioral regression test tests/service_restart_lifecycle.sh
2026-09-17 08:45:24 +03:00
Dushnilin
44a1777c0d
fix(singbox): separate dns query and response rulesets for sing-box 1.14+ compatibility
2026-09-17 08:13:11 +03:00
Dushnilin
67761143f5
test(predicates): restore list update signature parity & update plain list validation assertions
2026-09-16 22:54:34 +03:00
Dushnilin
61c01109ad
feat(rulesets): add native plain list (.lst/.txt) download and compilation in rule_set & fix OlcRTC/WDTT status
2026-09-16 22:41:52 +03:00
Dushnilin
5eeaa91864
fix: resolve zapret2 fuzzer daemon startup, premature self-update completion, and component visibility cache
2026-09-16 19:54:36 +03:00
Dushnilin
0f5967e51c
fix(routing): scope excluded_ips to section rules, humanize section names, and add component visibility
2026-09-16 16:16:32 +03:00
Dushnilin
94d629b8bb
chore(i18n): update translation call index and synchronize po templates
2026-09-16 15:20:15 +03:00
Dushnilin
3834b783cc
fix(diagnostics): prevent tunnel IP pollution in WAN addresses and exempt Tailscale inbounds from public WAN warning
2026-09-16 10:07:09 +03:00
Dushnilin
4d6892e733
fix: resolve dashboard tile unselection, fuzzer probe parsing and complete translations
2026-09-16 09:45:06 +03:00
Dushnilin
86d6e92ce7
chore: actualize locales and extract translation calls
2026-09-16 08:37:05 +03:00
Dushnilin
6978601d4d
fix: resolve Discord Cloudflare voice ports #55 , smart detect proxy sections #56 , and UI enhancements
2026-09-15 19:15:57 +03:00
Dushnilin
046902d4e9
chore(i18n): update translation call index and locale templates
2026-09-15 15:08:49 +03:00
Dushnilin
603c0df91b
feat(security,ci,ui): harden CI/CD, LuCI ACL, low-space updates and mobile layout
...
- ci: make frontend CI read-only with strict diff check and deterministic calls.json
- ci: pin external GitHub Actions in workflows to immutable commit SHAs
- ci: add openwrt-e2e blocking gate job running docker_e2e_test.sh
- fix(diagnostic): fix contstants.ts typo and update all 13 import sites
- fix(acl): remove unused /bin/busybox exec from rpcd ACL and add regression test
- feat(updates): add low-space update fallback when creating sing-box.old is impossible
- fix(routes): preserve dedicated Discord gateway subnets (162.159.128.0/21)
- feat(ui): implement responsive auto-fit grid and mobile modal viewport bounds
- test: add viewport regression test suite in vitest
2026-09-14 23:00:18 +03:00
Dushnilin
7375e26b44
fix(qos): harmonize SQM and CAKE cooperation, resolve bufferbloat degradation
2026-09-14 17:03:45 +03:00
Dushnilin
4af55ebed3
fix(i18n): restore leak check modal, QoS DSCP, and domain validation translations
2026-09-14 14:20:42 +03:00
Dushnilin
22ec19b49b
fix(watchdog): eliminate WAN false alarms on bridge/Tailscale and restore domain/subnet lists (.lst/.txt)
2026-09-13 20:47:22 +03:00
Dushnilin
70bb7280c1
fix(fuzzer): eliminate fuzzer hangs, preserve DNS flags, and optimize probing performance
2026-09-13 10:03:56 +03:00
Dushnilin
0fe76b261a
fix(leak_check): eliminate false leak alarms, strip technical jargon, and optimize listener probe
2026-09-12 17:25:44 +03:00
Dushnilin
0ea1c73832
fix: sanitize Discord community subnets and resolve WAN monitor hotplug spam ( fixes #50 , #51 )
...
- Fix #50 : Discord community subnets hijacking Cloudflare Anycast traffic:
* Filter broad Cloudflare shared subnets (104.16.0.0/12, 172.64.0.0/13, etc.) for Discord preset in generator_routes.uc, nft/apply.uc, and updates.uc.
* Add tachyon resolve_domain CLI and runtime.uc helper for DNS queries with rpcd ACL support.
* Update LuCI Routing Rule Tracer to resolve queried domains against section subnets/CIDRs (including community subnets) and show shared CDN/Anycast warnings.
* Add unit tests in tests/community_subnets_sanitization.sh.
- Fix #51 : Telegram bot spamming WAN up/down notifications on hotplug:
* Check enable_badwan_interface_monitoring, telegram.enabled, and badwan_monitored_interfaces list in 99-tachyon-wan-monitor.
* Add background debounce with atomic directory locking and ubus interface status verification.
* Implement state transition tracking to only notify on actual UP->DOWN and DOWN->UP changes without duplicates.
* Preserve retry_start_on_wan_up behavior on ifup.
* Add comprehensive integration test suite in tests/wan_monitor_hotplug.sh.
2026-09-11 23:07:10 +03:00
Dushnilin
5933fd2f0c
fix: parental control global network block, luci save&apply reload, and fuzzer localization
2026-09-11 22:35:59 +03:00
Dushnilin
94708d8251
fix: resolve MAC routing crash in sing-box, fallback dashboard on secondary nodes, and unify dashboard naming
2026-09-11 20:34:18 +03:00
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
cbae1a87fa
fix(ui): remove emojis from strategy fuzzer and leak test action buttons
2026-09-10 10:18:35 +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
9d7e53f260
chore(i18n): actualize and sync frontend PO/POT localization catalogs
2026-09-09 21:06:30 +03:00
Dushnilin
f2865b4bb2
fix: resolve parental & profile blocklists saving and enforcement, add dashboard support for missing protocols
2026-09-09 20:10:30 +03:00
Dushnilin
e523474631
release: 1.3.24 — тест утечки IP/DNS из роутера, оптимизация запуска списков хостов и локализация
...
- feat(diagnostics): router-level IP & DNS leak detection
* одновременный опрос прямого WAN сокета (SO_MARK 0x08000000) и локального прокси (127.0.0.1:4534)
* выявление утечки реального публичного IP адреса
* тестирование восходящих DNS-резолверов по протоколу bash.ws и обнаружение DNS провайдера
* CLI команды: tachyon leak_check [--pretty], check_ip_leak, check_dns_leak
* LuCI модальное окно с детализированными таблицами изоляции IP и анализа резолверов
- fix(hosts): устранение ложного предупреждения [warn] No hosts list URLs configured
* запуск HOSTS_UC в lifecycle.uc только при наличии активных списков хостов
* hosts.uc возвращает success:true и код 0 без лишних записей в syslog при отсутствии URL
* добавлена проверка has-hosts-list-update-sources в state.uc
- i18n: полная синхронизация русской локализации в каталогах gettext PO/POT
- bump: версия пакета 1.3.24
2026-09-09 17:28:51 +03:00
Dushnilin
625fa1e9b3
fix(guest_mode,telegram): fix guest mode view, translations and bot language switcher
2026-09-08 09:58:43 +03:00
Dushnilin
5539b9701f
fix(singbox): prevent UDP routing to HTTP outbounds ( #45 ) and improve dashboard metadata
...
- Ensure selector and urltest groups require all member outbounds to support UDP
- Add explicit reject rule for UDP on non-UDP outbounds to avoid sing-box router log spam
- Add http/s:// to connection URL description in LuCI settings and update localization
- Display transport protocol badges on dashboard outbound cards and modal rows
- Deduplicate and collapse UDP routing error lines in telegram logs and bug report
2026-09-07 22:50:10 +03:00
Dushnilin
5710ab6127
i18n: complete Russian translations and preserve release notes on workflow build
2026-09-07 11:49:57 +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
23d27ec0a3
fix(i18n): sync source and packaged Russian catalogs with new version picker strings
2026-09-04 21:49:21 +03:00