docs(readme): анимированный SVG hero-баннер и диаграмма архитектуры, актуализация возможностей AI Doctor v2.5 и аварийного восстановления
This commit is contained in:
+38
-15
@@ -2,7 +2,7 @@
|
||||
|
||||

|
||||
|
||||
[](https://github.com/Dushnilin/tachyon/stargazers)
|
||||
[](https://github.com/Dushnilin/tachyon/stargazers)
|
||||
[](https://github.com/Dushnilin/tachyon/releases)
|
||||
[](https://openwrt.org/)
|
||||
[](LICENSE)
|
||||
@@ -17,23 +17,38 @@
|
||||
|
||||
**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**).
|
||||
|
||||
Tachyon combines the power of **sing-box**, local DPI bypass engines (**Zapret v1 / Zapret v2 / ByeDPI**), an interactive **Telegram bot**, and a cutting-edge **AI Stack** (autonomous **AI Doctor** & **HTTP REST Agent API / OpenAPI 3.0**).
|
||||
Tachyon combines the power of **sing-box**, local hardware DPI bypass engines (**Zapret v1 / Zapret v2 / ByeDPI**), an interactive **Telegram bot**, and a cutting-edge **AI Stack** (autonomous **AI Doctor v2.5** with offline local diagnostics & **HTTP REST Agent API / OpenAPI 3.0**).
|
||||
|
||||
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).
|
||||
The entire backend logic is written in **ucode** — OpenWrt's native, high-performance C scripting language — delivering instant response times with minimal RAM footprint (starting from 128 MB RAM devices).
|
||||
|
||||
---
|
||||
|
||||
## 🔥 Core Features & Architecture
|
||||
## 🌐 Architecture & Traffic Pipeline
|
||||
|
||||
<div align="center">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
|
||||
Tachyon intercepts network flows via kernel **nftables** and dispatches requests without unnecessary latency:
|
||||
1. **Direct WAN**: Local services, national banks, and trusted destinations proceed without proxy overhead (`0 ms overhead`).
|
||||
2. **Local DPI Desync (Zapret v2 / ByeDPI)**: YouTube 4K, Discord, and target websites are desynchronized directly on the router without requiring a VPS.
|
||||
3. **Encrypted Proxy Tunnel (sing-box)**: Censored endpoints and private traffic are routed through modern protocols (VLESS Reality, Hysteria2, WireGuard).
|
||||
|
||||
---
|
||||
|
||||
## 🔥 Core Features & Subsystems
|
||||
|
||||
### 🛡️ 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**.
|
||||
* **sing-box Engine (v1.11+)**: Native support for modern proxy protocols — **VLESS (Reality / gRPC / WS)**, **VMess**, **Shadowsocks**, **Trojan**, **Hysteria2**, and **WireGuard / AmneziaWG**.
|
||||
* **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.
|
||||
* Full built-in integration with **Zapret v1 (`nfqws`)**, **Zapret v2 (`nfqws2`)**, and **ByeDPI (`ciadpi`)** desync engines for hardware TCP segment manipulation (`fake`, `disorder`, `split2`, `multisplit`, `seqovl`, `wsize`).
|
||||
* **Multi-Dimensional Selective Routing**:
|
||||
* **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.
|
||||
* **Automated Subscription Updates**: Background fetching, parsing, and node rotation from remote subscription URLs with automated latency (RTT) testing.
|
||||
|
||||
#### 🌐 Hosts Sections & DNS Overrides (Hosts Engine)
|
||||
* **Static DNS Overriding (`dns_hosts`)**: Direct mapping of domains to static IP addresses in sing-box DNS and dnsmasq without editing `/etc/hosts`.
|
||||
@@ -44,16 +59,20 @@ The entire backend logic is written in **ucode** — OpenWrt's native, lightweig
|
||||
|
||||
---
|
||||
|
||||
### 🤖 2. AI Doctor & HTTP REST Agent API (AI Stack)
|
||||
* **Tachyon AI Doctor (v2)**: Advanced AI diagnostic engine supporting modern LLMs (**OpenAI**, **Anthropic Claude**, **DeepSeek**, or local models via OpenRouter / Ollama).
|
||||
### 🤖 2. AI Doctor & HTTP REST Agent API (AI Stack v2.5)
|
||||
* **Tachyon AI Doctor (v2.5)**: Deep 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.
|
||||
* **🩺 Offline Local Rule Doctor**:
|
||||
* **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.
|
||||
* **NTP Time Synchronization (`fix_system_time`)**: Automatic detection and recovery from system clock desync.
|
||||
* **Conntrack Table Flush (`flush_conntrack`)**: Clears connection tracking tables during network storms.
|
||||
* **DNS Dead-lock Repair (`fix_bootstrap_dns`)**: Prevents circular deadlock on sing-box primary bootstrap resolvers.
|
||||
* **Tunnel MTU Optimization (`optimize_mtu`)**: Automatic MTU tuning for WireGuard / AmneziaWG tunnels.
|
||||
* **🚨 Emergency Native Internet Fallback**:
|
||||
* Instant 1-click restore of clean WAN internet via UI or `tachyon restore_native_internet` CLI command without rebooting the router.
|
||||
* **🌐 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`).
|
||||
* Full-featured API at `/cgi-bin/tachyon-agent/` with granular Bearer token security (`agent_api_token`).
|
||||
* 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).
|
||||
|
||||
---
|
||||
@@ -64,7 +83,7 @@ A feature-rich control center right inside your messenger:
|
||||
* **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`.
|
||||
* **Diagnostics & Commands**: `/doctor`, `/ai_doctor`, `/fix <code_name>`, `/restart`, `/backup`, `/status`.
|
||||
|
||||
---
|
||||
|
||||
@@ -81,6 +100,7 @@ Watchdog is the heart of Tachyon's stability, running every 5–15 seconds witho
|
||||
### 🖥️ 5. Modern Web Interface (LuCI - TypeScript)
|
||||
* Native integration into OpenWrt's LuCI dashboard.
|
||||
* **Interactive Dashboard**: Real-time latency tracking, subscription manager, rule editor, and service controls in a few clicks.
|
||||
* **Streaming Terminal Modal**: Real-time console logs for component installations and updates without UI freezes.
|
||||
* **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.
|
||||
|
||||
@@ -89,13 +109,16 @@ Watchdog is the heart of Tachyon's stability, running every 5–15 seconds witho
|
||||
## 🛠️ CLI & API Quick Reference
|
||||
|
||||
```bash
|
||||
# === System Diagnostics ===
|
||||
# === System & Offline 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
|
||||
|
||||
# === Emergency Internet Fallback ===
|
||||
tachyon restore_native_internet # Stop proxy and cleanly restore pure WAN internet
|
||||
|
||||
# === Service Management & Watchdog ===
|
||||
tachyon ai_heal # Trigger manual self-healing cycle
|
||||
tachyon ai_status # View concise Watchdog status
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||

|
||||
|
||||
[](https://github.com/Dushnilin/tachyon/stargazers)
|
||||
[](https://github.com/Dushnilin/tachyon/stargazers)
|
||||
[](https://github.com/Dushnilin/tachyon/releases)
|
||||
[](https://openwrt.org/)
|
||||
[](LICENSE)
|
||||
@@ -15,25 +15,40 @@
|
||||
|
||||
## ⚡ О проекте
|
||||
|
||||
**Tachyon** — это продвинутое, автономное и современное решение для оркестрации сетевого трафика, проксирования и обхода цензуры на роутерах под управлением **OpenWrt** (полная поддержка всех версий **OpenWrt 23.05, 24.10, 25.x и SNAPSHOT**). Прямой форк проекта **[Forkop от @ushan0v](https://github.com/ushan0v/forkop)** (ранее **Podkop Plus**).
|
||||
**Tachyon** — это высокопроизводительное, автономное и современное решение для оркестрации сетевого трафика, проксирования и обхода цензуры на роутерах под управлением **OpenWrt** (полная совместимость с **OpenWrt 23.05, 24.10, 25.x и SNAPSHOT**). Прямой форк проекта **[Forkop от @ushan0v](https://github.com/ushan0v/forkop)** (ранее **Podkop Plus**).
|
||||
|
||||
Проект объединяет в себе мощь **sing-box**, локальные средства обхода DPI (**Zapret v1 / Zapret v2 / ByeDPI**), интерактивного **Telegram-бота**, а также инновационный **AI Stack** (автономный **AI Doctor** и **HTTP REST Agent API / OpenAPI 3.0**).
|
||||
Tachyon объединяет ядро **sing-box**, средства локального аппаратного обхода DPI (**Zapret v1 / Zapret v2 / ByeDPI**), интерактивного **Telegram-бота**, а также инновационный **AI Stack** (автономный **AI Doctor v2.5** с офлайн-диагностикой и **HTTP REST Agent API / OpenAPI 3.0**).
|
||||
|
||||
Вся бэкенд-логика написана на скриптовом языке **ucode** — нативном движке OpenWrt, что гарантирует мгновенный отклик и минимальное потребление RAM (от 128 МБ ОЗУ).
|
||||
Вся внутренняя логика реализована на скриптовом движке **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**: Нативная поддержка современных защищённых протоколов — **VLESS (Reality / gRPC / WS)**, **VMess**, **Shadowsocks**, **Trojan**, **WireGuard**.
|
||||
* **Ядро 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`)** для локальной десинхронизации пакетов на роутере.
|
||||
* Встроенная интеграция с движками **Zapret v1 (`nfqws`)**, **Zapret v2 (`nfqws2`)** и **ByeDPI (`ciadpi`)** для аппаратной десинхронизации TCP-сегментов (`fake`, `disorder`, `split2`, `multisplit`, `seqovl`, `wsize`).
|
||||
* **Многомерная селективная маршрутизация**:
|
||||
* **По доменам и IP-сетям**: Направляйте через прокси или десинк только целевой трафик.
|
||||
* **По клиентским устройствам (MAC / IP)**: Раздельные правила для Smart TV, смартфонов, ПК и консолей.
|
||||
* **По GeoIP и странам**: Гибкие списки включения/исключения по странам назначения.
|
||||
* **Автоматические подписки**: Фоновая загрузка, распарсинг и обновление прокси-нод по подписочным URL.
|
||||
* **Автоматические подписки**: Фоновая загрузка, распарсинг и обновление прокси-нод по подписочным URL с авто-тестированием RTT задержки.
|
||||
|
||||
#### 🌐 Секции Hosts и Списки DNS-блокировок (Hosts Engine)
|
||||
* **Статический DNS-Overriding (`dns_hosts`)**: Прямое переопределение IP-адресов для доменов в DNS-модуле sing-box и dnsmasq без необходимости подмены `/etc/hosts`.
|
||||
@@ -44,14 +59,18 @@
|
||||
|
||||
---
|
||||
|
||||
### 🤖 2. ИИ-Доктор и HTTP REST Agent API (AI Stack)
|
||||
* **Tachyon AI Doctor (v2)**: Умная диагностика роутера с использованием LLM (**OpenAI**, **Anthropic Claude**, **DeepSeek** или локальных моделей через OpenRouter / Ollama).
|
||||
### 🤖 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, обновление подписок и перезапуск сетевого стека.
|
||||
* **Языковые режимы**: Выбор языка вердикта (`ru` / `en`).
|
||||
* **🤖 Вызов из Telegram-бота (`/ai_doctor` & `/fix`)**:
|
||||
* Запуск ИИ-диагностики прямо из мессенджера одной командой `/ai_doctor` с выведением кнопок моментального исправления.
|
||||
* **Синхронизация времени 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).
|
||||
@@ -64,7 +83,7 @@
|
||||
* **Мгновенный контроль секций**: Включение и отключение маршрутов одной кнопкой.
|
||||
* **Переключение серверов**: Выбор активных прокси-нод с автоматическим замером задержки (RTT ping).
|
||||
* **Управление устройствами LAN**: Просмотр активных клиентов и блокировка/разблокировка доступа по MAC-адресам.
|
||||
* **Диагностика и Команды**: `/doctor`, `/ai_doctor`, `/fix <код>`, `/restart`, `/backup`.
|
||||
* **Диагностика и Команды**: `/doctor`, `/ai_doctor`, `/fix <код>`, `/restart`, `/backup`, `/status`.
|
||||
|
||||
---
|
||||
|
||||
@@ -81,6 +100,7 @@ Watchdog — сердце стабильности Tachyon. Работает к
|
||||
### 🖥️ 5. Современный Web-интерфейс LuCI (TypeScript)
|
||||
* Полная интеграция в штатный Web-интерфейс OpenWrt.
|
||||
* **Интерактивный дашборд**: Графика задержек, управление подписками, правилами и компонентами в несколько кликов.
|
||||
* **Потоковый терминал установки**: Живой вывод логов процессов установки и обновлений компонентов без зависаний.
|
||||
* **Динамические ссылки на репозитории**: Карточки компонентов ведут прямо на GitHub установленного варианта (extended, lx, stable).
|
||||
* **Commit-level отслеживание обновлений**: Оповещения о свежих коммитах в рамках текущего релиза.
|
||||
|
||||
@@ -89,13 +109,16 @@ Watchdog — сердце стабильности Tachyon. Работает к
|
||||
## 🛠️ Справочник консоли (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
|
||||
|
||||
@@ -0,0 +1,208 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 500" width="100%" height="100%">
|
||||
<defs>
|
||||
<!-- Background Space Gradients -->
|
||||
<radialGradient id="arch-bg" cx="50%" cy="50%" r="75%">
|
||||
<stop offset="0%" stop-color="#0F172A" stop-opacity="0.95"/>
|
||||
<stop offset="60%" stop-color="#090D16" stop-opacity="0.98"/>
|
||||
<stop offset="100%" stop-color="#030712" stop-opacity="1"/>
|
||||
</radialGradient>
|
||||
|
||||
<linearGradient id="card-bg-subtle" x1="0%" y1="0%" x2="0%" y2="100%">
|
||||
<stop offset="0%" stop-color="#1E293B" stop-opacity="0.7"/>
|
||||
<stop offset="100%" stop-color="#0B132B" stop-opacity="0.9"/>
|
||||
</linearGradient>
|
||||
|
||||
<!-- Track Gradients -->
|
||||
<linearGradient id="stream-green" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||
<stop offset="0%" stop-color="#10B981" stop-opacity="0.1"/>
|
||||
<stop offset="50%" stop-color="#10B981" stop-opacity="0.9"/>
|
||||
<stop offset="100%" stop-color="#34D399" stop-opacity="0.1"/>
|
||||
</linearGradient>
|
||||
|
||||
<linearGradient id="stream-purple" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||
<stop offset="0%" stop-color="#8B5CF6" stop-opacity="0.1"/>
|
||||
<stop offset="50%" stop-color="#8B5CF6" stop-opacity="0.9"/>
|
||||
<stop offset="100%" stop-color="#C084FC" stop-opacity="0.1"/>
|
||||
</linearGradient>
|
||||
|
||||
<linearGradient id="stream-cyan" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||
<stop offset="0%" stop-color="#00F0FF" stop-opacity="0.1"/>
|
||||
<stop offset="50%" stop-color="#00F0FF" stop-opacity="0.9"/>
|
||||
<stop offset="100%" stop-color="#38BDF8" stop-opacity="0.1"/>
|
||||
</linearGradient>
|
||||
|
||||
<!-- Glowing Filters -->
|
||||
<filter id="glow-p" x="-30%" y="-30%" width="160%" height="160%">
|
||||
<feGaussianBlur stdDeviation="5" result="blur" />
|
||||
<feComposite in="SourceGraphic" in2="blur" operator="over" />
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<style>
|
||||
/* CSS Animations for Packet Conduits */
|
||||
@keyframes flowTrackDirect {
|
||||
0% { stroke-dashoffset: 160; }
|
||||
100% { stroke-dashoffset: 0; }
|
||||
}
|
||||
@keyframes flowTrackZapret {
|
||||
0% { stroke-dashoffset: 160; }
|
||||
100% { stroke-dashoffset: 0; }
|
||||
}
|
||||
@keyframes flowTrackProxy {
|
||||
0% { stroke-dashoffset: 160; }
|
||||
100% { stroke-dashoffset: 0; }
|
||||
}
|
||||
@keyframes nodeBlink {
|
||||
0%, 100% { opacity: 0.9; transform: scale(1); }
|
||||
50% { opacity: 0.3; transform: scale(0.85); }
|
||||
}
|
||||
@keyframes routerPulse {
|
||||
0%, 100% { stroke: rgba(0, 240, 255, 0.4); }
|
||||
50% { stroke: rgba(0, 240, 255, 0.95); }
|
||||
}
|
||||
|
||||
.wire-in { stroke-dasharray: 8 12; animation: flowTrackDirect 2s linear infinite; }
|
||||
.wire-direct { stroke-dasharray: 12 24; animation: flowTrackDirect 1.8s linear infinite; }
|
||||
.wire-zapret { stroke-dasharray: 12 24; animation: flowTrackZapret 2.2s linear infinite; }
|
||||
.wire-proxy { stroke-dasharray: 12 24; animation: flowTrackProxy 1.5s linear infinite; }
|
||||
|
||||
.node-pulse { animation: nodeBlink 2.4s ease-in-out infinite; }
|
||||
.core-border { animation: routerPulse 3.5s ease-in-out infinite; }
|
||||
|
||||
.text-title { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 800; font-size: 20px; fill: #FFFFFF; }
|
||||
.text-sub { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 600; font-size: 13px; fill: #94A3B8; }
|
||||
.text-node-h { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 700; font-size: 14px; fill: #F1F5F9; }
|
||||
.text-node-d { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 400; font-size: 11px; fill: #94A3B8; }
|
||||
.text-badge { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; font-weight: 700; }
|
||||
</style>
|
||||
|
||||
<!-- Surface Base -->
|
||||
<rect width="1200" height="500" rx="16" fill="url(#arch-bg)" stroke="#1E293B" stroke-width="1.5"/>
|
||||
|
||||
<!-- Diagram Title Header -->
|
||||
<g transform="translate(50, 45)">
|
||||
<text class="text-title">⚡ TACHYON TRAFFIC ORCHESTRATION PIPELINE</text>
|
||||
<text y="24" class="text-sub">Интеллектуальная многопоточная селективная маршрутизация и десинхронизация пакетов</text>
|
||||
</g>
|
||||
|
||||
<!-- ================================================================= -->
|
||||
<!-- CONNECTING CONDUIT WIRES (Animated Packet Flow) -->
|
||||
<!-- ================================================================= -->
|
||||
<g fill="none" stroke-linecap="round">
|
||||
<!-- Input Wire: Clients -> Router Core -->
|
||||
<path d="M 230,260 L 370,260" stroke="#334155" stroke-width="3"/>
|
||||
<path d="M 230,260 L 370,260" stroke="#38BDF8" stroke-width="3" class="wire-in" filter="url(#glow-p)"/>
|
||||
|
||||
<!-- Path 1: Router -> Direct WAN (Green) -->
|
||||
<path d="M 610,210 C 680,210 700,130 770,130 L 930,130" stroke="#1E293B" stroke-width="3"/>
|
||||
<path d="M 610,210 C 680,210 700,130 770,130 L 930,130" stroke="#10B981" stroke-width="3" class="wire-direct" filter="url(#glow-p)"/>
|
||||
|
||||
<!-- Path 2: Router -> Zapret2 DPI Bypass (Purple) -->
|
||||
<path d="M 610,260 L 930,260" stroke="#1E293B" stroke-width="3"/>
|
||||
<path d="M 610,260 L 930,260" stroke="#8B5CF6" stroke-width="3" class="wire-zapret" filter="url(#glow-p)"/>
|
||||
|
||||
<!-- Path 3: Router -> sing-box VLESS / Proxy (Cyan) -->
|
||||
<path d="M 610,310 C 680,310 700,390 770,390 L 930,390" stroke="#1E293B" stroke-width="3"/>
|
||||
<path d="M 610,310 C 680,310 700,390 770,390 L 930,390" stroke="#00F0FF" stroke-width="3" class="wire-proxy" filter="url(#glow-p)"/>
|
||||
</g>
|
||||
|
||||
<!-- ================================================================= -->
|
||||
<!-- NODE 1: CLIENT DEVICES (LAN / Wi-Fi) -->
|
||||
<!-- ================================================================= -->
|
||||
<g transform="translate(50, 155)">
|
||||
<rect width="180" height="210" rx="12" fill="url(#card-bg-subtle)" stroke="#334155" stroke-width="1.5"/>
|
||||
<rect x="15" y="15" width="40" height="40" rx="8" fill="#0369A1" fill-opacity="0.2"/>
|
||||
<text x="24" y="42" font-size="22">📱</text>
|
||||
<text x="65" y="38" class="text-node-h">LAN Clients</text>
|
||||
|
||||
<!-- Client Devices List -->
|
||||
<g transform="translate(15, 70)">
|
||||
<rect width="150" height="34" rx="6" fill="#0B132B" stroke="#1E293B" stroke-width="1"/>
|
||||
<text x="10" y="22" class="text-node-d" fill="#E2E8F0">📺 Smart TV / Consoles</text>
|
||||
</g>
|
||||
<g transform="translate(15, 112)">
|
||||
<rect width="150" height="34" rx="6" fill="#0B132B" stroke="#1E293B" stroke-width="1"/>
|
||||
<text x="10" y="22" class="text-node-d" fill="#E2E8F0">💻 PCs & MacBooks</text>
|
||||
</g>
|
||||
<g transform="translate(15, 154)">
|
||||
<rect width="150" height="34" rx="6" fill="#0B132B" stroke="#1E293B" stroke-width="1"/>
|
||||
<text x="10" y="22" class="text-node-d" fill="#E2E8F0">📱 Phones & Tablets</text>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
<!-- ================================================================= -->
|
||||
<!-- NODE 2: TACHYON ROUTER CORE (OpenWrt Engine) -->
|
||||
<!-- ================================================================= -->
|
||||
<g transform="translate(370, 130)">
|
||||
<rect width="240" height="260" rx="14" fill="#0B132B" stroke="#00F0FF" stroke-width="2" class="core-border"/>
|
||||
|
||||
<g transform="translate(20, 20)">
|
||||
<circle cx="20" cy="20" r="18" fill="#00F0FF" fill-opacity="0.15"/>
|
||||
<text x="10" y="28" font-size="20">⚡</text>
|
||||
<text x="48" y="20" class="text-node-h" fill="#00F0FF">Tachyon Core</text>
|
||||
<text x="48" y="34" class="text-node-d">OpenWrt ucode / nftables</text>
|
||||
</g>
|
||||
|
||||
<!-- Sub-Engines Inside Core -->
|
||||
<g transform="translate(20, 75)">
|
||||
<!-- Module A: Smart Policy Splitter -->
|
||||
<rect width="200" height="42" rx="6" fill="#111827" stroke="#1E293B" stroke-width="1"/>
|
||||
<circle cx="15" cy="21" r="4" fill="#10B981" class="node-pulse"/>
|
||||
<text x="28" y="20" class="text-node-h" font-size="12">Domain / IP Matcher</text>
|
||||
<text x="28" y="34" class="text-node-d" font-size="10">GeoIP + Hosts Engine</text>
|
||||
|
||||
<!-- Module B: AI Doctor & Self-Healing -->
|
||||
<g transform="translate(0, 50)">
|
||||
<rect width="200" height="42" rx="6" fill="#111827" stroke="#1E293B" stroke-width="1"/>
|
||||
<circle cx="15" cy="21" r="4" fill="#C084FC" class="node-pulse"/>
|
||||
<text x="28" y="20" class="text-node-h" font-size="12">AI Doctor & Watchdog</text>
|
||||
<text x="28" y="34" class="text-node-d" font-size="10">Auto-Heal & Quick Fix</text>
|
||||
</g>
|
||||
|
||||
<!-- Module C: Dynamic Packet Routing -->
|
||||
<g transform="translate(0, 100)">
|
||||
<rect width="200" height="42" rx="6" fill="#111827" stroke="#1E293B" stroke-width="1"/>
|
||||
<circle cx="15" cy="21" r="4" fill="#00F0FF" class="node-pulse"/>
|
||||
<text x="28" y="20" class="text-node-h" font-size="12">nftables Flow Dispatcher</text>
|
||||
<text x="28" y="34" class="text-node-d" font-size="10">Zero-Copy Fast Path</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
<!-- ================================================================= -->
|
||||
<!-- NODE 3: THREE DIVERGENT DESTINATION PATHS -->
|
||||
<!-- ================================================================= -->
|
||||
|
||||
<!-- PATH 1: DIRECT INTERNET (GREEN) -->
|
||||
<g transform="translate(930, 85)">
|
||||
<rect width="220" height="90" rx="10" fill="url(#card-bg-subtle)" stroke="#10B981" stroke-opacity="0.6" stroke-width="1.5"/>
|
||||
<circle cx="28" cy="28" r="14" fill="#10B981" fill-opacity="0.15"/>
|
||||
<text x="20" y="34" font-size="16">🌐</text>
|
||||
<text x="50" y="28" class="text-node-h" fill="#34D399">Direct WAN</text>
|
||||
<text x="50" y="42" class="text-badge" fill="#10B981">0 ms Overhead</text>
|
||||
<text x="16" y="68" class="text-node-d">Банки, Госуслуги, RuNet</text>
|
||||
<text x="16" y="82" class="text-node-d">Прямой маршрут без задержек</text>
|
||||
</g>
|
||||
|
||||
<!-- PATH 2: LOCAL DPI DESYNC (PURPLE) -->
|
||||
<g transform="translate(930, 215)">
|
||||
<rect width="220" height="90" rx="10" fill="url(#card-bg-subtle)" stroke="#8B5CF6" stroke-opacity="0.6" stroke-width="1.5"/>
|
||||
<circle cx="28" cy="28" r="14" fill="#8B5CF6" fill-opacity="0.15"/>
|
||||
<text x="20" y="34" font-size="16">🚀</text>
|
||||
<text x="50" y="28" class="text-node-h" fill="#C084FC">Zapret v2 / ByeDPI</text>
|
||||
<text x="50" y="42" class="text-badge" fill="#8B5CF6">Zero-VPS Desync</text>
|
||||
<text x="16" y="68" class="text-node-d">YouTube 4K, Discord, Web</text>
|
||||
<text x="16" y="82" class="text-node-d">Аппаратная десинхронизация TCP</text>
|
||||
</g>
|
||||
|
||||
<!-- PATH 3: SECURE PROXY (CYAN) -->
|
||||
<g transform="translate(930, 345)">
|
||||
<rect width="220" height="90" rx="10" fill="url(#card-bg-subtle)" stroke="#00F0FF" stroke-opacity="0.6" stroke-width="1.5"/>
|
||||
<circle cx="28" cy="28" r="14" fill="#00F0FF" fill-opacity="0.15"/>
|
||||
<text x="20" y="34" font-size="16">🛡️</text>
|
||||
<text x="50" y="28" class="text-node-h" fill="#00F0FF">sing-box Core</text>
|
||||
<text x="50" y="42" class="text-badge" fill="#38BDF8">VLESS Reality / H2</text>
|
||||
<text x="16" y="68" class="text-node-d">Instagram, Twitter, AI Tools</text>
|
||||
<text x="16" y="82" class="text-node-d">Зашифрованный внешний туннель</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
+241
-106
@@ -1,151 +1,286 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 420" width="100%" height="100%">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 450" width="100%" height="100%">
|
||||
<defs>
|
||||
<!-- Background Gradients -->
|
||||
<radialGradient id="bg-glow" cx="50%" cy="30%" r="70%">
|
||||
<stop offset="0%" stop-color="#1E1B4B" stop-opacity="0.8"/>
|
||||
<stop offset="50%" stop-color="#0F172A" stop-opacity="0.95"/>
|
||||
<stop offset="100%" stop-color="#020617" stop-opacity="1"/>
|
||||
<!-- Background Space Gradients -->
|
||||
<radialGradient id="bg-space" cx="50%" cy="30%" r="80%">
|
||||
<stop offset="0%" stop-color="#111827" stop-opacity="0.95"/>
|
||||
<stop offset="45%" stop-color="#090D16" stop-opacity="0.98"/>
|
||||
<stop offset="100%" stop-color="#030712" stop-opacity="1"/>
|
||||
</radialGradient>
|
||||
|
||||
<radialGradient id="accent-cyan" cx="20%" cy="20%" r="50%">
|
||||
<stop offset="0%" stop-color="#38BDF8" stop-opacity="0.25"/>
|
||||
<stop offset="100%" stop-color="#020617" stop-opacity="0"/>
|
||||
<radialGradient id="cyan-glow" cx="80%" cy="40%" r="50%">
|
||||
<stop offset="0%" stop-color="#00F0FF" stop-opacity="0.18"/>
|
||||
<stop offset="60%" stop-color="#00F0FF" stop-opacity="0.03"/>
|
||||
<stop offset="100%" stop-color="#00F0FF" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
|
||||
<radialGradient id="accent-violet" cx="80%" cy="80%" r="50%">
|
||||
<stop offset="0%" stop-color="#818CF8" stop-opacity="0.2"/>
|
||||
<stop offset="100%" stop-color="#020617" stop-opacity="0"/>
|
||||
<radialGradient id="purple-glow" cx="25%" cy="80%" r="60%">
|
||||
<stop offset="0%" stop-color="#8B5CF6" stop-opacity="0.15"/>
|
||||
<stop offset="70%" stop-color="#8B5CF6" stop-opacity="0.02"/>
|
||||
<stop offset="100%" stop-color="#8B5CF6" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
|
||||
<!-- Linear Gradients -->
|
||||
<linearGradient id="brand-grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#38BDF8"/>
|
||||
<stop offset="50%" stop-color="#818CF8"/>
|
||||
<!-- Holographic Title Gradient -->
|
||||
<linearGradient id="holo-title" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||
<stop offset="0%" stop-color="#00F0FF"/>
|
||||
<stop offset="35%" stop-color="#38BDF8"/>
|
||||
<stop offset="70%" stop-color="#818CF8"/>
|
||||
<stop offset="100%" stop-color="#C084FC"/>
|
||||
</linearGradient>
|
||||
|
||||
<linearGradient id="card-border" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#334155" stop-opacity="0.8"/>
|
||||
<stop offset="100%" stop-color="#1E293B" stroke-opacity="0.3"/>
|
||||
<linearGradient id="cyber-line-cyan" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||
<stop offset="0%" stop-color="#00F0FF" stop-opacity="0"/>
|
||||
<stop offset="50%" stop-color="#00F0FF" stop-opacity="0.8"/>
|
||||
<stop offset="100%" stop-color="#00F0FF" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
|
||||
<linearGradient id="card-bg" x1="0%" y1="0%" x2="0%" y2="100%">
|
||||
<stop offset="0%" stop-color="#1E293B" stop-opacity="0.7"/>
|
||||
<stop offset="100%" stop-color="#0F172A" stop-opacity="0.8"/>
|
||||
<linearGradient id="card-grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#1E293B" stop-opacity="0.75"/>
|
||||
<stop offset="100%" stop-color="#0F172A" stop-opacity="0.85"/>
|
||||
</linearGradient>
|
||||
|
||||
<!-- Glow Filter -->
|
||||
<filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
|
||||
<feGaussianBlur stdDeviation="8" result="blur" />
|
||||
<!-- Glow & Shadow Filters -->
|
||||
<filter id="neon-glow" x="-30%" y="-30%" width="160%" height="160%">
|
||||
<feGaussianBlur stdDeviation="6" result="blur1" />
|
||||
<feGaussianBlur stdDeviation="15" result="blur2" />
|
||||
<feMerge>
|
||||
<feMergeNode in="blur2" />
|
||||
<feMergeNode in="blur1" />
|
||||
<feMergeNode in="SourceGraphic" />
|
||||
</feMerge>
|
||||
</filter>
|
||||
|
||||
<filter id="core-glow" x="-50%" y="-50%" width="200%" height="200%">
|
||||
<feGaussianBlur stdDeviation="12" result="blur" />
|
||||
<feComposite in="SourceGraphic" in2="blur" operator="over" />
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<style>
|
||||
.title { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, sans-serif; font-weight: 800; font-size: 64px; fill: url(#brand-grad); letter-spacing: -1px; }
|
||||
.subtitle { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, sans-serif; font-weight: 500; font-size: 20px; fill: #94A3B8; }
|
||||
.badge-text { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, sans-serif; font-weight: 600; font-size: 13px; fill: #F8FAFC; }
|
||||
.card-title { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, sans-serif; font-weight: 700; font-size: 15px; fill: #F1F5F9; }
|
||||
.card-desc { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, sans-serif; font-weight: 400; font-size: 13px; fill: #94A3B8; }
|
||||
.tech-pill { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12px; fill: #38BDF8; font-weight: 600; }
|
||||
/* CSS Animations for GitHub SVG Rendering */
|
||||
@keyframes rotateClockwise {
|
||||
from { transform: rotate(0deg); }
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
@keyframes rotateCounter {
|
||||
from { transform: rotate(360deg); }
|
||||
to { transform: rotate(0deg); }
|
||||
}
|
||||
@keyframes flowPacket {
|
||||
0% { stroke-dashoffset: 240; opacity: 0.2; }
|
||||
50% { opacity: 1; }
|
||||
100% { stroke-dashoffset: 0; opacity: 0.2; }
|
||||
}
|
||||
@keyframes pulseCore {
|
||||
0%, 100% { transform: scale(1); opacity: 0.85; }
|
||||
50% { transform: scale(1.08); opacity: 1; filter: drop-shadow(0 0 20px #00F0FF); }
|
||||
}
|
||||
@keyframes beaconBlink {
|
||||
0%, 100% { opacity: 1; transform: scale(1); }
|
||||
50% { opacity: 0.4; transform: scale(0.85); }
|
||||
}
|
||||
@keyframes signalWave {
|
||||
0% { r: 10; opacity: 0.9; }
|
||||
100% { r: 48; opacity: 0; }
|
||||
}
|
||||
@keyframes hudCardPulse {
|
||||
0%, 100% { stroke: rgba(56, 189, 248, 0.25); }
|
||||
50% { stroke: rgba(0, 240, 255, 0.7); }
|
||||
}
|
||||
|
||||
.core-ring-1 { transform-origin: 970px 190px; animation: rotateClockwise 22s linear infinite; }
|
||||
.core-ring-2 { transform-origin: 970px 190px; animation: rotateCounter 15s linear infinite; }
|
||||
.core-ring-3 { transform-origin: 970px 190px; animation: rotateClockwise 30s linear infinite; }
|
||||
.pulse-hub { transform-origin: 970px 190px; animation: pulseCore 3.5s ease-in-out infinite; }
|
||||
.beacon-dot { animation: beaconBlink 2s ease-in-out infinite; }
|
||||
.radar-wave { transform-origin: 970px 190px; animation: signalWave 3s cubic-bezier(0.1, 0.8, 0.3, 1) infinite; }
|
||||
.radar-wave-delayed { transform-origin: 970px 190px; animation: signalWave 3s cubic-bezier(0.1, 0.8, 0.3, 1) 1.5s infinite; }
|
||||
|
||||
.stream-fast { stroke-dasharray: 20 80; animation: flowPacket 3.2s linear infinite; }
|
||||
.stream-slow { stroke-dasharray: 30 120; animation: flowPacket 4.8s linear infinite; }
|
||||
.hud-card { animation: hudCardPulse 4s ease-in-out infinite; }
|
||||
|
||||
.title-main { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 900; font-size: 64px; fill: url(#holo-title); letter-spacing: 2px; }
|
||||
.subtitle-text { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 600; font-size: 19px; fill: #E2E8F0; letter-spacing: -0.2px; }
|
||||
.desc-text { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 400; font-size: 14px; fill: #94A3B8; }
|
||||
.hud-label { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; fill: #64748B; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
|
||||
.hud-value { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12px; fill: #00F0FF; font-weight: 700; }
|
||||
.card-h { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 700; font-size: 14px; fill: #F8FAFC; }
|
||||
.card-p { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 400; font-size: 12px; fill: #94A3B8; }
|
||||
</style>
|
||||
|
||||
<!-- Base Canvas -->
|
||||
<rect width="1200" height="420" rx="16" fill="url(#bg-glow)"/>
|
||||
<rect width="1200" height="420" rx="16" fill="url(#accent-cyan)"/>
|
||||
<rect width="1200" height="420" rx="16" fill="url(#accent-violet)"/>
|
||||
<!-- Canvas Surface -->
|
||||
<rect width="1200" height="450" rx="18" fill="url(#bg-space)"/>
|
||||
<rect width="1200" height="450" rx="18" fill="url(#cyan-glow)"/>
|
||||
<rect width="1200" height="450" rx="18" fill="url(#purple-glow)"/>
|
||||
|
||||
<!-- Subtle Tech Grid Pattern -->
|
||||
<g opacity="0.08" stroke="#FFFFFF" stroke-width="1">
|
||||
<path d="M 0,60 L 1200,60 M 0,120 L 1200,120 M 0,180 L 1200,180 M 0,240 L 1200,240 M 0,300 L 1200,300 M 0,360 L 1200,360" />
|
||||
<path d="M 150,0 L 150,420 M 300,0 L 300,420 M 450,0 L 450,420 M 600,0 L 600,420 M 750,0 L 750,420 M 900,0 L 900,420 M 1050,0 L 1050,420" />
|
||||
<!-- High-Tech Matrix Grid -->
|
||||
<g opacity="0.06" stroke="#FFFFFF" stroke-width="1">
|
||||
<path d="M 0,75 L 1200,75 M 0,150 L 1200,150 M 0,225 L 1200,225 M 0,300 L 1200,300 M 0,375 L 1200,375" />
|
||||
<path d="M 120,0 L 120,450 M 240,0 L 240,450 M 360,0 L 360,450 M 480,0 L 480,450 M 600,0 L 600,450 M 720,0 L 720,450 M 840,0 L 840,450 M 960,0 L 960,450 M 1080,0 L 1080,450" />
|
||||
</g>
|
||||
|
||||
<!-- Decorative Orbit Vector -->
|
||||
<g transform="translate(980, 190)" opacity="0.35">
|
||||
<circle r="140" fill="none" stroke="url(#brand-grad)" stroke-width="1.5" stroke-dasharray="8 6"/>
|
||||
<circle r="100" fill="none" stroke="#38BDF8" stroke-width="1" stroke-dasharray="4 4"/>
|
||||
<circle r="60" fill="none" stroke="#818CF8" stroke-width="2"/>
|
||||
<circle cx="60" cy="0" r="6" fill="#38BDF8" filter="url(#glow)"/>
|
||||
<circle cx="-42" cy="42" r="4" fill="#C084FC" />
|
||||
<!-- Interactive Data Circuit Tracks (Animated Streams) -->
|
||||
<g fill="none" stroke-linecap="round">
|
||||
<!-- Outer Track Top -->
|
||||
<path d="M 60,70 L 680,70 Q 730,70 760,100 L 840,180" stroke="#1E293B" stroke-width="2"/>
|
||||
<path d="M 60,70 L 680,70 Q 730,70 760,100 L 840,180" stroke="#00F0FF" stroke-width="2" class="stream-fast" filter="url(#core-glow)"/>
|
||||
|
||||
<!-- Track Middle -->
|
||||
<path d="M 520,190 L 830,190" stroke="#1E293B" stroke-width="2"/>
|
||||
<path d="M 520,190 L 830,190" stroke="#818CF8" stroke-width="2" class="stream-slow"/>
|
||||
|
||||
<!-- Track Bottom -->
|
||||
<path d="M 60,305 L 700,305 Q 750,305 780,275 L 850,205" stroke="#1E293B" stroke-width="2"/>
|
||||
<path d="M 60,305 L 700,305 Q 750,305 780,275 L 850,205" stroke="#10B981" stroke-width="2" class="stream-fast"/>
|
||||
</g>
|
||||
|
||||
<!-- Header Section -->
|
||||
<g transform="translate(60, 65)">
|
||||
<!-- Version & OS Tag -->
|
||||
<rect x="0" y="0" width="280" height="28" rx="14" fill="#1E293B" stroke="#38BDF8" stroke-opacity="0.4" stroke-width="1"/>
|
||||
<circle cx="16" cy="14" r="4" fill="#10B981"/>
|
||||
<text x="28" y="19" class="badge-text" fill="#38BDF8">STABLE RELEASE | OpenWrt 23-25.x</text>
|
||||
<!-- ================================================================= -->
|
||||
<!-- RIGHT SIDE: ANIMATED TACHYON REACTOR CORE & TELEMETRY HUD -->
|
||||
<!-- ================================================================= -->
|
||||
<g id="tachyon-core-system">
|
||||
<!-- Pulsing Radar Radar Waves -->
|
||||
<circle cx="970" cy="190" r="10" fill="none" stroke="#00F0FF" stroke-width="1.5" class="radar-wave"/>
|
||||
<circle cx="970" cy="190" r="10" fill="none" stroke="#818CF8" stroke-width="1.5" class="radar-wave-delayed"/>
|
||||
|
||||
<!-- Main Title -->
|
||||
<text x="0" y="82" class="title">TACHYON</text>
|
||||
<text x="0" y="118" class="subtitle">Next-Gen High-Performance Routing & DPI Bypass Engine for OpenWrt</text>
|
||||
<text x="0" y="142" class="card-desc" fill="#64748B">Полнофункциональный мультипротокольный комбайн маршрутизации и обхода блокировок</text>
|
||||
<!-- Orbit Ring 3 (Outer Data Nodes) -->
|
||||
<g class="core-ring-3">
|
||||
<circle cx="970" cy="190" r="145" fill="none" stroke="#334155" stroke-width="1.2" stroke-dasharray="10 14"/>
|
||||
<circle cx="1115" cy="190" r="5" fill="#38BDF8" filter="url(#core-glow)"/>
|
||||
<circle cx="825" cy="190" r="4" fill="#C084FC"/>
|
||||
<circle cx="970" cy="45" r="4" fill="#10B981"/>
|
||||
</g>
|
||||
|
||||
<!-- Tech Badges -->
|
||||
<g transform="translate(0, 168)">
|
||||
<!-- Badge 1: ucode Core -->
|
||||
<rect x="0" y="0" width="125" height="26" rx="6" fill="#0F172A" stroke="#334155" stroke-width="1"/>
|
||||
<text x="10" y="17" class="tech-pill">⚡ ucode Core</text>
|
||||
<!-- Orbit Ring 2 (Segmented Gyro) -->
|
||||
<g class="core-ring-2">
|
||||
<circle cx="970" cy="190" r="110" fill="none" stroke="#00F0FF" stroke-opacity="0.4" stroke-width="2" stroke-dasharray="70 20 30 15"/>
|
||||
<rect x="965" y="78" width="10" height="4" rx="2" fill="#00F0FF"/>
|
||||
<rect x="965" y="298" width="10" height="4" rx="2" fill="#818CF8"/>
|
||||
</g>
|
||||
|
||||
<!-- Badge 2: sing-box -->
|
||||
<rect x="135" y="0" width="115" height="26" rx="6" fill="#0F172A" stroke="#334155" stroke-width="1"/>
|
||||
<text x="145" y="17" class="tech-pill">🛡 sing-box</text>
|
||||
<!-- Orbit Ring 1 (Inner High-Speed Track) -->
|
||||
<g class="core-ring-1">
|
||||
<circle cx="970" cy="190" r="75" fill="none" stroke="#818CF8" stroke-width="2.5" stroke-dasharray="45 15"/>
|
||||
<circle cx="1045" cy="190" r="6" fill="#00F0FF" filter="url(#core-glow)"/>
|
||||
<circle cx="895" cy="190" r="5" fill="#10B981"/>
|
||||
</g>
|
||||
|
||||
<!-- Badge 3: Zapret v1 / v2 -->
|
||||
<rect x="260" y="0" width="155" height="26" rx="6" fill="#0F172A" stroke="#334155" stroke-width="1"/>
|
||||
<text x="270" y="17" class="tech-pill">🚀 Zapret v1 / v2</text>
|
||||
<!-- Central Fusion Hub -->
|
||||
<g class="pulse-hub">
|
||||
<circle cx="970" cy="190" r="42" fill="#0F172A" stroke="#00F0FF" stroke-width="2.5"/>
|
||||
<circle cx="970" cy="190" r="32" fill="#1E1B4B" stroke="#818CF8" stroke-width="1.5"/>
|
||||
<!-- Tachyon Icon / Lightning Symbol in Core -->
|
||||
<path d="M 972,168 L 958,190 L 968,190 L 966,212 L 984,186 L 974,186 Z" fill="url(#holo-title)" filter="url(#core-glow)"/>
|
||||
</g>
|
||||
|
||||
<!-- Badge 4: ByeDPI -->
|
||||
<rect x="425" y="0" width="105" height="26" rx="6" fill="#0F172A" stroke="#334155" stroke-width="1"/>
|
||||
<text x="435" y="17" class="tech-pill">🌐 ByeDPI</text>
|
||||
<!-- Real-Time HUD Telemetry Badges (Floating around core) -->
|
||||
<g transform="translate(850, 48)">
|
||||
<rect width="115" height="32" rx="6" fill="#0B132B" stroke="#00F0FF" stroke-opacity="0.4" stroke-width="1"/>
|
||||
<text x="10" y="14" class="hud-label">DPI DESYNC</text>
|
||||
<text x="10" y="26" class="hud-value">ACTIVE (v2)</text>
|
||||
<circle cx="98" cy="16" r="4" fill="#10B981" class="beacon-dot"/>
|
||||
</g>
|
||||
|
||||
<!-- Badge 5: Telegram Bot -->
|
||||
<rect x="540" y="0" width="145" height="26" rx="6" fill="#0F172A" stroke="#334155" stroke-width="1"/>
|
||||
<text x="550" y="17" class="tech-pill">🤖 Telegram Bot</text>
|
||||
<g transform="translate(1015, 75)">
|
||||
<rect width="110" height="32" rx="6" fill="#0B132B" stroke="#818CF8" stroke-opacity="0.4" stroke-width="1"/>
|
||||
<text x="10" y="14" class="hud-label">CORE RAM</text>
|
||||
<text x="10" y="26" class="hud-value">14.2 MB</text>
|
||||
<circle cx="95" cy="16" r="4" fill="#38BDF8"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(1005, 290)">
|
||||
<rect width="125" height="32" rx="6" fill="#0B132B" stroke="#10B981" stroke-opacity="0.4" stroke-width="1"/>
|
||||
<text x="10" y="14" class="hud-label">PROXY LATENCY</text>
|
||||
<text x="10" y="26" class="hud-value" fill="#10B981">18 ms RTT</text>
|
||||
<circle cx="108" cy="16" r="4" fill="#10B981" class="beacon-dot"/>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
<!-- Feature Cards Grid (Bottom) -->
|
||||
<g transform="translate(60, 275)">
|
||||
<!-- Card 1: Multi-Protocol -->
|
||||
<!-- ================================================================= -->
|
||||
<!-- LEFT SIDE: TITLE, TAGS & CORE MISSION -->
|
||||
<!-- ================================================================= -->
|
||||
<g transform="translate(60, 55)">
|
||||
<!-- Top System Live Badge -->
|
||||
<g transform="translate(0, 0)">
|
||||
<rect width="250" height="105" rx="12" fill="url(#card-bg)" stroke="url(#card-border)" stroke-width="1"/>
|
||||
<circle cx="28" cy="30" r="14" fill="#38BDF8" fill-opacity="0.15"/>
|
||||
<path d="M 22 30 L 27 35 L 35 24" fill="none" stroke="#38BDF8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<text x="52" y="34" class="card-title">Мульти-Протоколы</text>
|
||||
<text x="16" y="62" class="card-desc">VLESS, VMess, Shadowsocks,</text>
|
||||
<text x="16" y="80" class="card-desc">Trojan, Zapret v1/v2 & ByeDPI</text>
|
||||
<rect width="320" height="28" rx="14" fill="#0F172A" stroke="#38BDF8" stroke-opacity="0.5" stroke-width="1"/>
|
||||
<circle cx="16" cy="14" r="5" fill="#10B981" class="beacon-dot"/>
|
||||
<text x="30" y="18" class="hud-value" fill="#38BDF8">OPENWRT 23.05 - 25.X & SNAPSHOT</text>
|
||||
</g>
|
||||
|
||||
<!-- Card 2: Telegram Control -->
|
||||
<g transform="translate(270, 0)">
|
||||
<rect width="250" height="105" rx="12" fill="url(#card-bg)" stroke="url(#card-border)" stroke-width="1"/>
|
||||
<circle cx="28" cy="30" r="14" fill="#818CF8" fill-opacity="0.15"/>
|
||||
<path d="M 22 30 L 34 24 L 29 36 L 26 31 Z" fill="none" stroke="#818CF8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<text x="52" y="34" class="card-title">Telegram Управление</text>
|
||||
<text x="16" y="62" class="card-desc">Списки правил, переключение</text>
|
||||
<text x="16" y="80" class="card-desc">серверов & блокировка MAC</text>
|
||||
<!-- Main Title with Glowing Shadow -->
|
||||
<text x="0" y="86" class="title-main" filter="url(#neon-glow)">TACHYON</text>
|
||||
<text x="0" y="86" class="title-main">TACHYON</text>
|
||||
|
||||
<!-- Subtitles -->
|
||||
<text x="0" y="122" class="subtitle-text">Next-Gen Network Orchestration & Anti-Censorship Core</text>
|
||||
<text x="0" y="146" class="desc-text">Ультимативный комбайн проксирования, локального десинка DPI и ИИ-диагностики</text>
|
||||
|
||||
<!-- Feature Quick Pills -->
|
||||
<g transform="translate(0, 175)">
|
||||
<!-- Pill 1 -->
|
||||
<g transform="translate(0, 0)">
|
||||
<rect width="135" height="26" rx="6" fill="#0F172A" stroke="#1E293B" stroke-width="1"/>
|
||||
<text x="10" y="17" class="hud-value" fill="#38BDF8">⚡ ucode Native</text>
|
||||
</g>
|
||||
<!-- Pill 2 -->
|
||||
<g transform="translate(145, 0)">
|
||||
<rect width="125" height="26" rx="6" fill="#0F172A" stroke="#1E293B" stroke-width="1"/>
|
||||
<text x="10" y="17" class="hud-value" fill="#818CF8">🛡️ sing-box v1.11</text>
|
||||
</g>
|
||||
<!-- Pill 3 -->
|
||||
<g transform="translate(280, 0)">
|
||||
<rect width="160" height="26" rx="6" fill="#0F172A" stroke="#1E293B" stroke-width="1"/>
|
||||
<text x="10" y="17" class="hud-value" fill="#C084FC">🚀 Zapret v2 (nfqws2)</text>
|
||||
</g>
|
||||
<!-- Pill 4 -->
|
||||
<g transform="translate(450, 0)">
|
||||
<rect width="135" height="26" rx="6" fill="#0F172A" stroke="#1E293B" stroke-width="1"/>
|
||||
<text x="10" y="17" class="hud-value" fill="#10B981">🤖 AI Doctor v2.5</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
<!-- ================================================================= -->
|
||||
<!-- BOTTOM ROW: 4 COPIED ARCHITECTURAL PILLARS (Glassmorphism Cards) -->
|
||||
<!-- ================================================================= -->
|
||||
<g transform="translate(60, 325)">
|
||||
<!-- Card 1: sing-box -->
|
||||
<g transform="translate(0, 0)">
|
||||
<rect width="255" height="95" rx="10" fill="url(#card-grad)" stroke="#38BDF8" stroke-opacity="0.25" stroke-width="1" class="hud-card"/>
|
||||
<circle cx="28" cy="28" r="14" fill="#0284C7" fill-opacity="0.2"/>
|
||||
<text x="21" y="34" font-size="16">🛡️</text>
|
||||
<text x="50" y="32" class="card-h">sing-box Core</text>
|
||||
<text x="16" y="58" class="card-p">VLESS Reality, Hysteria2, WireGuard,</text>
|
||||
<text x="16" y="76" class="card-p">Shadowsocks & Smart Policy Routing</text>
|
||||
</g>
|
||||
|
||||
<!-- Card 3: Tachyon Doctor -->
|
||||
<g transform="translate(540, 0)">
|
||||
<rect width="250" height="105" rx="12" fill="url(#card-bg)" stroke="url(#card-border)" stroke-width="1"/>
|
||||
<circle cx="28" cy="30" r="14" fill="#10B981" fill-opacity="0.15"/>
|
||||
<path d="M 28 22 L 28 38 M 20 30 L 36 30" fill="none" stroke="#10B981" stroke-width="2" stroke-linecap="round"/>
|
||||
<text x="52" y="34" class="card-title">Tachyon Doctor</text>
|
||||
<text x="16" y="62" class="card-desc">Авторемонт служб, DNS,</text>
|
||||
<text x="16" y="80" class="card-desc">nftables & проверка сети</text>
|
||||
<!-- Card 2: Zapret2 / ByeDPI -->
|
||||
<g transform="translate(275, 0)">
|
||||
<rect width="255" height="95" rx="10" fill="url(#card-grad)" stroke="#818CF8" stroke-opacity="0.25" stroke-width="1" class="hud-card"/>
|
||||
<circle cx="28" cy="28" r="14" fill="#6366F1" fill-opacity="0.2"/>
|
||||
<text x="21" y="34" font-size="16">🚀</text>
|
||||
<text x="50" y="32" class="card-h">DPI Desync Engine</text>
|
||||
<text x="16" y="58" class="card-p">Zapret v1, v2 (nfqws2) & ByeDPI</text>
|
||||
<text x="16" y="76" class="card-p">Обход замедлений без VPS</text>
|
||||
</g>
|
||||
|
||||
<!-- Card 4: Hot-reload & Watchdog -->
|
||||
<g transform="translate(810, 0)">
|
||||
<rect width="270" height="105" rx="12" fill="url(#card-bg)" stroke="url(#card-border)" stroke-width="1"/>
|
||||
<circle cx="28" cy="30" r="14" fill="#C084FC" fill-opacity="0.15"/>
|
||||
<path d="M 22 26 L 34 26 L 34 38 M 34 34 L 22 34" fill="none" stroke="#C084FC" stroke-width="2" stroke-linecap="round"/>
|
||||
<text x="52" y="34" class="card-title">Hot-Reload & OpenWrt 25+</text>
|
||||
<text x="16" y="62" class="card-desc">Совместимость 23.05–25.x,</text>
|
||||
<text x="16" y="80" class="card-desc">защита памяти & MSS Clamping</text>
|
||||
<!-- Card 3: AI Doctor -->
|
||||
<g transform="translate(550, 0)">
|
||||
<rect width="255" height="95" rx="10" fill="url(#card-grad)" stroke="#C084FC" stroke-opacity="0.25" stroke-width="1" class="hud-card"/>
|
||||
<circle cx="28" cy="28" r="14" fill="#9333EA" fill-opacity="0.2"/>
|
||||
<text x="21" y="34" font-size="16">🤖</text>
|
||||
<text x="50" y="32" class="card-h">AI Doctor & Agent API</text>
|
||||
<text x="16" y="58" class="card-p">Автономное самолечение, Quick Fix,</text>
|
||||
<text x="16" y="76" class="card-p">OpenAPI 3.0 & REST Agent API</text>
|
||||
</g>
|
||||
|
||||
<!-- Card 4: Telegram & LuCI UI -->
|
||||
<g transform="translate(825, 0)">
|
||||
<rect width="255" height="95" rx="10" fill="url(#card-grad)" stroke="#10B981" stroke-opacity="0.25" stroke-width="1" class="hud-card"/>
|
||||
<circle cx="28" cy="28" r="14" fill="#059669" fill-opacity="0.2"/>
|
||||
<text x="21" y="34" font-size="16">📱</text>
|
||||
<text x="50" y="32" class="card-h">Telegram & LuCI</text>
|
||||
<text x="16" y="58" class="card-p">Управление из чата, переключение</text>
|
||||
<text x="16" y="76" class="card-p">серверов, TypeScript Web UI</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 15 KiB |
Reference in New Issue
Block a user