Files
NeoTachyon/assets/readme/hero.svg
T

152 lines
8.3 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 420" 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"/>
</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>
<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>
<!-- 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"/>
<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>
<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>
<!-- Glow Filter -->
<filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur stdDeviation="8" 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; }
</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)"/>
<!-- 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" />
</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" />
</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>
<!-- Main Title -->
<text x="0" y="82" class="title">TACHYON</text>
<text x="0" y="118" class="subtitle">Next-Gen High-Performance Routing &amp; DPI Bypass Engine for OpenWrt</text>
<text x="0" y="142" class="card-desc" fill="#64748B">Полнофункциональный мультипротокольный комбайн маршрутизации и обхода блокировок</text>
<!-- 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>
<!-- 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>
<!-- 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>
<!-- 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>
<!-- 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>
</g>
<!-- Feature Cards Grid (Bottom) -->
<g transform="translate(60, 275)">
<!-- Card 1: Multi-Protocol -->
<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 &amp; ByeDPI</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">серверов &amp; блокировка MAC</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 &amp; проверка сети</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 &amp; OpenWrt 25+</text>
<text x="16" y="62" class="card-desc">Совместимость 23.05–25.x,</text>
<text x="16" y="80" class="card-desc">защита памяти &amp; MSS Clamping</text>
</g>
</g>
</svg>