Commit Graph
100 Commits
Author SHA1 Message Date
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
Dushnilin e0b70d6b99 feat: добавлена поддержка варианта sing-box Leadaxe (lx) 2026-07-20 08:29:56 +03:00
Dushnilin e1d7b00ba8 feat(installer): add seamless NetShift migration support 2026-07-19 23:16:08 +03:00
Dushnilin 79097858d7 docs: add SECURITY.md with vulnerability reporting guidelines 2026-07-19 23:06:59 +03:00
Dushnilin b1cd022b5d docs: rewrite README with full features description and donation link 2026-07-19 23:03:54 +03:00
Dushnilin 459c1a0f8b ci: add missing permissions block to workflows 2026-07-19 22:10:54 +03:00
Dushnilin 89632c1db4 chore: fix dependencies vulnerabilities and tests 2026-07-19 22:08:08 +03:00
Dushnilin a6eeb780dc fix: убрана сетка-контейнер для плоских узлов 2026-07-19 22:02:22 +03:00
Dushnilin 4a09a21e4d fix: исправить вёрстку для узлов типа AWG 2026-07-19 22:00:58 +03:00
Dushnilin 9950b1ead4 fix: улучшено сворачивание клиентов и плоский дизайн AWG 2026-07-19 21:52:18 +03:00
Dushnilin 09ab785315 fix: скрыть спам от дебаг логов в консоли 2026-07-19 21:49:27 +03:00
Dushnilin cb3cce70ea fix: исправлено отображение пинга AWG и сворачивание активных клиентов 2026-07-19 21:40:04 +03:00
Dushnilin 608b73423d fix: исправление проверки пинга для AWG и перевод Check Connection 2026-07-19 21:25:24 +03:00
Dushnilin f1a724fbc9 fix: correct validation assignment for dns_rewrite_ttl 2026-07-19 21:13:14 +03:00
Dushnilin 2e8fdf87b6 feat: улучшения дашборда, активные клиенты и исправления UI
- Дашборд: Добавлена таблица 'Активные клиенты' с отображением имен устройств, IP, соединений и трафика.
- Дашборд: Исправлена ширина интерфейса при свернутом блоке подписки.
- Дашборд: В заголовке свернутой подписки теперь отображается пинг выбранного сервера.
- Дашборд: Для AWG и VPN соединений в таблице отображается пинг вместо статуса 'Connected'.
- Диагностика: Исправлена кнопка генерации отчета об ошибках (bugreport) и добавлена маскировка приватных данных.
- Локализация: Обновлены файлы переводов .po, исправлен парсинг кавычек в генераторе.
2026-07-19 20:57:38 +03:00
Dushnilin ba4709775f chore: add translations for bugreport strings 2026-07-19 20:01:48 +03:00
Dushnilin 0911ffcf75 Release 1.2.11
- Custom DNS hosts support

- AmneziaWG MTU support

- VPN status UI fixes

- Twemoji flags in Monitoring

- Bugreport sensitive data masking

- DNS device filter

- Routing conflicts protection

- Rule-set download errors display

- Universal community lists

- OpenWrt LuCI themes CSS compatibility

- Fix MSS Clamping syntax error

- Remove HTTP proxy mention in copy link

