173 lines
15 KiB
Markdown
173 lines
15 KiB
Markdown
<div align="center">
|
||
|
||

|
||
|
||
[](https://github.com/Dushnilin/tachyon/stargazers)
|
||
[](https://github.com/Dushnilin/tachyon/releases)
|
||
[](https://openwrt.org/)
|
||
[](LICENSE)
|
||
|
||
[**🇷🇺 Русский**](README.md) | [**🇬🇧 English**](README.en.md)
|
||
|
||
</div>
|
||
|
||
---
|
||
|
||
## ⚡ О проекте
|
||
|
||
**Tachyon** — это высокопроизводительное, автономное и современное решение для оркестрации сетевого трафика, проксирования и обхода цензуры на роутерах под управлением **OpenWrt** (полная совместимость с **OpenWrt 23.05, 24.10, 25.x и SNAPSHOT**). Прямой форк проекта **[Forkop от @ushan0v](https://github.com/ushan0v/forkop)** (ранее **Podkop Plus**).
|
||
|
||
Tachyon объединяет ядро **sing-box**, средства локального аппаратного обхода DPI (**Zapret v1 / Zapret v2 / ByeDPI**), интерактивного **Telegram-бота**, а также инновационный **AI Stack** (автономный **AI Doctor v2.5** с офлайн-диагностикой и **HTTP REST Agent API / OpenAPI 3.0**).
|
||
|
||
Вся внутренняя логика реализована на скриптовом движке **ucode** — нативном C-интерпретаторе OpenWrt, обеспечивающем ультранизкое потребление RAM (от 128 МБ ОЗУ) и мгновенный отклик.
|
||
|
||
---
|
||
|
||
## 🌐 Архитектура и конвейер трафика
|
||
|
||
<div align="center">
|
||
|
||

|
||
|
||
</div>
|
||
|
||
Tachyon перехватывает сетевой стек через ядро **nftables** и распределяет запросы без лишних задержек:
|
||
1. **Прямой трафик (Direct WAN)**: Отечественные сервисы, банки, Госуслуги и доверенные ресурсы идут без прокси с нулевой задержкой (`0 ms overhead`).
|
||
2. **Локальный DPI Desync (Zapret v2 / ByeDPI)**: YouTube 4K, Discord и сайты из списков десинхронизируются прямо на роутере без необходимости аренды VPS.
|
||
3. **Зашифрованный прокси-туннель (sing-box)**: Заблокированные ресурсы и приватный трафик направляются через защищённые протоколы (VLESS Reality, Hysteria2, WireGuard).
|
||
|
||
---
|
||
|
||
## 🔥 Главные возможности и подсистемы
|
||
|
||
### 🛡️ 1. Мультипротокольное проксирование и локальный обход DPI
|
||
* **Ядро sing-box Engine (v1.11+)**: Нативная поддержка современных защищённых протоколов — **VLESS (Reality / gRPC / WS)**, **VMess**, **Shadowsocks**, **Trojan**, **Hysteria2**, **WireGuard / AmneziaWG**.
|
||
* **Локальный обход DPI без внешних VPS**:
|
||
* Встроенная интеграция с движками **Zapret v1 (`nfqws`)**, **Zapret v2 (`nfqws2`)** и **ByeDPI (`ciadpi`)** для аппаратной десинхронизации TCP-сегментов (`fake`, `disorder`, `split2`, `multisplit`, `seqovl`, `wsize`).
|
||
* **Многомерная селективная маршрутизация**:
|
||
* **По доменам и IP-сетям**: Направляйте через прокси или десинк только целевой трафик.
|
||
* **По клиентским устройствам (MAC / IP)**: Раздельные правила для Smart TV, смартфонов, ПК и консолей.
|
||
* **По GeoIP и странам**: Гибкие списки включения/исключения по странам назначения.
|
||
* **Автоматические подписки**: Фоновая загрузка, распарсинг и обновление прокси-нод по подписочным URL с авто-тестированием RTT задержки.
|
||
|
||
#### 🌐 Секции Hosts и Списки DNS-блокировок (Hosts Engine)
|
||
* **Статический DNS-Overriding (`dns_hosts`)**: Прямое переопределение IP-адресов для доменов в DNS-модуле sing-box и dnsmasq без необходимости подмены `/etc/hosts`.
|
||
* **Загрузка сторонних списков Hosts (`hosts_list_urls`)**: Автоматическая фоновая загрузка и интеграция внешних реестров и списков блокировок (AdAway, StevenBlack, РКН/Антизапрет списки).
|
||
* **Умный кэш (`combined.txt`)**: Автоматическое слияние, очистка и единое кэширование нескольких источников списков с поддержкой мгновенного переиспользования.
|
||
* **Резервирование через зеркала (GitHub Mirror Retry)**: При сетевых блокировках github.com модули загрузки автоматически переключаются на зеркала (`gh-proxy.com`, `ghproxy.net`).
|
||
* **Секции чистого Hosts (`action = hosts`)**: Создание изолированных правил перенаправления DNS без обязательной привязки к прокси-нодам.
|
||
|
||
---
|
||
|
||
### 🤖 2. ИИ-Доктор и HTTP REST Agent API (AI Stack v2.5)
|
||
* **Tachyon AI Doctor (v2.5)**: Глубокая диагностика роутера с использованием LLM (**OpenAI**, **Anthropic Claude**, **DeepSeek** или локальных моделей через OpenRouter / Ollama).
|
||
* **Глубокий контекст**: Передаёт в модель не только текущие проверки, но и метрики Watchdog (OOM, серии сбоев) и последние сжатые логи роутера.
|
||
* **Многокомпонентные цепочки фиксов (Multi-Fix)**: Возвращает цепочку автоматических исправлений с кнопками для каждого фикса и кнопкой «Исправить всё».
|
||
* **🩺 Офлайн-диагностика Local Rule Doctor**:
|
||
* **13 встроенных Quick Fix кодов**: Авто-ремонт sing-box, nftables, dnsmasq, resolv.conf, очистка кэша DNS, обновление подписок и перезапуск сетевого стека.
|
||
* **Синхронизация времени NTP (`fix_system_time`)**: Автоматическое обнаружение и исправление сбоя системных часов.
|
||
* **Сброс conntrack (`flush_conntrack`)**: Ликвидация переполнения таблицы трансляции соединений при сетевых штормах.
|
||
* **DNS Dead-lock Repair (`fix_bootstrap_dns`)**: Предотвращение циклических блокировок первичных DNS sing-box.
|
||
* **Оптимизация MTU туннелей (`optimize_mtu`)**: Расчёт оптимального размера пакета для AWG/WireGuard.
|
||
* **🚨 Аварийное восстановление интернета (Native Internet Fallback)**:
|
||
* Мгновенный возврат обычного интернета одной кнопкой в UI или командой `tachyon restore_native_internet`. Полная чистая остановка прокси и сброс nftables/ip rule без перезагрузки роутера.
|
||
* **🌐 HTTP REST Agent API & OpenAPI 3.0 (Swagger)**:
|
||
* Безопасный 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).
|
||
|
||
---
|
||
|
||
### 📱 3. Интерактивный Telegram-бот управления
|
||
Полноценный пульт управления роутером из мессенджера:
|
||
* **Управление правилами «на лету»**: Просмотр списков обхода и добавление новых доменов или IP-сетей.
|
||
* **Мгновенный контроль секций**: Включение и отключение маршрутов одной кнопкой.
|
||
* **Переключение серверов**: Выбор активных прокси-нод с автоматическим замером задержки (RTT ping).
|
||
* **Управление устройствами LAN**: Просмотр активных клиентов и блокировка/разблокировка доступа по MAC-адресам.
|
||
* **Диагностика и Команды**: `/doctor`, `/ai_doctor`, `/fix <код>`, `/restart`, `/backup`, `/status`.
|
||
|
||
---
|
||
|
||
### 🛡️ 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 и шлюзов**: Мониторинг сетевых интерфейсов и авто-поднятие при сбоях провайдера.
|
||
|
||
---
|
||
|
||
### 🖥️ 5. Современный Web-интерфейс LuCI (TypeScript)
|
||
* Полная интеграция в штатный Web-интерфейс OpenWrt.
|
||
* **Интерактивный дашборд**: Графика задержек, управление подписками, правилами и компонентами в несколько кликов.
|
||
* **Потоковый терминал установки**: Живой вывод логов процессов установки и обновлений компонентов без зависаний.
|
||
* **Динамические ссылки на репозитории**: Карточки компонентов ведут прямо на GitHub установленного варианта (extended, lx, stable).
|
||
* **Commit-level отслеживание обновлений**: Оповещения о свежих коммитах в рамках текущего релиза.
|
||
|
||
---
|
||
|
||
## 🛠️ Справочник консоли (CLI & API Quick Reference)
|
||
|
||
```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
|
||
|
||
# === Аварийное восстановление интернета ===
|
||
tachyon restore_native_internet # Мгновенная остановка прокси и возврат чистого WAN
|
||
|
||
# === Управление службами и Watchdog ===
|
||
tachyon ai_heal # Принудительный цикл самовосстановления
|
||
tachyon ai_status # Краткий статус Watchdog
|
||
tachyon ai_status_full # Расширенные метрики Watchdog
|
||
|
||
# === Проверка 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-консоли вашего роутера:
|
||
|
||
```bash
|
||
sh <(wget -O - https://raw.githubusercontent.com/Dushnilin/tachyon/main/install.sh)
|
||
```
|
||
|
||
> [!NOTE]
|
||
> **Автоматическая миграция:** Конфигурации от **Forkop**, **Podkop Plus** и оригинального **Podkop** полностью совместимы. Инсталлятор автоматически перенесет ваши правила в `/etc/config/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)** — универсальная прокси-платформа.
|
||
* 🚀 **[zapret (bol-van)](https://github.com/bol-van/zapret2)** — средства локального обхода DPI (`nfqws` / `nfqws2`).
|
||
* 🌐 **[ByeDPI](https://github.com/hrbrmstr/byedpi)** — локальный SOCKS-прокси для десинка пакетов.
|
||
|
||
---
|
||
|
||
## 💖 Поддержать разработку
|
||
|
||
Если Tachyon помогает вам и делает работу в сети комфортной, вы можете поддержать проект и автора! ☕ 🧀 🌭
|
||
|
||
💳 **Карты РФ / СБП / Tinkoff Pay:**
|
||
👉 [**Поддержать проект на CloudTips**](https://pay.cloudtips.ru/p/48c57581)
|
||
|
||
---
|
||
|
||
<div align="center">
|
||
|
||
Made with ❤️ for OpenWrt Community
|
||
|
||
</div>
|