Commit Graph
100 Commits
Author SHA1 Message Date
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 fa93ad4cd0 fix: sync Russian po catalogs and fix Unicode corruption in DNS Turbo Cache translations
- Both ru po files now byte-for-byte identical (cmp -s passes)
- Fixed Unicode corruption: u0411... literals replaced with actual UTF-8
- Unified description msgid between settings.js (LuCI) and fe-app
- Added Enable DNS Turbo Cache + Saving ellipsis entries to both files
- Updated pot files to match new description string
2026-07-26 20:52:50 +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 c6123bdb07 ci: убран префикс v из release name/tag_name - теги без v по конвенции проекта 2026-07-26 20:01:55 +03:00
Dushnilin 26434e3e81 revert(updater): restore tachyon_normalized_release_version - tags use no v prefix 2026-07-26 19:52:36 +03:00
Dushnilin 0a73fa5b63 fix(updater): strip v prefix from GitHub tag_name in tachyon_normalized_release_version 2026-07-26 19:51:00 +03:00
Dushnilin 51e36997b7 i18n(pot): добавлены строки GeoIP Country Routing в шаблон .pot 2026-07-26 19:21:23 +03:00
Dushnilin 9c04276aac fix(geoip): запрет geoip_country для block/bypass/dns секций - предотвращение блокировки всего зарубежного трафика 2026-07-26 19:15:04 +03:00
Dushnilin b100d44fe5 fix(singbox): исправлено приведение типе порта DNS сервера в dns.uc 2026-07-26 19:06:10 +03:00
Dushnilin 96f87d4150 release: bump version to 1.2.30 2026-07-26 18:56:35 +03:00
Dushnilin 89be9109b7 i18n(po): добавлены русские переводы для GeoIP Country Routing 2026-07-26 18:44:25 +03:00
Dushnilin dc071a5064 feat(routing): Selective GeoIP Routing (Региональный умный маршрутизатор по странам non-ru/ru/us/cn) 2026-07-26 18:33:53 +03:00
Dushnilin acb124dd0f fix(smart-detect): поддержка секций AmneziaWG, WireGuard, VLESS, Hysteria2 и всех типов прокси в Smart Detect 2026-07-26 18:23:42 +03:00
Dushnilin 4debddbae4 ci(github): правильный префикс v в наименовании релизов build.yml и назначение CODEOWNERS 2026-07-26 18:03:47 +03:00
Dushnilin 8eb1425b43 docs(github): обновление шаблонов Issue (bug report & feature request) под Dushnilin/tachyon 2026-07-26 18:00:47 +03:00
Dushnilin 58e2cd94be feat(qos): Игровой & Голосовой QoS Ускоритель (Low-Latency QoS Priority Engine) (v1.2.29) 2026-07-26 17:50:49 +03:00
Dushnilin c65b3b1fb4 feat(core): динамическое определение версии пакета из OPKG/APK манифеста в constants.uc 2026-07-26 14:12:29 +03:00
Dushnilin 7cd48ad5fe fix(updates): порядок объявления функций ucode и автоматический fallback скачивания пакетов (v1.2.29) 2026-07-26 12:54:07 +03:00
Dushnilin 93516e13cd fix(updates): исправление репозитория релизов на Dushnilin/tachyon и добавление HTTP Location fallback (v1.2.29) 2026-07-26 12:47:32 +03:00
Dushnilin 3dffe32502 release: v1.2.29 — экспорт статуса ИИ-Автомеханика в Web UI API и повышение стабильности 2026-07-26 12:36:11 +03:00
Dushnilin 491d9dae04 feat(telegram): независимый жизненный цикл Telegram Bot и Watchdog + команда /heal (v1.2.28) 2026-07-26 10:54:30 +03:00
Dushnilin 5dc395c5b9 feat(watchdog): внедрение системы ИИ-Автомеханика (AI Watchdog & Self-Healing Matrix) (v1.2.28) 2026-07-26 10:45:40 +03:00
Dushnilin 1a8ad3b2de fix(nft): гарантированное создание сетов приоритета перед добавлением подсетей (v1.2.28) 2026-07-26 09:44:00 +03:00
Dushnilin e4e645a914 fix(generator): импорт core.ip, обработка многострочных hosts и добавление переводов (v1.2.28) 2026-07-26 09:39:01 +03:00
Dushnilin 3187c44441 fix(generator_routes): безопасный фолбэк при пустом dns_server в секции (v1.2.28) 2026-07-26 09:35:51 +03:00
Dushnilin 902ee4560e fix(ucode): исправление синтаксиса ucode и вызова startsWith в генераторе sing-box (v1.2.28) 2026-07-26 09:32:47 +03:00
Dushnilin 02008f3394 feat: поддержка нескольких DNS-серверов в секциях DNS и улучшение текстареа Hosts (v1.2.28) 2026-07-26 08:31:14 +03:00
Dushnilin 2be70f397c fix(build): ensure feeds/luci and po2lmo source presence during package compilation
- Automatically update and install luci feed, or fallback to shallow git clone of luci repository if feeds/luci directory is missing in OpenWrt SDK
- Compile po2lmo directly using gcc as fallback if make -C feeds/luci fails
2026-07-25 14:50:08 +03:00
Dushnilin 09342e38b3 fix(updates): add fallback to location header for GitHub release tag checks when API rate-limited
- Parse location header from https://github.com/OWNER/REPO/releases/latest directly and via ghproxy mirrors when api.github.com returns rate-limit (403/429)
- Use command_output_from_args in action.uc for shell command captures
2026-07-25 12:43:58 +03:00
Dushnilin 595c4cef3b feat(download): add ghproxy mirror fallback chain and disk cache fallback
- Add download_candidates helper in core/url.uc to auto-generate ghproxy mirror URLs (ghproxy.net, mirror.ghproxy.com, gh-proxy.com) for GitHub and external downloads
- Enhance download_to_file and download_subscription to try mirror candidates if direct download fails due to DPI or blocking
- Fallback to disk cache if all download attempts fail, preventing sing-box and service crashes on network outages
- Add 'Load Current Records' button in UI hosts import modal to pre-fill editor from saved configuration
- Synchronize localization catalogs
2026-07-25 12:35:37 +03:00
Dushnilin dbe700b428 fix(i18n): sync fe-app-tachyon/locales/tachyon.ru.po with luci-app-tachyon catalog 2026-07-25 11:29:20 +03:00
Dushnilin 92983cae83 fix(generator): use predefined DNS rule action for dns_hosts instead of fakeip
- Remove broken per-entry fakeip DNS server approach (sing-box allows only one fakeip server)
- Remove dns.hosts map approach (not supported in sing-box 1.13)
- Use action:predefined in DNS rules with zone-file format RR strings
  e.g. 'domain. 60 IN A 1.2.3.4' — tested on sing-box 1.13.14-extended
