Commit Graph
287 Commits
Author SHA1 Message Date
Dushnilin 9c04276aac fix(geoip): запрет geoip_country для block/bypass/dns секций - предотвращение блокировки всего зарубежного трафика 2026-07-26 19:15:04 +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 e4e645a914 fix(generator): импорт core.ip, обработка многострочных hosts и добавление переводов (v1.2.28) 2026-07-26 09:39:01 +03:00
Dushnilin 02008f3394 feat: поддержка нескольких DNS-серверов в секциях DNS и улучшение текстареа Hosts (v1.2.28) 2026-07-26 08:31:14 +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 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 1409b6ed3d Рефакторинг и оптимизация Tachyon: модульный генератор sing-box, атомарная запись файлов, graceful shutdown в watchdog, ускорение nftables, доработка трассировщика правил и локализация 2026-07-23 10:07:15 +03:00
Dushnilin 662df112fd refactor: Полное удаление функционала Tor и очистка локализаций 2026-07-21 21:34:23 +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 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 fbfaf541da Добавлены уведомления об обновлениях компонентов и возможность обновления через Telegram 2026-07-21 09:51:16 +03:00
Dushnilin 17ce6f4607 Сборка фронтенда с исправлением фильтра маршрутов 2026-07-20 21:24:02 +03:00
Dushnilin 2a2ad6a2fa Перевод кнопки Generate bug report 2026-07-20 20:30:56 +03:00
Dushnilin 8297443823 Добавлен фильтр по маршрутам в мониторинг и исправлен запуск Telegram-бота при пустом списке администраторов 2026-07-20 20:19:18 +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 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 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 8292e96f57 fix(luci): добавить retain = true в настройки Telegram-бота для предотвращения удаления конфигурации при выключении бота 2026-07-17 18:30:16 +03:00
Dushnilin a6c9907def fix(warp): починить пустой список в Registration Detour, используя стандартный генератор выбора (subscriptionDownloadTargetChoices) 2026-07-17 17:07:35 +03:00