docs(readme): анимированные лазерные разделители разделов, ЭКГ-монитор AI Doctor и интерактивный терминал установки
This commit is contained in:
+54
-15
@@ -11,7 +11,9 @@
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## ⚡ About Tachyon
|
||||
|
||||
@@ -21,7 +23,9 @@ Tachyon combines the power of **sing-box**, local hardware DPI bypass engines (*
|
||||
|
||||
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).
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 🌐 Architecture & Traffic Pipeline
|
||||
|
||||
@@ -33,17 +37,21 @@ The entire backend logic is written in **ucode** — OpenWrt's native, high-perf
|
||||
|
||||
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).
|
||||
2. **Zapret v1 (`nfqws`)**: Basic TCP/UDP packet desynchronization (`fake`, `disorder`, `split2`) directly on router without VPS.
|
||||
3. **Zapret v2 (`nfqws2`)**: Advanced multi-vector DPI evasion (`multisplit`, `seqovl`, `wsize`) for YouTube 4K and Discord.
|
||||
4. **ByeDPI (`ciadpi`)**: Local SOCKS5 desync engine with HTTP/TLS SNI payload fragmentation.
|
||||
5. **Encrypted Proxy Tunnel (sing-box)**: Censored endpoints and private traffic are routed through modern protocols (VLESS Reality, Hysteria2, WireGuard).
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 🔥 Core Features & Subsystems
|
||||
|
||||
### 🛡️ 1. Multi-Protocol Proxying & Local DPI Bypass
|
||||
* **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 hardware TCP segment manipulation (`fake`, `disorder`, `split2`, `multisplit`, `seqovl`, `wsize`).
|
||||
* Full built-in integration with **Zapret v1 (`nfqws`)**, **Zapret v2 (`nfqws2`)**, and **ByeDPI (`ciadpi`)** desync engines for hardware TCP segment manipulation.
|
||||
* **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.
|
||||
@@ -57,9 +65,18 @@ Tachyon intercepts network flows via kernel **nftables** and dispatches requests
|
||||
* **GitHub Mirror Failover**: Resilient downloads that automatically retry via mirrors (`gh-proxy.com`, `ghproxy.net`) if direct access to github.com is blocked or throttled.
|
||||
* **Hosts-Only Action Sections (`action = hosts`)**: Dedicated routing sections operating purely as DNS override engines without requiring an outbound proxy association.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
### 🤖 2. AI Doctor & HTTP REST Agent API (AI Stack v2.5)
|
||||
|
||||
<div align="center">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
|
||||
* **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.
|
||||
@@ -75,7 +92,9 @@ Tachyon intercepts network flows via kernel **nftables** and dispatches requests
|
||||
* 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).
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
### 📱 3. Interactive Telegram Control Bot
|
||||
A feature-rich control center right inside your messenger:
|
||||
@@ -85,7 +104,9 @@ A feature-rich control center right inside your messenger:
|
||||
* **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`, `/status`.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
### 🛡️ 4. Watchdog — Protection & Self-Healing System
|
||||
Watchdog is the heart of Tachyon's stability, running every 5–15 seconds without external dependencies:
|
||||
@@ -95,7 +116,9 @@ Watchdog is the heart of Tachyon's stability, running every 5–15 seconds witho
|
||||
* **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.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
### 🖥️ 5. Modern Web Interface (LuCI - TypeScript)
|
||||
* Native integration into OpenWrt's LuCI dashboard.
|
||||
@@ -104,7 +127,9 @@ Watchdog is the heart of Tachyon's stability, running every 5–15 seconds witho
|
||||
* **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.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 🛠️ CLI & API Quick Reference
|
||||
|
||||
@@ -129,10 +154,18 @@ curl http://192.168.1.1/cgi-bin/tachyon-agent/health
|
||||
curl http://192.168.1.1/cgi-bin/tachyon-agent/openapi.json
|
||||
```
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 💻 Installation
|
||||
|
||||
<div align="center">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
|
||||
Run the following single command in your router's SSH terminal:
|
||||
|
||||
```bash
|
||||
@@ -142,7 +175,9 @@ 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` without data loss.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 🤝 Upstream Projects & Credits
|
||||
|
||||
@@ -154,7 +189,9 @@ Tachyon stands on the shoulders of incredible open-source projects:
|
||||
* 🚀 **[zapret (bol-van)](https://github.com/bol-van/zapret2)** — DPI desync framework (`nfqws` / `nfqws2`).
|
||||
* 🌐 **[ByeDPI](https://github.com/hrbrmstr/byedpi)** — Local SOCKS desync proxy.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 💖 Support & Donations
|
||||
|
||||
@@ -163,7 +200,9 @@ If Tachyon powers your daily networking and keeps your connection fast and secur
|
||||
💳 **Credit Cards / SBP / Tinkoff Pay:**
|
||||
👉 [**Support the project via CloudTips**](https://pay.cloudtips.ru/p/48c57581)
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
|
||||
@@ -11,7 +11,9 @@
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## ⚡ О проекте
|
||||
|
||||
@@ -21,7 +23,9 @@ Tachyon объединяет ядро **sing-box**, средства локал
|
||||
|
||||
Вся внутренняя логика реализована на скриптовом движке **ucode** — нативном C-интерпретаторе OpenWrt, обеспечивающем ультранизкое потребление RAM (от 128 МБ ОЗУ) и мгновенный отклик.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 🌐 Архитектура и конвейер трафика
|
||||
|
||||
@@ -33,17 +37,21 @@ Tachyon объединяет ядро **sing-box**, средства локал
|
||||
|
||||
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).
|
||||
2. **Zapret v1 (`nfqws`)**: Базовая десинхронизация TCP/UDP (`fake`, `disorder`, `split2`) прямо на роутере без VPS.
|
||||
3. **Zapret v2 (`nfqws2`)**: Адаптивный многовекторный обход ТСПУ (`multisplit`, `seqovl`, `wsize`) для YouTube 4K и Discord.
|
||||
4. **ByeDPI (`ciadpi`)**: Локальный SOCKS5-десинхронизатор с фрагментацией полезной нагрузки HTTP/TLS SNI.
|
||||
5. **Зашифрованный прокси-туннель (sing-box)**: Заблокированные ресурсы и приватный трафик направляются через защищённые протоколы (VLESS Reality, Hysteria2, WireGuard).
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 🔥 Главные возможности и подсистемы
|
||||
|
||||
### 🛡️ 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`).
|
||||
* Встроенная интеграция с движками **Zapret v1 (`nfqws`)**, **Zapret v2 (`nfqws2`)** и **ByeDPI (`ciadpi`)** для аппаратной десинхронизации TCP-сегментов.
|
||||
* **Многомерная селективная маршрутизация**:
|
||||
* **По доменам и IP-сетям**: Направляйте через прокси или десинк только целевой трафик.
|
||||
* **По клиентским устройствам (MAC / IP)**: Раздельные правила для Smart TV, смартфонов, ПК и консолей.
|
||||
@@ -57,9 +65,18 @@ Tachyon перехватывает сетевой стек через ядро *
|
||||
* **Резервирование через зеркала (GitHub Mirror Retry)**: При сетевых блокировках github.com модули загрузки автоматически переключаются на зеркала (`gh-proxy.com`, `ghproxy.net`).
|
||||
* **Секции чистого Hosts (`action = hosts`)**: Создание изолированных правил перенаправления DNS без обязательной привязки к прокси-нодам.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
### 🤖 2. ИИ-Доктор и HTTP REST Agent API (AI Stack v2.5)
|
||||
|
||||
<div align="center">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
|
||||
* **Tachyon AI Doctor (v2.5)**: Глубокая диагностика роутера с использованием LLM (**OpenAI**, **Anthropic Claude**, **DeepSeek** или локальных моделей через OpenRouter / Ollama).
|
||||
* **Глубокий контекст**: Передаёт в модель не только текущие проверки, но и метрики Watchdog (OOM, серии сбоев) и последние сжатые логи роутера.
|
||||
* **Многокомпонентные цепочки фиксов (Multi-Fix)**: Возвращает цепочку автоматических исправлений с кнопками для каждого фикса и кнопкой «Исправить всё».
|
||||
@@ -75,7 +92,9 @@ Tachyon перехватывает сетевой стек через ядро *
|
||||
* Безопасный 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).
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
### 📱 3. Интерактивный Telegram-бот управления
|
||||
Полноценный пульт управления роутером из мессенджера:
|
||||
@@ -85,7 +104,9 @@ Tachyon перехватывает сетевой стек через ядро *
|
||||
* **Управление устройствами LAN**: Просмотр активных клиентов и блокировка/разблокировка доступа по MAC-адресам.
|
||||
* **Диагностика и Команды**: `/doctor`, `/ai_doctor`, `/fix <код>`, `/restart`, `/backup`, `/status`.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
### 🛡️ 4. Watchdog — Защита и Самовосстановление
|
||||
Watchdog — сердце стабильности Tachyon. Работает каждые 5–15 секунд без внешних зависимостей:
|
||||
@@ -95,7 +116,9 @@ Watchdog — сердце стабильности Tachyon. Работает к
|
||||
* **Мягкая перезагрузка (Hot-Reload)**: Смена серверов и правил без разрыва активных TCP-соединений (Discord, онлайн-игры и стримы не прерываются).
|
||||
* **Восстановление WAN и шлюзов**: Мониторинг сетевых интерфейсов и авто-поднятие при сбоях провайдера.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
### 🖥️ 5. Современный Web-интерфейс LuCI (TypeScript)
|
||||
* Полная интеграция в штатный Web-интерфейс OpenWrt.
|
||||
@@ -104,7 +127,9 @@ Watchdog — сердце стабильности Tachyon. Работает к
|
||||
* **Динамические ссылки на репозитории**: Карточки компонентов ведут прямо на GitHub установленного варианта (extended, lx, stable).
|
||||
* **Commit-level отслеживание обновлений**: Оповещения о свежих коммитах в рамках текущего релиза.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 🛠️ Справочник консоли (CLI & API Quick Reference)
|
||||
|
||||
@@ -129,10 +154,18 @@ curl http://192.168.1.1/cgi-bin/tachyon-agent/health
|
||||
curl http://192.168.1.1/cgi-bin/tachyon-agent/openapi.json
|
||||
```
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 💻 Установка
|
||||
|
||||
<div align="center">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
|
||||
Для установки Tachyon выполните следующую команду в SSH-консоли вашего роутера:
|
||||
|
||||
```bash
|
||||
@@ -142,7 +175,9 @@ sh <(wget -O - https://raw.githubusercontent.com/Dushnilin/tachyon/main/install.
|
||||
> [!NOTE]
|
||||
> **Автоматическая миграция:** Конфигурации от **Forkop**, **Podkop Plus** и оригинального **Podkop** полностью совместимы. Инсталлятор автоматически перенесет ваши правила в `/etc/config/tachyon` без потери данных.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 🤝 Оригинальные проекты и благодарности
|
||||
|
||||
@@ -154,7 +189,9 @@ Tachyon опирается на фундаментальные разработ
|
||||
* 🚀 **[zapret (bol-van)](https://github.com/bol-van/zapret2)** — средства локального обхода DPI (`nfqws` / `nfqws2`).
|
||||
* 🌐 **[ByeDPI](https://github.com/hrbrmstr/byedpi)** — локальный SOCKS-прокси для десинка пакетов.
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
## 💖 Поддержать разработку
|
||||
|
||||
@@ -163,7 +200,9 @@ Tachyon опирается на фундаментальные разработ
|
||||
💳 **Карты РФ / СБП / Tinkoff Pay:**
|
||||
👉 [**Поддержать проект на CloudTips**](https://pay.cloudtips.ru/p/48c57581)
|
||||
|
||||
---
|
||||
<p align="center">
|
||||
<img src="assets/readme/divider_stream.svg" width="100%" alt="divider" />
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 160" width="100%" height="100%">
|
||||
<defs>
|
||||
<radialGradient id="ai-bg" cx="50%" cy="50%" r="75%">
|
||||
<stop offset="0%" stop-color="#1E1B4B" stop-opacity="0.6"/>
|
||||
<stop offset="60%" stop-color="#0F172A" stop-opacity="0.85"/>
|
||||
<stop offset="100%" stop-color="#050814" stop-opacity="0.95"/>
|
||||
</radialGradient>
|
||||
|
||||
<linearGradient id="ai-border" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||
<stop offset="0%" stop-color="#8B5CF6" stop-opacity="0.2"/>
|
||||
<stop offset="50%" stop-color="#C084FC" stop-opacity="0.8"/>
|
||||
<stop offset="100%" stop-color="#00F0FF" stop-opacity="0.2"/>
|
||||
</linearGradient>
|
||||
|
||||
<filter id="ecg-glow" filterUnits="userSpaceOnUse" x="0" y="0" width="1200" height="160">
|
||||
<feGaussianBlur stdDeviation="3" result="blur"/>
|
||||
<feMerge>
|
||||
<feMergeNode in="blur"/>
|
||||
<feMergeNode in="SourceGraphic"/>
|
||||
</feMerge>
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<style>
|
||||
@keyframes ecgScan {
|
||||
0% { stroke-dashoffset: 400; }
|
||||
100% { stroke-dashoffset: 0; }
|
||||
}
|
||||
@keyframes pulseAiDot {
|
||||
0%, 100% { transform: scale(1); opacity: 0.9; }
|
||||
50% { transform: scale(1.3); opacity: 0.3; }
|
||||
}
|
||||
@keyframes cardShimmer {
|
||||
0%, 100% { stroke-opacity: 0.3; }
|
||||
50% { stroke-opacity: 0.85; }
|
||||
}
|
||||
|
||||
.ecg-line { stroke-dasharray: 40 80; animation: ecgScan 3s linear infinite; }
|
||||
.ai-dot { animation: pulseAiDot 2s ease-in-out infinite; }
|
||||
.ai-box { animation: cardShimmer 3s ease-in-out infinite; }
|
||||
|
||||
.ai-title { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 800; font-size: 15px; fill: #FFFFFF; }
|
||||
.ai-desc { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 500; font-size: 12px; fill: #94A3B8; }
|
||||
.ai-badge { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; font-weight: 700; fill: #C084FC; }
|
||||
.ai-metric { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; font-weight: 700; fill: #10B981; }
|
||||
</style>
|
||||
|
||||
<!-- Container Box -->
|
||||
<rect width="1200" height="160" rx="14" fill="url(#ai-bg)" stroke="url(#ai-border)" stroke-width="1.5" class="ai-box"/>
|
||||
|
||||
<!-- Left Side: AI Doctor Core HUD -->
|
||||
<g transform="translate(35, 30)">
|
||||
<rect width="44" height="44" rx="10" fill="#6B21A8" fill-opacity="0.25" stroke="#C084FC" stroke-width="1.2"/>
|
||||
<text x="12" y="28" font-size="20">🤖</text>
|
||||
<text x="56" y="20" class="ai-title">Tachyon AI Doctor v2.5 & Auto-Healing Engine</text>
|
||||
<text x="56" y="38" class="ai-desc">Интеллектуальная многоуровневая диагностика, 13 Quick Fix кодов и предотвращение сбоев</text>
|
||||
</g>
|
||||
|
||||
<!-- Animated ECG / Health Monitor Wave Across Center -->
|
||||
<g transform="translate(35, 95)">
|
||||
<!-- Background Grid Line -->
|
||||
<line x1="0" y1="20" x2="1130" y2="20" stroke="#1E293B" stroke-width="1.5"/>
|
||||
|
||||
<!-- ECG Pulse Path -->
|
||||
<path d="M 0,20 L 180,20 L 200,5 L 215,35 L 230,10 L 245,28 L 260,20 L 480,20 L 500,5 L 515,35 L 530,10 L 545,28 L 560,20 L 780,20 L 800,5 L 815,35 L 830,10 L 845,28 L 860,20 L 1130,20"
|
||||
fill="none" stroke="#10B981" stroke-width="2" class="ecg-line" filter="url(#ecg-glow)"/>
|
||||
</g>
|
||||
|
||||
<!-- Quick Status Badges on Right -->
|
||||
<g transform="translate(720, 25)">
|
||||
<!-- Badge 1: NTP Sync -->
|
||||
<g transform="translate(0, 0)">
|
||||
<rect width="125" height="30" rx="6" fill="#0B132B" stroke="#818CF8" stroke-width="1"/>
|
||||
<circle cx="12" cy="15" r="3.5" fill="#10B981" class="ai-dot"/>
|
||||
<text x="24" y="19" class="ai-metric">NTP SYNC: OK</text>
|
||||
</g>
|
||||
|
||||
<!-- Badge 2: Conntrack -->
|
||||
<g transform="translate(135, 0)">
|
||||
<rect width="135" height="30" rx="6" fill="#0B132B" stroke="#818CF8" stroke-width="1"/>
|
||||
<circle cx="12" cy="15" r="3.5" fill="#10B981" class="ai-dot"/>
|
||||
<text x="24" y="19" class="ai-metric">CONNTRACK: OK</text>
|
||||
</g>
|
||||
|
||||
<!-- Badge 3: MTU Tuning -->
|
||||
<g transform="translate(280, 0)">
|
||||
<rect width="135" height="30" rx="6" fill="#0B132B" stroke="#818CF8" stroke-width="1"/>
|
||||
<circle cx="12" cy="15" r="3.5" fill="#10B981" class="ai-dot"/>
|
||||
<text x="24" y="19" class="ai-metric">MTU TUNED: OK</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,56 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 32" width="100%" height="32">
|
||||
<defs>
|
||||
<linearGradient id="divider-grad" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||
<stop offset="0%" stop-color="#00F0FF" stop-opacity="0"/>
|
||||
<stop offset="25%" stop-color="#00F0FF" stop-opacity="0.3"/>
|
||||
<stop offset="50%" stop-color="#8B5CF6" stop-opacity="0.9"/>
|
||||
<stop offset="75%" stop-color="#C084FC" stop-opacity="0.3"/>
|
||||
<stop offset="100%" stop-color="#00F0FF" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
|
||||
<linearGradient id="laser-pulse" 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="1"/>
|
||||
<stop offset="100%" stop-color="#8B5CF6" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
|
||||
<filter id="laser-glow" filterUnits="userSpaceOnUse" x="0" y="0" width="1200" height="32">
|
||||
<feGaussianBlur stdDeviation="3" result="blur"/>
|
||||
<feMerge>
|
||||
<feMergeNode in="blur"/>
|
||||
<feMergeNode in="SourceGraphic"/>
|
||||
</feMerge>
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<style>
|
||||
@keyframes laserDash {
|
||||
0% { stroke-dashoffset: 240; }
|
||||
100% { stroke-dashoffset: 0; }
|
||||
}
|
||||
@keyframes coreDiamondPulse {
|
||||
0%, 100% { transform: scale(1) rotate(45deg); opacity: 0.8; }
|
||||
50% { transform: scale(1.3) rotate(45deg); opacity: 1; filter: drop-shadow(0 0 6px #00F0FF); }
|
||||
}
|
||||
@keyframes ringPulse {
|
||||
0% { r: 4; opacity: 0.9; }
|
||||
100% { r: 14; opacity: 0; }
|
||||
}
|
||||
|
||||
.laser-line { stroke-dasharray: 20 60; animation: laserDash 2.5s linear infinite; }
|
||||
.diamond-center { transform-origin: 600px 16px; animation: coreDiamondPulse 2.4s ease-in-out infinite; }
|
||||
.signal-wave { transform-origin: 600px 16px; animation: ringPulse 2.4s cubic-bezier(0.1, 0.8, 0.3, 1) infinite; }
|
||||
</style>
|
||||
|
||||
<!-- Background Base Track -->
|
||||
<line x1="100" y1="16" x2="1100" y2="16" stroke="url(#divider-grad)" stroke-width="1.5" stroke-opacity="0.4"/>
|
||||
|
||||
<!-- Animated Laser Beams -->
|
||||
<line x1="150" y1="16" x2="570" y2="16" stroke="url(#laser-pulse)" stroke-width="2.5" class="laser-line" filter="url(#laser-glow)"/>
|
||||
<line x1="630" y1="16" x2="1050" y2="16" stroke="url(#laser-pulse)" stroke-width="2.5" class="laser-line" filter="url(#laser-glow)"/>
|
||||
|
||||
<!-- Central Tachyon Diamond Core -->
|
||||
<circle cx="600" cy="16" r="4" fill="none" stroke="#00F0FF" stroke-width="1.5" class="signal-wave"/>
|
||||
<rect x="595" y="11" width="10" height="10" rx="1.5" fill="#0F172A" stroke="#00F0FF" stroke-width="1.5" class="diamond-center"/>
|
||||
<circle cx="600" cy="16" r="2.5" fill="#C084FC" filter="url(#laser-glow)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,74 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 130" width="100%" height="100%">
|
||||
<defs>
|
||||
<linearGradient id="term-bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#0F172A" stop-opacity="0.95"/>
|
||||
<stop offset="100%" stop-color="#020617" stop-opacity="0.98"/>
|
||||
</linearGradient>
|
||||
|
||||
<linearGradient id="term-border" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||
<stop offset="0%" stop-color="#00F0FF" stop-opacity="0.3"/>
|
||||
<stop offset="50%" stop-color="#38BDF8" stop-opacity="0.7"/>
|
||||
<stop offset="100%" stop-color="#818CF8" stop-opacity="0.3"/>
|
||||
</linearGradient>
|
||||
|
||||
<filter id="cursor-glow" filterUnits="userSpaceOnUse" x="0" y="0" width="1200" height="130">
|
||||
<feGaussianBlur stdDeviation="3" result="blur"/>
|
||||
<feMerge>
|
||||
<feMergeNode in="blur"/>
|
||||
<feMergeNode in="SourceGraphic"/>
|
||||
</feMerge>
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<style>
|
||||
@keyframes blinkCursor {
|
||||
0%, 100% { opacity: 1; }
|
||||
50% { opacity: 0; }
|
||||
}
|
||||
@keyframes streamInstall {
|
||||
0% { stroke-dashoffset: 120; }
|
||||
100% { stroke-dashoffset: 0; }
|
||||
}
|
||||
|
||||
.term-cursor { animation: blinkCursor 1s step-start infinite; }
|
||||
.term-stream { stroke-dasharray: 10 20; animation: streamInstall 2s linear infinite; }
|
||||
|
||||
.term-title { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; fill: #64748B; font-weight: 600; }
|
||||
.term-prompt { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 14px; font-weight: 700; fill: #10B981; }
|
||||
.term-cmd { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 14px; font-weight: 600; fill: #F8FAFC; }
|
||||
.term-badge { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; font-weight: 700; fill: #00F0FF; }
|
||||
</style>
|
||||
|
||||
<!-- Terminal Window Base -->
|
||||
<rect width="1200" height="130" rx="12" fill="url(#term-bg)" stroke="url(#term-border)" stroke-width="1.5"/>
|
||||
|
||||
<!-- Terminal Window Controls Header -->
|
||||
<g transform="translate(20, 16)">
|
||||
<circle cx="8" cy="8" r="5" fill="#EF4444"/>
|
||||
<circle cx="24" cy="8" r="5" fill="#F59E0B"/>
|
||||
<circle cx="40" cy="8" r="5" fill="#10B981"/>
|
||||
<text x="60" y="12" class="term-title">router@openwrt:~# one-liner installation & auto-migration</text>
|
||||
</g>
|
||||
|
||||
<!-- Separator Line -->
|
||||
<line x1="0" y1="36" x2="1200" y2="36" stroke="#1E293B" stroke-width="1"/>
|
||||
|
||||
<!-- Command Line Display -->
|
||||
<g transform="translate(30, 75)">
|
||||
<text x="0" y="0" class="term-prompt">root@router:~#</text>
|
||||
<text x="140" y="0" class="term-cmd">sh <(wget -O - https://raw.githubusercontent.com/Dushnilin/tachyon/main/install.sh)</text>
|
||||
<!-- Blinking Cursor Box -->
|
||||
<rect x="915" y="-14" width="8" height="16" fill="#00F0FF" class="term-cursor" filter="url(#cursor-glow)"/>
|
||||
</g>
|
||||
|
||||
<!-- Bottom Fast-Deploy Info -->
|
||||
<g transform="translate(30, 108)">
|
||||
<text x="0" y="0" class="term-title">⚡ Instant ucode compilation | Auto-migrates from Forkop / Podkop | Zero-reboot activation</text>
|
||||
</g>
|
||||
|
||||
<!-- Right Status Tag -->
|
||||
<g transform="translate(1010, 58)">
|
||||
<rect width="160" height="32" rx="6" fill="#0369A1" fill-opacity="0.2" stroke="#00F0FF" stroke-width="1"/>
|
||||
<text x="14" y="20" class="term-badge">ONE-CLICK DEPLOY</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
Reference in New Issue
Block a user