docs: overhaul README.md and README.en.md with comprehensive 2026 feature list, AI stack, Watchdog architecture, Telegram bot commands, and CLI reference
This commit is contained in:
+63
-71
@@ -15,97 +15,89 @@
|
||||
|
||||
## ⚡ About Tachyon
|
||||
|
||||
**Tachyon** is a direct fork of **[Forkop by @ushan0v](https://github.com/ushan0v/forkop)** (formerly **Podkop Plus**). The project has evolved into an independent, high-performance network routing engine and DPI bypass framework designed specifically for **OpenWrt** (fully supporting **OpenWrt 23.05, 24.10, 25.x, and SNAPSHOT** builds).
|
||||
**Tachyon** is an advanced, autonomous network routing, proxy orchestration, and anti-censorship engine designed specifically for **OpenWrt** routers (fully supporting **OpenWrt 23.05, 24.10, 25.x, and SNAPSHOT** builds). Direct fork of **[Forkop by @ushan0v](https://github.com/ushan0v/forkop)** (formerly **Podkop Plus**).
|
||||
|
||||
I built upon the solid engineering foundations of the original [Podkop by @itdoginfo](https://github.com/itdoginfo/podkop) and its evolution in [Forkop by @ushan0v](https://github.com/ushan0v/forkop), introducing enterprise-grade resilience, multi-protocol routing, and dynamic system self-healing.
|
||||
Tachyon combines the power of **sing-box**, local DPI bypass engines (**Zapret v1 / Zapret v2 / ByeDPI**), an interactive **Telegram bot**, and a cutting-edge **2026 AI Stack** (autonomous **AI Doctor** & **HTTP REST Agent API / OpenAPI 3.0**).
|
||||
|
||||
The core backend of Tachyon is written in **ucode** — OpenWrt's native, lightweight scripting language — delivering blazingly fast execution with minimal RAM footprint on embedded hardware.
|
||||
The entire backend logic is written in **ucode** — OpenWrt's native, lightweight scripting language — delivering instant response times with minimal RAM footprint (starting from 128 MB RAM devices).
|
||||
|
||||
---
|
||||
|
||||
## 🔥 Key Features
|
||||
## 🔥 Core Features & Architecture
|
||||
|
||||
### 🛡️ Multi-Protocol Proxying & Local DPI Bypass
|
||||
* **sing-box Integration**: Native support for modern proxy protocols including **VLESS**, **VMess**, **Shadowsocks**, **Trojan**, and **WireGuard**.
|
||||
* **Local DPI Bypass (Zapret v1 / Zapret v2 / ByeDPI)**:
|
||||
* Full built-in integration with **Zapret v1 (`nfqws`)**, **Zapret v2 (`nfqws2`)**, and **ByeDPI** (`ciadpi`) desync engines for flexible local packet manipulation directly on the router without third-party proxy servers.
|
||||
### 🛡️ 1. Multi-Protocol Proxying & Local DPI Bypass
|
||||
* **sing-box Engine**: Native support for modern proxy protocols — **VLESS (Reality / gRPC / WS)**, **VMess**, **Shadowsocks**, **Trojan**, and **WireGuard**.
|
||||
* **Local DPI Bypass Without External VPS**:
|
||||
* Full built-in integration with **Zapret v1 (`nfqws`)**, **Zapret v2 (`nfqws2`)**, and **ByeDPI (`ciadpi`)** desync engines for local packet manipulation directly on the router.
|
||||
* **Multi-Dimensional Selective Routing**:
|
||||
* **By Domains, IP Subnets & Ports**: Route only selected target traffic through proxy or DPI desync engines.
|
||||
* **By Client Devices (MAC / IP)**: Per-device routing rules for individual home network clients (Smart TVs, phones, PCs).
|
||||
* **By GeoIP & Countries**: Filter and route traffic based on destination country (GeoIP / GeoSite) with full inclusion/exclusion list controls.
|
||||
* **Automated Subscription Updates**: Background fetching and parsing of remote proxy subscription links.
|
||||
* **By Domains & IP Subnets**: Route only target traffic through proxies or desync engines.
|
||||
* **By Client Devices (MAC / IP)**: Per-device routing rules for Smart TVs, smartphones, PCs, and gaming consoles.
|
||||
* **By GeoIP & Countries**: Flexible inclusion/exclusion list controls based on destination country.
|
||||
* **Automated Subscription Updates**: Background fetching, parsing, and node rotation from remote subscription URLs.
|
||||
|
||||
### 🤖 Interactive Telegram Control Bot
|
||||
A feature-rich control center right inside your messenger:
|
||||
* **Live Rule Management**: View active routing lists and instantly add new domains or IP subnets on the fly.
|
||||
* **Instant Toggle**: Enable or disable routing sections with a single button.
|
||||
* **Server Selection & Latency**: Switch active proxy nodes with live RTT ping measurements.
|
||||
* **Device Access Control**: View active DHCP clients and block/unblock internet access by MAC address.
|
||||
* **Network Diagnostics**: Trigger connection tests directly from Telegram.
|
||||
---
|
||||
|
||||
### 🤖 AI Doctor & HTTP REST Agent API (2026 AI Stack)
|
||||
* **Tachyon AI Doctor (v2)**: Advanced AI diagnostic engine supporting modern LLMs (**OpenAI**, **Anthropic Claude**, **DeepSeek**, and custom OpenAI-compatible servers/OpenRouter/Ollama).
|
||||
* **Contextual Intelligence**: Feeds the LLM real-time service status, Watchdog failure history (OOM events, error streaks), and compressed system logs.
|
||||
### 🤖 2. AI Doctor & HTTP REST Agent API (2026 AI Stack)
|
||||
* **Tachyon AI Doctor (v2)**: Advanced AI diagnostic engine supporting modern LLMs (**OpenAI**, **Anthropic Claude**, **DeepSeek**, or local models via OpenRouter / Ollama).
|
||||
* **Deep Contextual Intelligence**: Feeds real-time service health, Watchdog failure history (OOM events, error streaks), and compressed system logs into the LLM prompt.
|
||||
* **Multi-Fix Execution Chains**: Generates multi-action repair sequences with dedicated UI buttons per fix or a single "Fix All" action.
|
||||
* **13 Built-in Quick Fix Codes**: Automated repairs for sing-box, nftables, dnsmasq, resolv.conf, DNS cache clearing, subscription refreshing, and network restarts.
|
||||
* **13 Built-in Quick Fix Codes**: Automated repairs for sing-box, nftables, dnsmasq, resolv.conf, DNS cache clearing, subscription refreshing, and network stack restarts.
|
||||
* **Language Modes**: Configurable diagnosis output language (`ru` / `en`).
|
||||
* **🤖 Interactive Telegram Commands (`/ai_doctor` & `/fix`)**:
|
||||
* Trigger AI diagnostics directly from Telegram using `/ai_doctor` with interactive Inline Keyboards for instant quick-fix execution.
|
||||
* **🌐 HTTP REST Agent API & OpenAPI 3.0 (Swagger)**:
|
||||
* Full-featured API at `/cgi-bin/tachyon-agent/` with granular READ/WRITE permission controls secured by a Bearer token (`agent_api_token`).
|
||||
* Native **OpenAPI 3.0.3** spec (`GET /cgi-bin/tachyon-agent/openapi.json`) and OpenAI Function Calling schema (`GET /tools`) for seamless integration with **ChatGPT Custom GPTs**, N8N, Dify, Flowise, and autonomous LLM agents (Cursor, AutoGPT, Claude Code).
|
||||
* Native **OpenAPI 3.0.3** spec (`GET /cgi-bin/tachyon-agent/openapi.json`) for seamless integration with **ChatGPT Custom GPTs**, N8N, Dify, Flowise, and autonomous LLM agents (Cursor, AutoGPT, Claude Code).
|
||||
|
||||
### 🩺 System Self-Healing — Tachyon Doctor
|
||||
An intelligent local diagnostic and repair engine available via CLI (`tachyon doctor`) or WebUI:
|
||||
* Scans all core services (`sing-box`, `zapret`, `zapret2`, `byedpi`, `dnsmasq`, `watchdog`).
|
||||
* Validates `nftables` chains and local DNS resolution health.
|
||||
* **Auto-Repair**: Automatically rebuilds broken firewall rules and restarts crashed services without requiring a full router reboot.
|
||||
---
|
||||
|
||||
### ⚡ Reliability, OpenWrt 25+ & Watchdog
|
||||
* **OpenWrt 25+ Full Compatibility**: Full support for upcoming release branches and bleeding-edge OpenWrt toolchains.
|
||||
* **Seamless Hot-Reload**: Rule updates and server switches apply softly without dropping active TCP connections (Discord calls, VoIP, and downloads remain uninterrupted).
|
||||
* **OOM Watchdog & Memory Tuning**: Continuous RAM health monitoring. Dynamically adjusts process limits (`GOMEMLIMIT`) under memory pressure and sends Telegram alerts.
|
||||
* **MSS Clamping (MTU Fix)**: Automated resolution of MTU fragmentation and frozen TCP handshakes over tunnel interfaces.
|
||||
### 📱 3. Interactive Telegram Control Bot
|
||||
A feature-rich control center right inside your messenger:
|
||||
* **Live Rule Management**: View active routing lists and instantly add new domains or IP subnets on the fly.
|
||||
* **Instant Toggle**: Enable or disable routing sections with a single button.
|
||||
* **Server Selection & Latency**: Switch active proxy nodes with live RTT ping measurements.
|
||||
* **Device Access Control**: View active DHCP clients and block/unblock internet access by MAC address.
|
||||
* **Diagnostics & Commands**: `/doctor`, `/ai_doctor`, `/fix <code_name>`, `/restart`, `/backup`.
|
||||
|
||||
#### 🛡️ Watchdog — Protection & Self-Healing System
|
||||
---
|
||||
|
||||
Watchdog is the heart of Tachyon's stability. It continuously monitors all critical services and automatically recovers from failures without rebooting the router. Version 1.2.57 introduces a comprehensive overhaul of the protection system:
|
||||
### 🛡️ 4. Watchdog — Protection & Self-Healing System
|
||||
Watchdog is the heart of Tachyon's stability, running every 5–15 seconds without external dependencies:
|
||||
* **Atomic Operations & UCI Backups**: Configuration writes via `tmp` + `mv` prevent file corruption during sudden power losses.
|
||||
* **Restart-Loop Protection**: Maximum 3 restarts per 10 minutes (`safe_proxy_restart()`), `PROXY_RESTART_LOCK` mutex, and DNS query loop cooldowns.
|
||||
* **Memory Optimization (OOM Watchdog)**: Dynamic `GOMEMLIMIT` adjustment under memory pressure with automated Telegram alerts.
|
||||
* **Seamless Hot-Reload**: Rule updates and server switches apply softly without dropping active TCP connections (Discord calls, gaming, and downloads remain uninterrupted).
|
||||
* **WAN & Gateway Recovery**: Active interface monitoring and automated route recovery during ISP outages.
|
||||
|
||||
**Atomic Operations & Data Integrity:**
|
||||
* **Atomic UCI Restore**: All configuration changes are written through an intermediate backup — if a write fails, the system restores the previous working state.
|
||||
* **Backup Validation**: Before restoring configuration, backups are checked for integrity and validity — corrupted backups are discarded.
|
||||
* **Atomic JSON Writes**: sing-box generator, subscription cache, diagnostics, and runtime write configs via `tmp` + `mv`, preventing partial writes on crash.
|
||||
---
|
||||
|
||||
**Restart-Loop Protection:**
|
||||
* **Proxy Cooldown**: Maximum 3 proxy restarts per 10 minutes (`safe_proxy_restart()`). When the limit is exceeded, restarts are suspended and a notification is sent.
|
||||
* **Restart Lock**: A `PROXY_RESTART_LOCK` mutex prevents concurrent sing-box restarts from different threads.
|
||||
* **DNS Loop Cooldown**: When DNS query loops are detected, automatic switching is suspended for 5 minutes to allow stabilization.
|
||||
|
||||
**Data Correctness:**
|
||||
* **Empty Section Validation**: Checks for actual data in `domain`, `domain_suffix`, `ip_cidr` sections — empty sections are not written to config.
|
||||
* **Correct Config Reading**: Fixed a bug where the `"network"` section was read instead of `CONFIG_NAME`.
|
||||
* **nslookup Fix**: BusyBox compatibility — correct `nslookup -type=A` and `-port=53` operation.
|
||||
|
||||
**Telegram Bot & Notifications:**
|
||||
* **Notification Rate Limiting**: Maximum 10 Telegram notifications per 5 minutes, preventing spam during mass failures.
|
||||
* **Atomic Telegram Config Restore**: Bot config is restored via `cp` to tmp then `mv` — preventing corruption on failure.
|
||||
* **Persistent Paths**: Backups and staging files stored in `/etc/.tachyon/` — survive between reboots.
|
||||
|
||||
**Firewall & nftables:**
|
||||
* **Background Reload**: Firewall reload runs in the background (`reload_firewall &`), not blocking the main watchdog thread.
|
||||
* **nftables Table Check**: nftables operations only execute after confirming the table exists.
|
||||
* **Reload Deduplication**: Eliminated duplicate `reload_firewall` calls from different modules.
|
||||
|
||||
**Wan-Monitor & Routing:**
|
||||
* **Wan-Monitor Notification Rate Limit**: 60-second cooldown between WAN problem notifications.
|
||||
* **Merged Recovery**: Unified function for restoring both WAN and gateway routes — prevents races during parallel recovery.
|
||||
* **Orphan Config Cleanup**: Automatic removal of temporary configs left over from interrupted startups.
|
||||
|
||||
### 🖥️ Modern Web Interface (LuCI)
|
||||
### 🖥️ 5. Modern Web Interface (LuCI - TypeScript)
|
||||
* Native integration into OpenWrt's LuCI dashboard.
|
||||
* Real-time latency tracking, subscription manager, rule editor, and service controls.
|
||||
* **Dynamic Repository Links**: The globe icon in each component card links to the installed variant's repository (extended → `shtorm-7/sing-box-extended`, lx → `Leadaxe/sing-box-lx`, stable → `SagerNet/sing-box`).
|
||||
* **Commit-Level Update Tracking**: The updates interface shows "Update available for current release" when a newer commit is available within the same release tag (e.g., 1.2.57).
|
||||
* **Interactive Dashboard**: Real-time latency tracking, subscription manager, rule editor, and service controls in a few clicks.
|
||||
* **Dynamic Repository Links**: Component cards link directly to the installed variant's GitHub repository (extended, lx, stable).
|
||||
* **Commit-Level Update Tracking**: Alerts for newer commits within the same release tag.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ CLI & API Quick Reference
|
||||
|
||||
```bash
|
||||
# === System Diagnostics ===
|
||||
tachyon doctor # Run local diagnostics without LLM
|
||||
tachyon ai_doctor # Run AI Doctor analysis (with LLM)
|
||||
tachyon ai_doctor_last # View last saved AI report
|
||||
tachyon apply_quick_fix clear_dns_cache # Apply specific quick fix code
|
||||
tachyon diagnose_json # Output full diagnostic JSON
|
||||
|
||||
# === Service Management & Watchdog ===
|
||||
tachyon ai_heal # Trigger manual self-healing cycle
|
||||
tachyon ai_status # View concise Watchdog status
|
||||
tachyon ai_status_full # View full Watchdog metrics
|
||||
|
||||
# === HTTP REST API Checks ===
|
||||
curl http://192.168.1.1/cgi-bin/tachyon-agent/health
|
||||
curl http://192.168.1.1/cgi-bin/tachyon-agent/openapi.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -118,7 +110,7 @@ sh <(wget -O - https://raw.githubusercontent.com/Dushnilin/tachyon/main/install.
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> **Automatic Migration:** Existing configurations from **Forkop**, **Podkop Plus**, or original **Podkop** are fully compatible. The installer will automatically migrate your settings to `/etc/config/tachyon`.
|
||||
> **Automatic Migration:** Existing configurations from **Forkop**, **Podkop Plus**, or original **Podkop** are fully compatible. The installer will automatically migrate your settings to `/etc/config/tachyon` without data loss.
|
||||
|
||||
---
|
||||
|
||||
@@ -136,7 +128,7 @@ Tachyon stands on the shoulders of incredible open-source projects:
|
||||
|
||||
## 💖 Support & Donations
|
||||
|
||||
If Tachyon powers your daily networking and helps keep your connection fast and secure, consider supporting ongoing development! ☕ 🧀 🌭
|
||||
If Tachyon powers your daily networking and keeps your connection fast and secure, consider supporting ongoing development! ☕ 🧀 🌭
|
||||
|
||||
💳 **Credit Cards / SBP / Tinkoff Pay:**
|
||||
👉 [**Support the project via CloudTips**](https://pay.cloudtips.ru/p/48c57581)
|
||||
|
||||
@@ -15,120 +15,112 @@
|
||||
|
||||
## ⚡ О проекте
|
||||
|
||||
**Tachyon** — это прямой форк проекта **[Forkop от @ushan0v](https://github.com/ushan0v/forkop)** (ранее известного как **Podkop Plus**). Проект переименован и развивается как независимое, продвинутое и современное решение для роутеров под управлением **OpenWrt** (полная поддержка всех версий **OpenWrt 23.05, 24.10, 25.x и SNAPSHOT**).
|
||||
**Tachyon** — это продвинутое, автономное и современное решение для оркестрации сетевого трафика, проксирования и обхода цензуры на роутерах под управлением **OpenWrt** (полная поддержка всех версий **OpenWrt 23.05, 24.10, 25.x и SNAPSHOT**). Прямой форк проекта **[Forkop от @ushan0v](https://github.com/ushan0v/forkop)** (ранее **Podkop Plus**).
|
||||
|
||||
Я сохранил лучшие инженерные идеи оригинального проекта [Podkop от @itdoginfo](https://github.com/itdoginfo/podkop) и его эволюции в лице [Forkop от @ushan0v](https://github.com/ushan0v/forkop), существенно расширил архитектурный фундамент и превратил его в универсальный высокопроизводительный комбайн для управления сетевым трафиком, проксирования и обхода блокировок.
|
||||
Проект объединяет в себе мощь **sing-box**, локальные средства обхода DPI (**Zapret v1 / Zapret v2 / ByeDPI**), интерактивного **Telegram-бота**, а также инновационный **2026 AI Stack** (автономный **AI Doctor** и **HTTP REST Agent API / OpenAPI 3.0**).
|
||||
|
||||
Вся бэкенд-логика Tachyon написана на скриптовом языке **ucode** — нативном, сверхбыстром и экономичном движке OpenWrt, что обеспечивает минимальное потребление оперативной памяти и ресурсов процессора на любых роутерах.
|
||||
Вся бэкенд-логика написана на скриптовом языке **ucode** — нативном движке OpenWrt, что гарантирует мгновенный отклик и минимальное потребление RAM (от 128 МБ ОЗУ).
|
||||
|
||||
---
|
||||
|
||||
## 🔥 Ключевые возможности
|
||||
## 🔥 Главные возможности и архитектура
|
||||
|
||||
### 🛡️ Мультипротокольное проксирование и локальный обход DPI
|
||||
* **sing-box Engine**: Полная поддержка современных защищенных протоколов — **VLESS**, **VMess**, **Shadowsocks**, **Trojan**, **WireGuard**.
|
||||
* **Локальный обход DPI (Zapret v1 / Zapret v2 / ByeDPI)**:
|
||||
* Встроенная интеграция с движками **Zapret v1 (`nfqws`)**, **Zapret v2 (`nfqws2`)** и **ByeDPI** (`ciadpi`) для локального обхода глубокого анализа пакетов (DPI) непосредственно на роутере без использования внешних прокси-серверов.
|
||||
### 🛡️ 1. Мультипротокольное проксирование и локальный обход DPI
|
||||
* **Ядро sing-box Engine**: Нативная поддержка современных защищённых протоколов — **VLESS (Reality / gRPC / WS)**, **VMess**, **Shadowsocks**, **Trojan**, **WireGuard**.
|
||||
* **Локальный обход DPI без внешних VPS**:
|
||||
* Встроенная интеграция с движками **Zapret v1 (`nfqws`)**, **Zapret v2 (`nfqws2`)** и **ByeDPI (`ciadpi`)** для локальной десинхронизации пакетов на роутере.
|
||||
* **Многомерная селективная маршрутизация**:
|
||||
* **По доменам, IP-сетям и портам**: Направляйте через прокси или средства обхода только выбранный целевой трафик.
|
||||
* **По клиентским устройствам (MAC / IP)**: Настройка правил маршрутизации отдельно для конкретных устройств домашней сети (телевизоры, смартфоны, ПК).
|
||||
* **По GeoIP и странам**: Фильтрация и маршрутизация по странам назначения (GeoIP / GeoSite) с поддержкой списков исключения/включения.
|
||||
* **Автоматические подписки**: Синхронизация и фоновое обновление прокси-серверов по вашим подписочным ссылкам.
|
||||
* **По доменам и IP-сетям**: Направляйте через прокси или десинк только целевой трафик.
|
||||
* **По клиентским устройствам (MAC / IP)**: Раздельные правила для Smart TV, смартфонов, ПК и консолей.
|
||||
* **По GeoIP и странам**: Гибкие списки включения/исключения по странам назначения.
|
||||
* **Автоматические подписки**: Фоновая загрузка, распарсинг и обновление прокси-нод по подписочным URL.
|
||||
|
||||
### 🤖 Интерактивный Telegram-бот управления
|
||||
Полноценный пульт дистанционного управления роутером прямо из мессенджера:
|
||||
* **Управление правилами «на лету»**: Просмотр списков обхода и моментальное добавление новых доменов или IP-сетей (включая пакетное добавление).
|
||||
* **Мгновенный контроль секций**: Включение и отключение любых маршрутов одной кнопкой.
|
||||
* **Выбор серверов и задержки**: Переключение активных прокси-нод с автоматическим замером задержки (ping/RTT).
|
||||
* **Управление устройствами LAN**: Просмотр активных DHCP-клиентов и блокировка/разблокировка доступа в интернет по MAC-адресам.
|
||||
* **Диагностика сети**: Запуск тестов доступности прямо из чата.
|
||||
---
|
||||
|
||||
### 🤖 ИИ-Доктор и HTTP REST Agent API (2026 AI Stack)
|
||||
* **Tachyon AI Doctor (v2)**: Интеллектуальный диагностический модуль с поддержкой современных LLM (**OpenAI**, **Anthropic Claude**, **DeepSeek** и пользовательских OpenAI-совместимых серверов/OpenRouter/Ollama).
|
||||
* **Контекстный анализ**: Передаёт в модель не только снимки служб, но и события Watchdog (OOM, серии ошибок) и последние сжатые логи роутера.
|
||||
* **Многокомпонентные цепочки фиксов (Multi-Fix)**: Возвращает цепочку автоматических исправлений с возможностью выбора конкретного фикса или одной кнопкой «Исправить всё».
|
||||
* **13 встроенных Quick Fix кодов**: Автоматический ремонт sing-box, nftables, dnsmasq, resolv.conf, очистка кэша DNS, обновление подписок и перезапуск сетевых служб.
|
||||
* **Языковые режимы**: Динамический выбор языка вердикта (`ru` / `en`).
|
||||
* **🤖 Управление через Telegram-бот (`/ai_doctor` & `/fix`)**:
|
||||
* Запуск AI-диагностики прямо из мессенджера одной командой `/ai_doctor` с выведением интерактивных Inline-кнопок для моментального применения авто-исправлений.
|
||||
### 🤖 2. ИИ-Доктор и HTTP REST Agent API (2026 AI Stack)
|
||||
* **Tachyon AI Doctor (v2)**: Умная диагностика роутера с использованием LLM (**OpenAI**, **Anthropic Claude**, **DeepSeek** или локальных моделей через OpenRouter / Ollama).
|
||||
* **Глубокий контекст**: Передаёт в модель не только текущие проверки, но и метрики Watchdog (OOM, серии сбоев) и последние сжатые логи роутера.
|
||||
* **Многокомпонентные цепочки фиксов (Multi-Fix)**: Возвращает цепочку автоматических исправлений с кнопками для каждого фикса и кнопкой «Исправить всё».
|
||||
* **13 встроенных Quick Fix кодов**: Авто-ремонт sing-box, nftables, dnsmasq, resolv.conf, очистка кэша DNS, обновление подписок и перезапуск сетевого стека.
|
||||
* **Языковые режимы**: Выбор языка вердикта (`ru` / `en`).
|
||||
* **🤖 Вызов из Telegram-бота (`/ai_doctor` & `/fix`)**:
|
||||
* Запуск ИИ-диагностики прямо из мессенджера одной командой `/ai_doctor` с выведением кнопок моментального исправления.
|
||||
* **🌐 HTTP REST Agent API & OpenAPI 3.0 (Swagger)**:
|
||||
* Полноценный API по адресу `/cgi-bin/tachyon-agent/` с разделением READ/WRITE эндпоинтов и защиты Bearer-токеном (`agent_api_token`).
|
||||
* Спецификация **OpenAPI 3.0.3** (`GET /cgi-bin/tachyon-agent/openapi.json`) и схема инструментов (`GET /tools`) для подсоединения к **ChatGPT Custom GPTs**, N8N, Dify, Flowise и автономным ИИ-агентам (Cursor, AutoGPT, Claude Code).
|
||||
* Безопасный REST API по адресу `/cgi-bin/tachyon-agent/` с авторизацией Bearer-токеном (`agent_api_token`).
|
||||
* Спецификация **OpenAPI 3.0.3** (`GET /cgi-bin/tachyon-agent/openapi.json`) для мгновенного подключения к **ChatGPT Custom GPTs**, N8N, Dify, Flowise и автономным ИИ-агентам (Cursor, AutoGPT, Claude Code).
|
||||
|
||||
### 🩺 Системный авторемонт — Tachyon Doctor
|
||||
Встроенный модуль локальной диагностики и самовосстановления (`tachyon doctor` или из WebUI):
|
||||
* Сканирование состояния всех ключевых служб (`sing-box`, `zapret`, `zapret2`, `byedpi`, `dnsmasq`, `watchdog`).
|
||||
* Валидация правил файрвола `nftables` и проверка резолвинга DNS через `localhost`.
|
||||
* **Автоматическое исправление**: Самостоятельно устраняет сбои (пересоздает цепочки `nftables`, перезапускает упавшие сервисы) без полной перезагрузки устройства.
|
||||
---
|
||||
|
||||
### ⚡ Надежность, Hot-reload & Watchdog
|
||||
* **Совместимость с OpenWrt 25+**: Полная интеграция с новыми релизовыми ветками и новейшими компонентами OpenWrt.
|
||||
* **Мягкая перезагрузка (Hot-Reload)**: Обновление правил и переключение серверов происходят без обрыва активных соединений (ваши звонки в Discord, Telegram или загрузки файлов не прервутся).
|
||||
* **OOM Watchdog & Оптимизация памяти**: Непрерывный мониторинг использования RAM. При нехватке памяти система автоматически регулирует лимиты (`GOMEMLIMIT`) и отправляет уведомление в Telegram.
|
||||
* **MSS Clamping (MTU Fix)**: Автоматическое решение проблем с "зависанием" TCP-пакетов и веб-страниц на туннельных интерфейсах.
|
||||
### 📱 3. Интерактивный Telegram-бот управления
|
||||
Полноценный пульт управления роутером из мессенджера:
|
||||
* **Управление правилами «на лету»**: Просмотр списков обхода и добавление новых доменов или IP-сетей.
|
||||
* **Мгновенный контроль секций**: Включение и отключение маршрутов одной кнопкой.
|
||||
* **Переключение серверов**: Выбор активных прокси-нод с автоматическим замером задержки (RTT ping).
|
||||
* **Управление устройствами LAN**: Просмотр активных клиентов и блокировка/разблокировка доступа по MAC-адресам.
|
||||
* **Диагностика и Команды**: `/doctor`, `/ai_doctor`, `/fix <код>`, `/restart`, `/backup`.
|
||||
|
||||
#### 🛡️ Watchdog — Система защиты и самовосстановления
|
||||
---
|
||||
|
||||
Watchdog — это сердце стабильности Tachyon. Он непрерывно контролирует состояние всех ключевых сервисов и автоматически устраняет сбои без перезагрузки роутера. В версии 1.2.57 проведена масштабная переработка системы защиты:
|
||||
### 🛡️ 4. Watchdog — Защита и Самовосстановление
|
||||
Watchdog — сердце стабильности Tachyon. Работает каждые 5–15 секунд без внешних зависимостей:
|
||||
* **Атомарные записи и UCI-бэкапы**: Запись конфигураций через `tmp` + `mv` предотвращает повреждение файлов при аварийном выключении питания.
|
||||
* **Защита от зацикливания перезапусков (Restart-Loop Prevention)**: Лимит не более 3 перезапусков за 10 минут (`safe_proxy_restart()`), мьютекс `PROXY_RESTART_LOCK` и кулдаун DNS-петель.
|
||||
* **Оптимизация памяти (OOM Watchdog)**: Динамическая регулировка `GOMEMLIMIT` при нехватке ОЗУ с отправкой уведомлений в Telegram.
|
||||
* **Мягкая перезагрузка (Hot-Reload)**: Смена серверов и правил без разрыва активных TCP-соединений (Discord, онлайн-игры и стримы не прерываются).
|
||||
* **Восстановление WAN и шлюзов**: Мониторинг сетевых интерфейсов и авто-поднятие при сбоях провайдера.
|
||||
|
||||
**Atomic-операции и целостность данных:**
|
||||
* **Атомарное восстановление UCI**: Все изменения конфигурации записываются через промежуточный бэкап — при сбое во время записи система восстанавливает предыдущее рабочее состояние.
|
||||
* **Валидация бэкапов**: Перед восстановлением конфигурации бэкап проверяется на целостность и валидность — повреждённые бэкапы отбрасываются.
|
||||
* **Атомарная запись JSON**: Генератор sing-box, кэш подписок, diagnostics и runtime пишут конфиги через `tmp` + `mv`, исключая повреждение при аварийном завершении.
|
||||
---
|
||||
|
||||
**Защита от restart-loop:**
|
||||
* **Cooldown прокси**: Максимум 3 перезапуска прокси за 10 минут (`safe_proxy_restart()`). При превышении лимита перезапуски приостанавливаются и отправляется уведомление.
|
||||
* **Lock перезапуска**: Мьютекс `PROXY_RESTART_LOCK` предотвращает параллельные перезапуски sing-box из разных потоков.
|
||||
* **Cooldown DNS-петли**: При зацикливании DNS-запросов автоматическое переключение приостанавливается на 5 минут для стабилизации.
|
||||
### 🖥️ 5. Современный Web-интерфейс LuCI (TypeScript)
|
||||
* Полная интеграция в штатный Web-интерфейс OpenWrt.
|
||||
* **Интерактивный дашборд**: Графика задержек, управление подписками, правилами и компонентами в несколько кликов.
|
||||
* **Динамические ссылки на репозитории**: Карточки компонентов ведут прямо на GitHub установленного варианта (extended, lx, stable).
|
||||
* **Commit-level отслеживание обновлений**: Оповещения о свежих коммитах в рамках текущего релиза.
|
||||
|
||||
**Корректность данных:**
|
||||
* **Валидация пустых секций**: Проверяется наличие реальных данных в секциях `domain`, `domain_suffix`, `ip_cidr` — пустые секции не записываются в конфиг.
|
||||
* **Правильное чтение конфига**: Исправлена ошибка чтения секции `"network"` вместо `CONFIG_NAME`.
|
||||
* **Исправление nslookup**: Совместимость с BusyBox — корректная работа `nslookup -type=A` и `-port=53`.
|
||||
---
|
||||
|
||||
**Telegram-бот и уведомления:**
|
||||
* **Rate limit уведомлений**: Максимум 10 Telegram-уведомлений за 5 минут, предотвращение спама при массовых сбоях.
|
||||
* **Атомарное восстановление конфига Telegram**: Конфиг бота восстанавливается через `cp` в tmp, затем `mv` — исключая повреждение при сбое.
|
||||
* **Персистентные пути**: Бэкапы и staging-файлы хранятся в `/etc/.tachyon/` — сохраняются между перезагрузками.
|
||||
## 🛠️ Справочник консоли (CLI & API Quick Reference)
|
||||
|
||||
**Firewall и nftables:**
|
||||
* **Фоновый reload**: Перезагрузка файрвола выполняется в фоновом режиме (`reload_firewall &`), не блокируя основной поток watchdog.
|
||||
* **Проверка таблиц nftables**: Операции с nftables выполняются только после подтверждения существования таблицы.
|
||||
* **Дедупликация reload**: Исключены повторные вызовы `reload_firewall` из разных модулей.
|
||||
```bash
|
||||
# === Системная диагностика ===
|
||||
tachyon doctor # Запуск локальной диагностики без LLM
|
||||
tachyon ai_doctor # Запуск анализа AI Doctor (с LLM)
|
||||
tachyon ai_doctor_last # Просмотр последнего сохранённого отчёта ИИ
|
||||
tachyon apply_quick_fix clear_dns_cache # Применение выбранного кода исправления
|
||||
tachyon diagnose_json # Вывод полного снимка в формате JSON
|
||||
|
||||
**Wan-monitor и маршрутизация:**
|
||||
* **Rate limit уведомлений wan-monitor**: cooldown 60 секунд между уведомлениями о проблемах с WAN.
|
||||
* **Объединённое восстановление**: Единая функция для восстановления и WAN, и шлюзовых маршрутов — исключает гонки при параллельном восстановлении.
|
||||
* **Очистка orphan-конфигов**: Автоматическое удаление временных конфигов, оставшихся от прерванных запусков.
|
||||
# === Управление службами и Watchdog ===
|
||||
tachyon ai_heal # Принудительный цикл самовосстановления
|
||||
tachyon ai_status # Краткий статус Watchdog
|
||||
tachyon ai_status_full # Расширенные метрики Watchdog
|
||||
|
||||
### 🖥️ Современный Web-интерфейс (LuCI)
|
||||
* Полная интеграция в стандартную панель управления OpenWrt.
|
||||
* Наглядный дашборд: мониторинг задержек, управление подписками, списками правил и компонентами в несколько кликов.
|
||||
* **Динамические ссылки на репозитории**: Глобус в карточке компонента ведёт на репозиторий установленного варианта (extended → `shtorm-7/sing-box-extended`, lx → `Leadaxe/sing-box-lx`, стабильный → `SagerNet/sing-box`).
|
||||
* **Commit-level отслеживание обновлений**: Интерфейс обновлений показывает «Доступно обновление текущего релиза» когда в рамках того же тега (например, 1.2.57) доступен более свежий коммит.
|
||||
# === Проверка HTTP REST API ===
|
||||
curl http://192.168.1.1/cgi-bin/tachyon-agent/health
|
||||
curl http://192.168.1.1/cgi-bin/tachyon-agent/openapi.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💻 Установка
|
||||
|
||||
Для установки Tachyon выполните следующую команду в консоли (SSH) вашего роутера:
|
||||
Для установки Tachyon выполните следующую команду в SSH-консоли вашего роутера:
|
||||
|
||||
```bash
|
||||
sh <(wget -O - https://raw.githubusercontent.com/Dushnilin/tachyon/main/install.sh)
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> **Автоматическая миграция:** Конфигурации от **Forkop**, **Podkop Plus** и оригинального **Podkop** полностью совместимы. Скрипт установки автоматически перенесет ваши правила и настройки в `/etc/config/tachyon` без потери данных.
|
||||
> **Автоматическая миграция:** Конфигурации от **Forkop**, **Podkop Plus** и оригинального **Podkop** полностью совместимы. Инсталлятор автоматически перенесет ваши правила в `/etc/config/tachyon` без потери данных.
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Оригинальные проекты и благодарности
|
||||
|
||||
Tachyon развивается благодаря сообществу и опирается на фундаментальные разработки:
|
||||
Tachyon опирается на фундаментальные разработки открытого сообщества:
|
||||
|
||||
* 🍴 **[Forkop (ushan0v)](https://github.com/ushan0v/forkop)** — прямой родительский проект (ранее Podkop Plus).
|
||||
* 🐕 **[Podkop (itdoginfo)](https://github.com/itdoginfo/podkop)** — оригинальный проект, заложивший основу архитектуры.
|
||||
* 📦 **[sing-box](https://github.com/SagerNet/sing-box)** — универсальный прокси-платформа.
|
||||
* 📦 **[sing-box](https://github.com/SagerNet/sing-box)** — универсальная прокси-платформа.
|
||||
* 🚀 **[zapret (bol-van)](https://github.com/bol-van/zapret2)** — средства локального обхода DPI (`nfqws` / `nfqws2`).
|
||||
* 🌐 **[ByeDPI](https://github.com/hrbrmstr/byedpi)** — локальный SOCKS-прокси для десинка пакетов.
|
||||
|
||||
@@ -136,7 +128,7 @@ Tachyon развивается благодаря сообществу и опи
|
||||
|
||||
## 💖 Поддержать разработку
|
||||
|
||||
Если Tachyon помогает вам и делает работу в сети комфортной, вы можете поддержать проект и автора — на кофе, серверы и вдохновение! ☕ 🧀 🌭
|
||||
Если Tachyon помогает вам и делает работу в сети комфортной, вы можете поддержать проект и автора! ☕ 🧀 🌭
|
||||
|
||||
💳 **Карты РФ / СБП / Tinkoff Pay:**
|
||||
👉 [**Поддержать проект на CloudTips**](https://pay.cloudtips.ru/p/48c57581)
|
||||
|
||||
Reference in New Issue
Block a user