Dushnilin
ac209457d7
feat: кнопка Переустановить для Tachyon на странице обновлений
2026-07-31 17:34:11 +03:00
Dushnilin
a8cf31c9cd
feat: DNS пресеты — рекомендованные серверы по протоколам (UDP/DoT/DoH/DoQ)
2026-07-31 17:01:50 +03:00
Dushnilin
448267335b
feat: добавлена поддержка TUIC протокола и DNS over QUIC (DoQ) с ECH
2026-07-31 16:49:55 +03:00
Dushnilin
ce0256528b
fix(security): харденинг Telegram-бота, DNS failover и ACL
2026-07-31 14:31:13 +03:00
Dushnilin
7757ceae6a
feat: implement WebRTC Leak Protection and Strict DNS DoQ Enforcer
2026-07-30 21:43:56 +03:00
Dushnilin
7e64eb10b1
Fix updates: split arch.candidates string into array for zapret2 release resolution
2026-07-30 20:24:17 +03:00
Dushnilin
79ed7b03cf
fix: add cortex-a53 fallback for zapret2 generic aarch64 resolution
2026-07-30 18:39:07 +03:00
Dushnilin
7bcf7590ea
fix(tests): актуализация сигнатур nftables и паритета хэшей в state.uc
2026-07-30 18:04:27 +03:00
Dushnilin
af620a2f45
fix: исправление резолвинга пакета zapret2 для роутеров и поиск релизов
2026-07-30 17:52:16 +03:00
Dushnilin
b057e0a48d
refactor: удаление неиспользуемого автоподбора Zapret2 и чистка файлов локализации
2026-07-30 16:42:30 +03:00
Dushnilin
f3d8c5a264
fix: решение зацикливания TPROXY FakeIP для ip.podkop.fyi и синхронизация тестов с локалями
2026-07-30 10:39:55 +03:00
Dushnilin
bd4c686479
refactor(zapret2): исправление правил nftables, отказ от автоподбора и переход на zapret2-mcp
2026-07-30 09:37:46 +03:00
Dushnilin
93eac2002e
Zapret2 Auto-Tune: Remove baseline_none and add generic UDP bypass for Discord voice
2026-07-29 22:45:01 +03:00
Dushnilin
f48258ef2e
Zapret2: Implement dynamic combinatorial strategy generator (tune)
2026-07-29 22:39:04 +03:00
Dushnilin
28b3a98ec2
Fix AI Watchdog QoS parsing issue with nftables DSCP names
2026-07-29 22:10:55 +03:00
Dushnilin
d52c1bf6a2
Fix zapret2 tuner: use nftables for bypass, DoH for real IPs and fs.popen to avoid stdout corruption
2026-07-29 21:28:48 +03:00
Dushnilin
0100935f3d
Fix zapret2 tuner: use nftables for bypass and DoH for real IPs
2026-07-29 21:18:29 +03:00
Dushnilin
4422416227
fix(ui): native rules button layout and tracer community match logic
2026-07-29 18:32:17 +03:00
Dushnilin
3821e92148
style(luci): complete visual redesign of zapret2 strategy tuner with 1-click automated section domain optimization
2026-07-29 13:41:41 +03:00
Dushnilin
bf28dce4a8
fix(ui): prevent false worker exit timeout during deep scan strategy tuning
2026-07-29 13:28:51 +03:00
Dushnilin
03f6699099
feat(zapret2): fully automated 1-click strategy tuner for section domains and fix state directory creation
2026-07-29 13:19:15 +03:00
Dushnilin
a8187270ca
fix(luci): use async background polling for strategy tuner to prevent XHR timeouts
2026-07-29 13:02:26 +03:00
Dushnilin
14270430d2
fix(zapret2): improve strategy probe connectivity and winner evaluation logic
2026-07-29 12:02:51 +03:00
Dushnilin
8b8c4b7df1
feat(zapret2): add high-performance strategy generator and tuner
2026-07-29 11:30:23 +03:00
Dushnilin
c7ff142a48
Release 1.2.43 - Pre-download and cache all preset rulesets & databases
2026-07-29 08:58:00 +03:00
Dushnilin
53e3f1f041
feat(routing): add traffic type / protocol filtering and exclusion per section
2026-07-28 21:46:18 +03:00
Dushnilin
a3e9981d13
fix(backend): optimize plain-list domain import to O(N) deduplication and fast-path ASCII parsing for 100k+ domain lists
2026-07-28 21:19:44 +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
e9a9ead675
fix(updater): add fallback resolution for sing-box-extended when GitHub API rate-limits
2026-07-28 00:01:04 +03:00
Dushnilin
eef4d587bd
feat: custom multi-country GeoIP grouping and filter modes (include/exclude)
2026-07-27 18:30:02 +03:00
Dushnilin
e11316f7d7
fix(tests): update nft signature fixtures in state.uc and tests for DSCP parity
2026-07-27 17:16:05 +03:00
Dushnilin
3c3a4b7035
feat(section): add DSCP mark matching for QoS application routing
2026-07-27 17:09:48 +03:00
Dushnilin
f05a55c37e
fix(core): remove hardcoded fallback version from constants.uc and use dynamic package lookup for APK and OPKG
2026-07-27 16:49:52 +03:00
Dushnilin
0eec769a90
fix(updates): fallback filenames without _all suffix to match actual release assets
2026-07-27 12:34:31 +03:00
Dushnilin
0adbbbdf03
fix(watchdog): prevent concurrent reload_firewall race with is_reload_in_progress() guard
2026-07-27 10:27:14 +03:00
Dushnilin
5e169a430b
feat(watchdog): AI self-healing for community subnet sets, TPROXY port, /tmp cache restore + fix undefined check_firewall_rules
2026-07-27 10:23:53 +03:00
Dushnilin
5ff4c448bd
fix: nft populate community subnets on reload + generator_routes return fix for Telegram
2026-07-27 09:02:44 +03:00
Dushnilin
197013f043
fix: persistent community subnet storage & reboot fallback for Telegram in section Main
2026-07-27 08:38:55 +03:00
Dushnilin
b3e6fcd0c1
fix: load community subnets from /tmp/sing-box/rulesets path & bump v1.2.34
2026-07-26 22:56:16 +03:00
Dushnilin
da55799a04
release: v1.2.33 - dynamic community subnets, AmneziaWG action support & flowtable bypass
2026-07-26 22:29:01 +03:00
Dushnilin
c012a5710b
refactor: remove hardcoded Telegram IP arrays in favor of fully dynamic community subnet loading
...
- updates.uc: cache downloaded built-in subnet lists (telegram, meta, twitter, etc.) to community-subnets-<service>.lst.
- generator_routes.uc: dynamically load community list IP CIDRs from cached subnet files for all community lists into sing-box route rules. Zero hardcoded IP arrays.
2026-07-26 21:45:15 +03:00
Dushnilin
e9ad56df56
fix: complete Telegram routing, AmneziaWG action support & flowtable bypass
...
- nft/apply.uc: add 'awg' and 'warp' to action_captures_traffic so nftables
creates priority sets for AmneziaWG / Cloudflare WARP sections.
- nft/apply.uc: insert flowtable bypass in fw4 forward for marked TPROXY packets
so OpenWrt flow offloading doesn't hijack proxied connections.
- singbox/generator_routes.uc: include official Telegram IP CIDRs in route rules
for telegram community list so direct IP connections match sing-box rules.
2026-07-26 21:31:31 +03:00
Dushnilin
e98a2c325e
fix: community subnets nftables population & Telegram IP ranges
...
- nft/apply.uc: nft_add_community_subnet_file_for_section now populates
common_set (tachyon_subnets / tachyon_rule_<Section>_subnets) when section
is not a priority rule section. Previously, community subnets for normal
proxy/VPN sections were skipped completely.
- updates.uc: fix typo SUBNETS_TELERAM -> SUBNETS_TELEGRAM in BUILTIN_SUBNET_URLS
- bump version 1.2.31 -> 1.2.32
2026-07-26 21:18:26 +03:00
Dushnilin
399826f1f6
fix: dns_prefetch.uc - fix ucode syntax incompatibilities
...
- starts_with() not in ucode -> substr(line,0,1) != '#'
- push(arr, ...spread) not valid in ucode -> explicit for loop
2026-07-26 20:33:34 +03:00
Dushnilin
ecb130cdb3
refactor: DNS Turbo Cache - dynamic domain extraction from UCI sections
...
Instead of relying only on a hardcoded list, now reads domains directly
from user's configured Tachyon sections:
- user_domains (UCI list, type=dynamic)
- user_domains_text (textarea, type=text)
- domain / domain_suffix rule conditions
User's own proxy-routed domains are prefetched first, then the baseline
popular list fills in the rest. This means FakeIP cache is always warmed
for exactly the domains the user actually needs to bypass.
2026-07-26 20:32:30 +03:00
Dushnilin
50c178a9ff
feat: expand DNS Turbo Cache prefetch list to 220+ domains
...
Added CDN subdomains, API endpoints, and more services:
- Telegram: api/core/cdn/updates/media subdomains
- YouTube: music/studio/nocookie, ytimg subdomains
- Meta: i.instagram, graph, fbcdn video, WhatsApp media/mmg
- Twitter: pbs/video/api.x.com/cards
- Discord: media/gateway/discord.media
- Reddit: old/v/preview/i.redd.it
- GitHub: gist/avatars/user-images/githubassets/copilot
- Google: sheets/slides/calendar/photos/play/accounts/translate/news/maps/classroom/chat/lh3-lh4
- Netflix: api-global/nflxext/nflxso
- Spotify: api/accounts/dealer/akamaized
- TikTok: m/vm/musical.ly/api16/p16-sign
- Twitch: m/clips/vod/gql/api/usher/irc
- Wikipedia: de/fr/upload.wikimedia/wikidata/mediawiki
- Pinterest: ru/i/v/s.pinimg
- Signal: api/cdn/storage
- Steam: steamcdn-a/cdn.cloudflare/api/help
- Epic: launcher/account/cdn1
- Roblox, gaming.youtube
- Substack CDN, ProtonVPN/account
- News: theguardian, nytimes
- Cloudflare CDN
- Misc: patreon, onlyfans, canva, notion, figma, trello, slack, zoom, dropbox, 1password, bitwarden
2026-07-26 20:28:25 +03:00
Dushnilin
d8a0d64501
feat: DNS Turbo Cache - persistent FakeIP + startup domain prefetch
...
- singbox/dns_prefetch.uc: new module, resolves ~70 popular blocked domains
after startup to warm sing-box FakeIP cache (sleep 10s, then nslookup each)
- lifecycle.uc: DNS_PREFETCH_UC constant + module_background call in start_main
- generator.uc: when dns_turbo_cache=1 use /etc/sing-box/cache.db (persistent)
- settings.js (LuCI): Flag toggle for dns_turbo_cache in DNS settings block
- renderAdvancedSettings.ts: DNS Turbo Cache section with toggle + save
- tachyon.pot / tachyon.po / tachyon.ru.po: translations RU
- constants.uc: bump 1.2.30 -> 1.2.31
- package.json: bump 1.2.30 -> 1.2.31
2026-07-26 20:22:35 +03:00
Dushnilin
26434e3e81
revert(updater): restore tachyon_normalized_release_version - tags use no v prefix
2026-07-26 19:52:36 +03:00