2026-07-25 10:45:25 +03:00
Dushnilin f6b668ca5e fix(generator): don't include dns.hosts field when empty, avoid null in JSON output 2026-07-25 10:42:35 +03:00
Dushnilin 1ea9cc354e feat(dns-hosts): replace DynamicList with textarea for 300+ record comfort 2026-07-25 10:13:33 +03:00
Dushnilin 15d722162d fix(security): resolve CodeQL XSS vulnerability (js/xss-through-exception) in tracer error handling 2026-07-25 06:17:23 +03:00
Dushnilin 922783226e release: 1.2.23 - add hosts file import feature for custom DNS records 2026-07-25 06:15:33 +03:00
Dushnilin cdf24c4632 release: 1.2.22 - section rules modal UI, fix telegram worker command_output_from_args, fix watchdog ubus listener 2026-07-24 20:18:51 +03:00
Dushnilin c431c2739c fix(luci-app-tachyon): render rules summary badges using real DOM elements in renderWidget 2026-07-24 10:26:28 +03:00
Dushnilin 83fe16eda2 fix(luci-app-tachyon): resolve [object HTMLDivElement] stringification bug by rendering rules summary in dedicated DummyValue column with rawhtml 2026-07-24 10:24:21 +03:00
Dushnilin 2991d76ec0 feat(luci-app-tachyon): display compact rule counter badges next to section title 2026-07-24 08:49:23 +03:00
Dushnilin dff26f1232 style(luc-app-tachyon): redesign routing rule tracer to be ultra-compact and horizontal under the rule list 2026-07-23 12:24:37 +03:00
Dushnilin 7b9dca3ede fix(subscription): resolve ucode function order and null-byte regex parsing bugs 2026-07-23 12:18:28 +03:00
Dushnilin 1409b6ed3d Рефакторинг и оптимизация Tachyon: модульный генератор sing-box, атомарная запись файлов, graceful shutdown в watchdog, ускорение nftables, доработка трассировщика правил и локализация 2026-07-23 10:07:15 +03:00
Dushnilin 16b4c39693 chore: bump version to 1.2.20 & optimize ucode scripts 2026-07-21 23:35:25 +03:00
Dushnilin 662df112fd refactor: Полное удаление функционала Tor и очистка локализаций 2026-07-21 21:34:23 +03:00
Dushnilin 142f4d1f4f fix(i18n): ensure exact binary match for russian catalogs 2026-07-21 17:54:22 +03:00
Dushnilin 6bacecf0f1 feat(singbox): add tor action to generator 2026-07-21 17:44:57 +03:00
Dushnilin e73223e7c8 fix(i18n): sync fe-app and luci-app russian catalogs 2026-07-21 16:28:02 +03:00
Dushnilin b6ee953469 fix(diagnostics): use sprintf instead of undefined common module for JSON serialization 2026-07-21 16:24:12 +03:00
Dushnilin db60904bc1 fix(ui): check tor installation state and handle timeouts gracefully 2026-07-21 16:16:50 +03:00
Dushnilin 6cb0031bd8 fix: add missing translations for Tor Darknet gateway 2026-07-21 15:59:04 +03:00
Dushnilin eaea8bf082 fix: restore wiped translations and append new strings 2026-07-21 15:38:37 +03:00
Dushnilin 254595c9b4 Исправлено зависание установки из-за блокировок GitHub (добавлены зеркала gh-proxy) и исправлено удаление sing-box при ошибке обновления 2026-07-21 15:16:12 +03:00
Dushnilin e32d30a8fe feat: Интеграция Tor Darknet, авто-установщик Tor (opkg/apk), поддержка sing-box lx и фикс локализаций
1. Добавлен встроенный установщик Tor через LuCI-попап с поддержкой opkg и apk.
2. Маршрутизация скрытых сетей (.onion / .i2p) интегрирована на уровень backend (route.uc, generator.uc).
3. Добавлена прозрачная поддержка форка sing-box lx: UI и генераторы теперь корректно включают 'extended' фичи для lx.
4. Проведен полный аудит и восстановление отсутствующих переводов в fe-app-tachyon и luci-app-tachyon.
2026-07-21 14:57:57 +03:00
Dushnilin 07e472d617 fix(runtime): use cached version state for lx marker 2026-07-21 10:41:57 +03:00
Dushnilin d30150d80e feat: добавлены все варианты sing-box в интерактивное меню install.sh 2026-07-21 10:24:02 +03:00
Dushnilin 16359d260c fix: исправление проблемы обновления Leadaxe (sing-box-lx) 2026-07-21 10:16:11 +03:00
Dushnilin 1dafd7bb30 fix: исправление синтаксической ошибки (пропущенная скобка в telegram.uc) 2026-07-21 09:58:54 +03:00
Dushnilin fbfaf541da Добавлены уведомления об обновлениях компонентов и возможность обновления через Telegram 2026-07-21 09:51:16 +03:00
Dushnilin 63adf59e8d feat(telegram): расширение функционала бота (мониторинг, диагностика, отказоустойчивость)
- Добавлена генерация Support Bundle (/support_bundle)