- Sync translations
2026-07-19 19:37:43 +03:00
Dushnilin e5f5a96f75 fix: sync translations and fix ui tests for list hints 2026-07-19 14:29:22 +03:00
Dushnilin 16066d09ac fix: correct nftables rt mtu syntax and add MTU to AmneziaWG 2026-07-19 14:24:36 +03:00
Dushnilin 7b44dc410d fix(ui): simplify VPN connection status
Remove latency testing logic and the test button for VPN nodes (AmneziaWG, WireGuard, WARP). Since they are not proxies, standard latency tests via sing-box fail or timeout. Now we only display whether the node is running or not.
2026-07-19 14:07:33 +03:00
Dushnilin c5a387b6a3 UI: Fix connection status for section title button 2026-07-19 13:55:58 +03:00
Dushnilin a8384c7c17 UI: Improve connection status for VPN/AWG sections 2026-07-19 13:54:54 +03:00
Dushnilin d18af208d7 Translations: add RU for new list description strings
- 'Domain and IP lists' → 'Списки доменов и IP'
- '.lst lists containing domains and subnets' → 'с доменами и подсетями'
- '.lst lists containing domains. IP entries are ignored' → 'IP игнорируются'
- '.srs/.json lists. Subnets are ignored by default' → 'Подсети по умолчанию игнорируются'
2026-07-19 12:49:16 +03:00
Dushnilin 7eafb48c6b DNS device filter, bypass exclusivity, list descriptions, rule-set error detection, mask private_key+url
- dependsOnRuleConditions(): show Device filter also for DNS when conditions are set
- makeDeviceOptionsExclusive(): prevent same device in Device filter + Forced routing simultaneously
- fullyRoutedOption: also shows for DNS action
- ruleSetOption: 'Subnets are ignored by default' (was: Only domain rules)
- domainIpListsOption: renamed 'Domain and IP lists', retain=true, dependsOnRoutingAction, write/remove handlers
- dnsDomainListsOption: new field for DNS action showing 'Domain lists' with IP-ignored note
- _dns_domain_ip_lists: added to dependsOnRuleConditions DNS conditions
- isErrorLogLine: detect sing-box rule-set download errors
- maskDiagnostics: mask option private_key and option url
2026-07-19 12:49:16 +03:00
Dushnilin aedc7cba19 Flag emoji (Twemoji), monitoring CSS vars for third-party themes, HTTP proxy removed from proxy URL 2026-07-19 12:49:16 +03:00
Dushnilin 73c0cda51a Remove russia_inside/regional restrictions on built-in lists 2026-07-19 12:49:16 +03:00
Dushnilin af41f6ddba Revert "FakeIP кэш перенесён в персистентное хранилище /etc/sing-box/"
This reverts commit 4e6b1d776c.
2026-07-19 12:04:33 +03:00
Dushnilin 4e6b1d776c FakeIP кэш перенесён в персистентное хранилище /etc/sing-box/
- Дефолтный путь cache.db изменён: /tmp → /etc/sing-box/cache.db
- При перезагрузке роутера fakeip маппинги сохраняются (overlay fs)
- При SIGHUP hot-reload sing-box читает полный кэш без потерь
- При tachyon stop кэш удаляется (clean state)
- UI настроек обновлён: Persistent выбран по умолчанию, RAM помечен как 'lost on reboot'
- Удалён устаревший Flash (/usr/share) вариант
2026-07-19 12:02:49 +03:00
Dushnilin 0152f4df38 Добавлена загрузка конфига .conf для AmneziaWG
- Новая кнопка 'Загрузить .conf' в настройках AWG-секции
- Парсинг INI-формата AmneziaWG .conf файлов на стороне браузера
- Нормализация поля Address: добавляет /32 (IPv4) и /128 (IPv6) если нет
- Автоконвертация I1-I5 из формата UCI binary <b 0xHEX> в чистый hex
- Заполняет все поля: PrivateKey, Address, PublicKey, Endpoint, Jc/Jmin/Jmax, S1-S4, H1-H4, I1-I5, PresharedKey
- Визуальная обратная связь: состояния success/error с автосбросом
- Переводы добавлены в ru.po
2026-07-19 11:20:17 +03:00
Dushnilin 387a78aebb Кнопка Generate WARP Config: исправление binary UCI и стилизация
- Добавлен генератор WARP конфигурации (warp_generator.uc)
- Исправлена запись binary UCI значений (<b 0x...>) в поля awg_i1-i5:
  warp_generator.uc использует to_hex(), section.js очищает значения перед записью
- generator.uc: добавлена защита uci_bin_to_hex() при чтении awg параметров
- generator.uc: поля awg_i3/i4/i5 со значением '0' пропускаются
- section.js: кнопка Generate WARP Config переработана в стиле Tachyon UI
  (cbi-button-neutral, состояния loading/success/error с анимациями)
2026-07-17 22:22:08 +03:00
Dushnilin ad03951a1d fix(firewall): добавить постоянные правила mss clamping в конфигурацию nftables 2026-07-17 19:45:36 +03:00
Dushnilin 4604053e20 watchdog: fix syntax error invalid character range in smart_detect_run regex
[COMMIT_END]
2026-07-17 19:19:12 +03:00
Dushnilin f71a4d054e telegram bot: исправить порядок объявления функций и перенаправить stdout/stderr в лог; вернуть CI-сценарии 2026-07-17 18:57:04 +03:00
Dushnilin 4af1a6de19 fix(telegram): перенести вспомогательные функции clash выше get_system_status для исправления ошибки hoisting в ucode 2026-07-17 18:42:55 +03:00
Dushnilin 8292e96f57 fix(luci): добавить retain = true в настройки Telegram-бота для предотвращения удаления конфигурации при выключении бота 2026-07-17 18:30:16 +03:00
Dushnilin d1510da248 fix(singbox): рефакторинг исходящего соединения amneziawg в эндпоинт для поддержки sing-box 1.13+ 2026-07-17 18:01:29 +03:00
Dushnilin a6c9907def fix(warp): починить пустой список в Registration Detour, используя стандартный генератор выбора (subscriptionDownloadTargetChoices) 2026-07-17 17:07:35 +03:00
Dushnilin 0ac49385a0 feat(warp): добавить поддержку detour (Registration Detour) для WARP и обрезку пробелов в токене 2026-07-17 17:01:59 +03:00
Dushnilin 38e228950d fix(warp): исправить структуру WARP-эндпоинта (заменить массив profiles на объект profile) 2026-07-17 16:57:52 +03:00
Dushnilin a86f77aaaa fix(route): добавить поддержку новых протоколов и WARP в целевые действия маршрутизации, исправить ошибку unsupported action 2026-07-17 16:54:48 +03:00
Dushnilin 69d851867b fix(warp): убрать валидацию обязательности поля warp_access_token в UI 2026-07-17 16:52:43 +03:00
Dushnilin ab3671d98d fix(warp): сделать warp_access_token необязательным — достаточно private_key и account_id 2026-07-17 16:50:10 +03:00
Dushnilin 510f4d2baf fix(generator): убрать trailing comma в add_anytls_outbound, ломавшую парсинг generator.uc 2026-07-17 16:46:45 +03:00
Dushnilin 216485b345 ci: обновить версии GitHub Actions для устранения предупреждений Node.js 20 2026-07-17 16:31:24 +03:00
Dushnilin 422a206b4b feat(extended): добавить все протоколы sing-box-extended с правильным гейтированием 2026-07-17 16:21:48 +03:00