Commit Graph
46 Commits
Author SHA1 Message Date
Dushnilin c7febcb0dc fix: atomic writes, crash safety, deadlock prevention across 10 files
watchdog.uc:
- H-4: ai_heal_uci_config atomic write (tmp → rename)
- H-5: backup validation via uci valid before restart
- H-6: proxy restart cooldown (max 3 per 10 min)
- H-7: restart lock file prevents parallel restarts
- H-13: ai_heal_wan_interface reads 'network' not 'tachyon' config
- M-3: nslookup -port=53 → plain nslookup (BusyBox compat)

generator.uc: atomic_write_json_file for main config output
hosts.uc: atomic cache write (tmp + mv), TOCTOU double stat fix
telegram.uc: atomic config restore, persistent /etc/.tachyon/ paths
migration.uc: UCI commit before cache removal
updates.uc: background reload inside locked section (deadlock prevention)
lifecycle.uc: uci commit return check, watchdog/telegram failure logging
package.uc: postinst_restore returns actual start result
build.sh/install.sh: Wave 1 backup/restore fixes
2026-08-03 19:43:10 +03:00
Dushnilin 0a428083af fix: watchdog/state/telegram crash bugs (ucode JS-isms + SIGHUP race)
- watchdog: fix 'left-hand side is not a function' tick crashes
  - safe_call: replace String(e)/instanceof Error with as_string(e)
  - ai_heal_empty_sections: list_option/read_json_file -> common.*
  - read_dns_recovery_state/ai_heal_dns_loop: read_json_file -> common.*
  - common.is_connections_action -> connections.is_connections_action
    (add missing 'config.connections' module import)
  - wrap check_singbox_process/check_auto_resume_pause/ai_full_health_audit
    in safe_call to prevent uncaught exceptions in tick loop
- state: SIGHUP race condition: fall back to sing-box start instead of
  exit(1) when process dies between config generation and signal delivery
- telegram: fix String(e)/instanceof Error crash in update catch block
2026-08-03 16:50:08 +03:00
Dushnilin 1e1f19d7b4 telegram bot: 12 новых фич + updates panel: кнопки GitHub репозиториев 2026-08-02 10:41:04 +03:00
Dushnilin a7bbd746db fix: 6 telegram/watchdog bugs found in code audit 2026-08-02 09:38:32 +03:00
Dushnilin 98cad5eb17 fix: telegram bot callback_query offset never saved (infinite loop) 2026-08-01 22:58:45 +03:00
Dushnilin 0a3ef0dff2 feat: AI Watchdog — 11 новых фич с полной настройкой из LuCI 2026-08-01 14:41:59 +03:00
Dushnilin a8cf31c9cd feat: DNS пресеты — рекомендованные серверы по протоколам (UDP/DoT/DoH/DoQ) 2026-07-31 17:01:50 +03:00
Dushnilin ce0256528b fix(security): харденинг Telegram-бота, DNS failover и ACL 2026-07-31 14:31:13 +03:00
Dushnilin 58e2cd94be feat(qos): Игровой & Голосовой QoS Ускоритель (Low-Latency QoS Priority Engine) (v1.2.29) 2026-07-26 17:50:49 +03:00
Dushnilin 491d9dae04 feat(telegram): независимый жизненный цикл Telegram Bot и Watchdog + команда /heal (v1.2.28) 2026-07-26 10:54:30 +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 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 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 3cf46713b6 Fix telegram bot command capture error 2026-07-20 21:45:54 +03:00
Dushnilin 8cd7a61d50 Исправление утечки CPU из-за зависших фоновых процессов 2026-07-20 21:05:00 +03:00
Dushnilin 8297443823 Добавлен фильтр по маршрутам в мониторинг и исправлен запуск Telegram-бота при пустом списке администраторов 2026-07-20 20:19:18 +03:00
Dushnilin f935abef2a Fix ucode syntax errors and execution logic in telegram.uc 2026-07-20 13:11:30 +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 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 7c04189955 fix: handle_rule_view - восстановить s=get_all, экранировать HTML-лейбл, показывать user_domains, добавить обработку ошибок 2026-07-17 12:12:09 +03:00
Dushnilin 0aeb853376 fix: режим отправки telegram считывает неверное смещение ARGV при вызове через бинарник tachyon 2026-07-17 12:03:33 +03:00
Dushnilin 4cf3ab99df feat: per-device routing, smart detect, telegram full control, multilang bot
- watchdog.uc: Smart Detect self-healing routing - auto-detects blocked
  domains from sing-box logs, verifies via proxy, auto-adds to section