- Добавлен мгновенный сброс соединений (/close_connections)

- Добавлен просмотр Live Server Instances (/instances)

- Добавлено автоматическое добавление админов через forward сообщений

- Реализованы Тихие часы для некритичных уведомлений

- Реализована отправка утреннего дайджеста о трафике и аптайме

- Добавлен мониторинг смены активного узла в URLTest

- Добавлен резервный SOCKS5 транспорт
2026-07-21 09:35:50 +03:00
Dushnilin bf24983bc4 Fix install.sh overwriting Leadaxe sing-box with extended-compressed sing-box due to legacy detection logic 2026-07-21 08:42:41 +03:00
Dushnilin 34bf4510fe Fix tachyon version detection for apk package manager 2026-07-21 08:31:33 +03:00
Dushnilin ac768945f9 Fix telegram outbounds to support multiple proxy groups and add missing Settings button 2026-07-21 08:23:41 +03:00
Dushnilin d288430422 Implement Universal Settings Editor in Telegram bot 2026-07-20 23:00:35 +03:00
Dushnilin 0509fa4804 Fix telegram bot to show all sections regardless of action type 2026-07-20 22:34:17 +03:00
Dushnilin d60f4886e4 Fix list option spacing parse issue and correct rule_set to community_lists 2026-07-20 22:22:57 +03:00
Dushnilin f187390894 Fix telegram bot crash in API proxy parsing 2026-07-20 21:48:45 +03:00
Dushnilin 3cf46713b6 Fix telegram bot command capture error 2026-07-20 21:45:54 +03:00
Dushnilin a00997020e Fix monitoring route filter binding 2026-07-20 21:32:11 +03:00
Dushnilin 17ce6f4607 Сборка фронтенда с исправлением фильтра маршрутов 2026-07-20 21:24:02 +03:00
Dushnilin e5d43c3902 Исправление утечки CPU: замена миллисекунд в sleep() на секунды в watchdog 2026-07-20 21:16:04 +03:00
Dushnilin 8cd7a61d50 Исправление утечки CPU из-за зависших фоновых процессов 2026-07-20 21:05:00 +03:00
Dushnilin 671810604e Исправление логики фильтра маршрутов и отображения секций в Smart Detect 2026-07-20 20:51:40 +03:00
Dushnilin 2a2ad6a2fa Перевод кнопки Generate bug report 2026-07-20 20:30:56 +03:00
Dushnilin 9ef708111a Синхронизация исходных файлов локализации с пакетами LuCI для прохождения тестов 2026-07-20 20:27:03 +03:00
Dushnilin 8297443823 Добавлен фильтр по маршрутам в мониторинг и исправлен запуск Telegram-бота при пустом списке администраторов 2026-07-20 20:19:18 +03:00
Dushnilin 5b56633dc3 Fix release version validation for v-prefixed tags 2026-07-20 15:33:24 +03:00
Dushnilin 24c0ee4b78 Fix XHTTP range parsing for sing-box-lx compatibility 2026-07-20 15:30:34 +03:00
Dushnilin 3f96374c5e Fix XHTTP range defaults (sc_max_each_post_bytes, sc_min_posts_interval_ms) to be strings, as expected by sing-box json parser 2026-07-20 14:41:25 +03:00
Dushnilin 41c6a7c114 Support XHTTP in sing-box-lx and check for with_xhttp tag instead of variant marker 2026-07-20 14:39:30 +03:00
Dushnilin c9ec7ad2bb Fix sing-box-variant state file path in generator 2026-07-20 14:08:45 +03:00
Dushnilin a17aae731e Fix AmneziaWG config format for sing-box-lx and older extended 2026-07-20 13:42:59 +03:00
Dushnilin 28b8d4ceef Fix sing-box binary validation for Leadaxe (lx) and modern alpha builds 2026-07-20 13:26:37 +03:00
Dushnilin f935abef2a Fix ucode syntax errors and execution logic in telegram.uc 2026-07-20 13:11:30 +03:00
Dushnilin 295604a39a Удален невидимый символ BOM (Byte Order Mark) из файлов
Это исправит синтаксическую ошибку Unexpected character в начале файлов для ucode.
2026-07-20 12:58:26 +03:00
Dushnilin 286a9ea235 Исправление синтаксической ошибки в api.uc
Убраны ключевые слова export для совместимости со скриптовым режимом запуска ucode. Модуль теперь возвращает объект с функциями.
2026-07-20 12:55:28 +03:00
Dushnilin 4fd69ccceb Исправление синтаксической ошибки в telegram.uc
Убраны ключевые слова export для совместимости со скриптовым режимом запуска ucode.
2026-07-20 12:53:25 +03:00
Dushnilin f25609f7ae Рефакторинг Telegram-бота и создание модуля api.uc
Реализовано:
- Создан модуль api.uc для вынесения системной логики, работы с конфигурацией UCI и метриками устройства.
- Выполнена переработка архитектуры бота на основе роутера команд.
- Добавлено расширенное меню с разделами мониторинга статуса и параметров.
- Внедрено отображение статистики подключений, использования ресурсов, списка серверов и задержек.
2026-07-20 12:51:44 +03:00
Dushnilin 93ce90dde6 Исправлена ошибка области видимости функций при обработке секций 2026-07-20 09:49:41 +03:00
Dushnilin 56a13bc99b Добавлено управление секциями через Telegram бота 2026-07-20 09:40:09 +03:00
Dushnilin 6d05accc23 fix: исправление критической ошибки верстки (схлопывание Grid-колонок в 1 символ) 2026-07-20 09:12:26 +03:00
Dushnilin b39bbfe92f fix: исправление ширины страницы при сворачивании секций 2026-07-20 08:58:01 +03:00