- watchdog.uc: Pause auto-resume - watchdog monitors PAUSE_FILE and
  auto-resumes Tachyon when pause duration expires
- telegram.uc: Full command suite: /pause, /resume, /watchdog,
  /add, /bypass, /rules, /devices, /backup, /speed, /doctor
- telegram.uc: RU/EN auto-detect from LuCI language setting
- telegram.uc: /watchdog shows daemon status with start/stop buttons
- telegram.uc: /add, /bypass with interactive section picker buttons
- telegram.uc: callback handlers for /wd_start, /wd_stop, /do_pick
- tachyon CLI: watchdog_start and watchdog_stop commands
- types.ts: fully_routed_ips, user_domains, smart_detect fields
- config: smart_detect and language options in default UCI config
- worker(): language-aware command list registration in Telegram
2026-07-17 09:11:10 +03:00
Dushnilin 689aaf2dd5 fix(telegram,diagnostics): кастомный IP-адрес external_controller для API Clash и надежный откат MSS clamping 2026-07-16 11:48:32 +03:00
Dushnilin 1981cec706 feat: интерактивное управление правилами маршрутизации в Telegram-боте 2026-07-16 11:18:55 +03:00
Dushnilin 97b29f230c feat(telegram): добавить динамические инлайн-кнопки и инструменты диагностики в боте, установить права исполнения для скриптов 2026-07-15 22:23:58 +03:00
Dushnilin 7471b8c965 feat(telegram): добавить переключатель watchdog в настройках и применить исправления для бота 2026-07-15 21:45:26 +03:00
Dushnilin 8223d0de68 Release 1.1.3: исправить захардкоженный IP-адрес Clash API в боте и сопоставить команду doctor CLI с функцией global_check 2026-07-14 10:26:52 +03:00
Dushnilin 162915a94c Release 1.1.1: исправить отсутствующий вызов process_command и недостающий хелпер double float в старых средах ucode 2026-07-14 09:54:50 +03:00
Dushnilin 59c375fc02 Release 1.0.9: реализовать расширенные функции Telegram-бота 2026-07-14 09:37:44 +03:00
Dushnilin 445603ddca Release 1.0.7: исправить захардкоженный IP-адрес роутера в Telegram-боте 2026-07-14 09:16:32 +03:00
Dushnilin 8e95b79841 Исправление ошибок рефакторинга (packages.uc, state.uc, cache.uc) 2026-07-13 23:58:48 +03:00
Dushnilin f017d01a52 Рефакторинг кода: дедупликация ucode, исправления shellcheck и глобальное улучшение install.sh 2026-07-13 22:38:24 +03:00
Dushnilin ea19b48dd9 fix(telegram): закрыть fd 1000 в фоновом воркере для предотвращения утечки блокировок procd 2026-07-13 20:02:03 +03:00
Dushnilin 0db51ff9dd feat(telegram): автоматическая регистрация и синхронизация списка команд бота при запуске 2026-07-13 16:38:56 +03:00
Dushnilin 61cbe3bcc4 fix(telegram): исправление порядка объявления функций start_runtime и stop_runtime для корректной работы ucode 2026-07-13 16:35:16 +03:00
Dushnilin aa10487b5e feat(telegram): реализация полного набора функций бота: клавиатуры, задержка серверов, статистика, тесты и скорость 2026-07-13 16:29:40 +03:00
Dushnilin bafe70dd66 feat: перенос демона Telegram-бота с Go на Ucode, добавление вкладки настроек LuCI и локализации 2026-07-13 15:59:29 +03:00