Replaces the status bar that was pinned to the top of every page. The section shows: - how many addresses open from Russia right now and the working address; - per address, a 24-hour column chart of availability from Russia, with tooltips and a table view; - a "Проверить с моего устройства" button: the browser tries every address itself, and a packet runs along each address's line to it or gets dropped. The result is not sent anywhere. The widget is the shared module /_sites/mirrors-widget.js (sites.js loads it when the page has a [data-zapret-mirrors] slot); the data is /_sites/mirrors.json from zapret-mirror-manager. The wiki main page has the same widget. Colors and fonts are passed in through --zm-*. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
667 lines
100 KiB
Go Template
667 lines
100 KiB
Go Template
{{template "base/head" .}}
|
||
<link rel="preload" href="{{AppSubUrl}}/assets/zapret-moe/fonts/unbounded-cyrillic.woff2" as="font" type="font/woff2" crossorigin>
|
||
<link rel="stylesheet" href="{{AppSubUrl}}/assets/zapret-moe/home.css?v=@ASSETS_VER@">
|
||
<link rel="stylesheet" href="{{AppSubUrl}}/assets/zapret-moe/intro.css?v=@ASSETS_VER@">
|
||
<script>
|
||
/* Заставка показывается один раз. Решение принимается до отрисовки, чтобы не мигала. */
|
||
(function () {
|
||
var seen = false;
|
||
try { seen = localStorage.getItem('zpm-intro') === '1' } catch (e) {}
|
||
var calm = window.matchMedia && matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||
if (!seen && !calm) document.documentElement.classList.add('zpm-intro-on');
|
||
})();
|
||
</script>
|
||
<div role="main" aria-label="{{if .IsSigned}}{{ctx.Locale.Tr "dashboard"}}{{else}}{{ctx.Locale.Tr "home"}}{{end}}" class="page-content home zpm-home">
|
||
|
||
<!-- ── Заставка-история: три акта (разметка слайдов — intro.css, движок — intro.js) ── -->
|
||
<div class="zx" id="zpm-intro" aria-hidden="true">
|
||
<div class="zx-bg"><div class="zi-dust2"><i></i><i></i></div></div>
|
||
<div class="zx-rigs">
|
||
<div class="zx-rig zx-rig-rkn"><div class="zrig zr-rkn" role="img" aria-label="РКН-тян замахивается когтями и бьёт к зрителю, глаза горят красным"><div class="zr-in"><img class="zr-l zr-rim" src="{{AppSubUrl}}/assets/zapret-moe/chars/rkn2-rim.webp" style="--x:0;--y:0;--w:1600;--h:900" alt="" loading="lazy" decoding="async"><img class="zr-l zr-base" src="{{AppSubUrl}}/assets/zapret-moe/chars/rkn2-base.webp" style="--x:0;--y:0;--w:1600;--h:900" alt="" loading="lazy" decoding="async"><img class="zr-l zr-arm zr-arm-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/rkn2-arm-l.webp" style="--x:0;--y:169;--w:670;--h:714;--o:97.0% 32.4%" alt="" loading="lazy" decoding="async"><img class="zr-l zr-arm zr-arm-r" src="{{AppSubUrl}}/assets/zapret-moe/chars/rkn2-arm-r.webp" style="--x:974;--y:0;--w:626;--h:728;--o:2.6% 45.3%" alt="" loading="lazy" decoding="async"><img class="zr-l zr-gl zr-gl-a" src="{{AppSubUrl}}/assets/zapret-moe/chars/rkn2-flat.webp" style="--x:0;--y:0;--w:1600;--h:900" alt="" loading="lazy" decoding="async"><img class="zr-l zr-gl zr-gl-b" src="{{AppSubUrl}}/assets/zapret-moe/chars/rkn2-flat.webp" style="--x:0;--y:0;--w:1600;--h:900" alt="" loading="lazy" decoding="async"><span class="zr-fx zr-embers"><i style="--ex2:703;--d:5.69s;--s:0.96;--dur:4.1s"></i><i style="--ex2:1137;--d:0.56s;--s:1.12;--dur:6.7s"></i><i style="--ex2:479;--d:0.22s;--s:0.99;--dur:4.2s"></i><i style="--ex2:225;--d:3.31s;--s:0.65;--dur:5.7s"></i><i style="--ex2:497;--d:3.78s;--s:1.12;--dur:4.2s"></i><i style="--ex2:1239;--d:2.38s;--s:1.48;--dur:4.1s"></i><i style="--ex2:312;--d:1.74s;--s:0.73;--dur:4.4s"></i><i style="--ex2:671;--d:3.36s;--s:1.21;--dur:4.3s"></i><i style="--ex2:1209;--d:3.83s;--s:0.94;--dur:5.6s"></i><i style="--ex2:168;--d:3.39s;--s:1.16;--dur:5.5s"></i><i style="--ex2:1128;--d:2.57s;--s:0.88;--dur:5.8s"></i><i style="--ex2:968;--d:2.17s;--s:0.82;--dur:4.5s"></i><i style="--ex2:539;--d:0.49s;--s:0.87;--dur:5.5s"></i><i style="--ex2:743;--d:4.38s;--s:0.86;--dur:6.9s"></i></span><i class="zr-eye zr-eye-0" style="--ex:744;--ey:361;--ec:#ff2b4f"></i><i class="zr-eye zr-eye-1" style="--ex:901;--ey:332;--ec:#ff2b4f"></i></div></div></div>
|
||
<div class="zx-rig zx-rig-zt"><div class="zrig zr-zt" role="img" aria-label="Запрет-тян показывает «викторию» обеими руками и смеётся"><div class="zr-in"><img class="zr-l zr-rim" src="{{AppSubUrl}}/assets/zapret-moe/chars/zt-rim.webp" style="--x:0;--y:0;--w:1600;--h:707" alt="" loading="lazy" decoding="async"><img class="zr-l zr-base" src="{{AppSubUrl}}/assets/zapret-moe/chars/zt-base.webp" style="--x:0;--y:0;--w:1600;--h:900" alt="" loading="lazy" decoding="async"><img class="zr-l zr-hair zr-hair-r" src="{{AppSubUrl}}/assets/zapret-moe/chars/zt-hair-r.webp" style="--x:1037;--y:0;--w:563;--h:611;--o:4.1% 19.6%" alt="" loading="lazy" decoding="async"><img class="zr-l zr-hair zr-hair-t" src="{{AppSubUrl}}/assets/zapret-moe/chars/zt-hair-t.webp" style="--x:941;--y:0;--w:310;--h:211;--o:48.1% 42.7%" alt="" loading="lazy" decoding="async"><img class="zr-l zr-hair zr-hair-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/zt-hair-l.webp" style="--x:0;--y:445;--w:611;--h:421;--o:91.7% 27.3%" alt="" loading="lazy" decoding="async"><img class="zr-l zr-hand zr-hand-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/zt-hand-l.webp" style="--x:11;--y:55;--w:627;--h:350;--o:42.4% 73.1%" alt="" loading="lazy" decoding="async"><img class="zr-l zr-hand zr-hand-r" src="{{AppSubUrl}}/assets/zapret-moe/chars/zt-hand-r.webp" style="--x:1078;--y:276;--w:522;--h:493;--o:64.0% 74.4%" alt="" loading="lazy" decoding="async"><span class="zr-fx zr-sparks"><i style="--ex:544;--ey:48;--d:0.00s"></i><i style="--ex:632;--ey:232;--d:0.37s"></i><i style="--ex:1232;--ey:296;--d:0.74s"></i><i style="--ex:1280;--ey:432;--d:1.11s"></i><i style="--ex:590;--ey:130;--d:1.48s"></i><i style="--ex:1256;--ey:364;--d:1.85s"></i></span><i class="zr-eye zr-eye-0" style="--ex:746;--ey:344;--ec:#35ff8a"></i><i class="zr-eye zr-eye-1" style="--ex:926;--ey:310;--ec:#3fb8ff"></i></div></div></div>
|
||
<div class="zx-rig zx-rig-duel"><div class="zx-duelstage"><div class="zf zf-rkn" style="left:49.88%;top:9.86%;width:57.31%;height:94.1%" aria-hidden="true"><div class="zf-in"><img class="zf-l zf-hair" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-rkn-hair.webp" style="left:64.05%;top:5.84%;width:31.53%;height:59.4%;transform-origin:0.24% 40%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-base" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-rkn-base.webp" style="left:4.81%;top:0%;width:90.69%;height:94.47%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-arm0" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-rkn-arm0.webp" style="left:2.37%;top:19.02%;width:23.97%;height:16.58%;transform-origin:98.41% 23.08%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-arm1" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-rkn-arm1.webp" style="left:40.53%;top:19.66%;width:32.29%;height:20.62%;transform-origin:2.13% 15.46%" alt="" loading="lazy" decoding="async"></div></div><div class="zf zf-zt" style="left:2.38%;top:6.43%;width:48.56%;height:94.1%" aria-hidden="true"><div class="zf-in"><img class="zf-l zf-hair" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-zt-hair.webp" style="left:3.06%;top:2.66%;width:34.05%;height:88.2%;transform-origin:99.47% 40%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-base" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-zt-base.webp" style="left:14.86%;top:0%;width:83.33%;height:98.09%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-arm0" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-zt-arm0.webp" style="left:35.86%;top:21.04%;width:18.29%;height:24.12%;transform-origin:65.02% 44.93%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-arm1" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-zt-arm1.webp" style="left:65.95%;top:25.19%;width:29.64%;height:18.92%;transform-origin:5.47% 29.78%" alt="" loading="lazy" decoding="async"></div></div></div></div>
|
||
<div class="zx-rig zx-art-rig zx-rig-stamp"><div class="zx-art-in"><img src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-stamp.webp" alt="" loading="lazy"><img class="zr-l zr-hair zr-hair-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-stamp-hair-l.webp" style="--x:371;--y:31;--w:338;--h:618;--o:100% 8%" alt="" loading="lazy" decoding="async"><img class="zr-l zr-hair zr-hair-r" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-stamp-hair-r.webp" style="--x:896;--y:42;--w:363;--h:567;--o:0% 8%" alt="" loading="lazy" decoding="async"><img class="zr-l zx-arm zx-a-stamp" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-stamp-arm-a.webp" style="--x:331;--y:0;--w:282;--h:440;--o:90.1% 95.5%" alt="" loading="lazy" decoding="async"><img class="zr-l zx-arm zx-a-tap" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-stamp-arm-b.webp" style="--x:806;--y:380;--w:310;--h:404;--o:54.5% 3.7%" alt="" loading="lazy" decoding="async"><span class="zx-redflash"></span><span class="zx-papers"><i style="--x:-420;--y:-260;--r:-40deg;--d:0.00s"></i><i style="--x:380;--y:-300;--r:35deg;--d:0.05s"></i><i style="--x:-520;--y:60;--r:-70deg;--d:0.10s"></i><i style="--x:560;--y:-40;--r:60deg;--d:0.02s"></i><i style="--x:-300;--y:-380;--r:20deg;--d:0.08s"></i><i style="--x:250;--y:-360;--r:-25deg;--d:0.12s"></i></span><i class="zr-eye zr-eye-0" style="--ex:778;--ey:262;--ec:#ff2b4f"></i><i class="zr-eye zr-eye-1" style="--ex:855;--ey:287;--ec:#ff2b4f"></i></div></div>
|
||
<div class="zx-rig zx-art-rig zx-rig-claw"><div class="zx-art-in"><img class="zr-l zc-hair zc-hair-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/claw-hair-l.webp" style="--x:0;--y:42;--w:402;--h:559;--o:100% 40%" alt="" loading="lazy" decoding="async"><img class="zr-l zc-hair zc-hair-r" src="{{AppSubUrl}}/assets/zapret-moe/chars/claw-hair-r.webp" style="--x:1199;--y:125;--w:389;--h:478;--o:0% 40%" alt="" loading="lazy" decoding="async"><img class="zr-l zc-base" src="{{AppSubUrl}}/assets/zapret-moe/chars/claw-base.webp" style="--x:398;--y:0;--w:805;--h:603" alt="" loading="lazy" decoding="async"><svg class="zc-wire" viewBox="0 0 1600 900" aria-hidden="true"><path class="zc-line-glow" d="M-3000 780 H4600"/><path class="zc-line" d="M-3000 780 H4600"/><g class="zc-p zc-pa zc-bad"><rect x="-58" y="-24" width="116" height="48" rx="12"/><text y="7">youtube.com</text></g><g class="zc-p zc-pb zc-bad"><rect x="-58" y="-24" width="116" height="48" rx="12"/><text y="7">discord.gg</text></g><g class="zc-p zc-pc"><rect x="-58" y="-24" width="116" height="48" rx="12"/><text y="7">tls</text></g><g class="zc-p zc-pd"><rect x="-58" y="-24" width="116" height="48" rx="12"/><text y="7">https</text></g><g class="zc-p zc-pe"><rect x="-58" y="-24" width="116" height="48" rx="12"/><text y="7">wss</text></g><circle class="zc-hit zc-hit-a" cx="338" cy="640" r="60"/><circle class="zc-hit zc-hit-b" cx="1278" cy="640" r="60"/></svg><img class="zr-l zc-arm zc-arm-l zc-open" src="{{AppSubUrl}}/assets/zapret-moe/chars/claw-arm-l-open.webp" style="--x:62;--y:195;--w:565;--h:467;--o:95.2% 11.8%" alt="" loading="lazy" decoding="async"><img class="zr-l zc-arm zc-arm-l zc-fist" src="{{AppSubUrl}}/assets/zapret-moe/chars/claw-arm-l-fist.webp" style="--x:139;--y:205;--w:484;--h:380;--o:95.2% 11.8%" alt="" loading="lazy" decoding="async"><img class="zr-l zc-arm zc-arm-r zc-open" src="{{AppSubUrl}}/assets/zapret-moe/chars/claw-arm-r-open.webp" style="--x:973;--y:157;--w:594;--h:525;--o:4.5% 15.8%" alt="" loading="lazy" decoding="async"><img class="zr-l zc-arm zc-arm-r zc-fist" src="{{AppSubUrl}}/assets/zapret-moe/chars/claw-arm-r-fist.webp" style="--x:994;--y:170;--w:515;--h:412;--o:1.2% 17.0%" alt="" loading="lazy" decoding="async"></div></div>
|
||
<div class="zx-rig zx-art-rig zx-rig-roof"><div class="zx-art-in"><img src="{{AppSubUrl}}/assets/zapret-moe/chars/roof-city.webp" alt="" loading="lazy"><img class="zr-l zo-lights zo-lights-0" src="{{AppSubUrl}}/assets/zapret-moe/chars/roof-lights-0.webp" style="--x:0;--y:0;--w:1600;--h:900" alt="" loading="lazy" decoding="async"><img class="zr-l zo-lights zo-lights-1" src="{{AppSubUrl}}/assets/zapret-moe/chars/roof-lights-1.webp" style="--x:0;--y:0;--w:1600;--h:900" alt="" loading="lazy" decoding="async"><img class="zr-l zo-lights zo-lights-2" src="{{AppSubUrl}}/assets/zapret-moe/chars/roof-lights-2.webp" style="--x:0;--y:0;--w:1600;--h:900" alt="" loading="lazy" decoding="async"><span class="zo-moon"></span><span class="zo-stars"><i style="--sx:180;--sy:60;--sd:0s"></i><i style="--sx:420;--sy:120;--sd:1.3s"></i><i style="--sx:700;--sy:40;--sd:0.6s"></i><i style="--sx:980;--sy:90;--sd:2.1s"></i><i style="--sx:1210;--sy:30;--sd:1.7s"></i><i style="--sx:1520;--sy:170;--sd:0.9s"></i><i style="--sx:300;--sy:190;--sd:2.6s"></i><i style="--sx:860;--sy:150;--sd:3.1s"></i></span><span class="zo-meteor"></span><div class="zo-girl zo-zt"><img class="zr-l zo-hair zo-hair-zt" src="{{AppSubUrl}}/assets/zapret-moe/chars/roof-zt-hair.webp" style="--x:346;--y:233;--w:216;--h:503;--o:99.1% 20%" alt="" loading="lazy" decoding="async"><img class="zr-l zo-body" src="{{AppSubUrl}}/assets/zapret-moe/chars/roof-zt.webp" style="--x:558;--y:193;--w:240;--h:552" alt="" loading="lazy" decoding="async"></div><div class="zo-girl zo-rkn"><img class="zr-l zo-hair zo-hair-rkn" src="{{AppSubUrl}}/assets/zapret-moe/chars/roof-rkn-hair.webp" style="--x:1018;--y:364;--w:263;--h:366;--o:0.4% 15%" alt="" loading="lazy" decoding="async"><img class="zr-l zo-body" src="{{AppSubUrl}}/assets/zapret-moe/chars/roof-rkn.webp" style="--x:794;--y:251;--w:228;--h:499" alt="" loading="lazy" decoding="async"></div></div></div>
|
||
<div class="zx-rig zx-art-rig zx-rig-splice zr-zt"><div class="zx-art-in"><img src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-splice.webp" alt="" loading="lazy"><img class="zr-l zr-hair zr-hair-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-splice-hair-l.webp" style="--x:314;--y:111;--w:395;--h:758;--o:100% 10%" alt="" loading="lazy" decoding="async"><img class="zr-l zr-hair zr-hair-r" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-splice-hair-r.webp" style="--x:851;--y:51;--w:504;--h:718;--o:0% 10%" alt="" loading="lazy" decoding="async"><img class="zr-l zx-arm zx-a-join-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-splice-arm-a.webp" style="--x:29;--y:441;--w:708;--h:459;--o:70.8% 6.3%" alt="" loading="lazy" decoding="async"><img class="zr-l zx-arm zx-a-join-r" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-splice-arm-b.webp" style="--x:856;--y:458;--w:663;--h:442;--o:32.3% 5.0%" alt="" loading="lazy" decoding="async"><span class="zx-joinglow"></span><span class="zx-bits"><i style="--x:-120;--y:-80;--d:0.00s"></i><i style="--x:90;--y:-120;--d:0.30s"></i><i style="--x:160;--y:-30;--d:0.60s"></i><i style="--x:-160;--y:20;--d:0.90s"></i><i style="--x:40;--y:-160;--d:1.20s"></i><i style="--x:-60;--y:-150;--d:1.50s"></i><i style="--x:130;--y:60;--d:1.80s"></i><i style="--x:-110;--y:90;--d:2.10s"></i></span><i class="zr-eye zr-eye-0" style="--ex:700;--ey:342;--ec:#35ff8a"></i><i class="zr-eye zr-eye-1" style="--ex:827;--ey:311;--ec:#3fb8ff"></i></div></div>
|
||
<div class="zx-rig zx-art-rig zx-rig-defeat"><div class="zx-art-in"><img src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-defeat.webp" alt="" loading="lazy"><img class="zr-l zr-hair zr-hair-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-defeat-hair-l.webp" style="--x:321;--y:0;--w:668;--h:729;--o:100% 20%" alt="" loading="lazy" decoding="async"><img class="zr-l zr-hair zr-hair-r" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-defeat-hair-r.webp" style="--x:1241;--y:3;--w:359;--h:785;--o:0% 10%" alt="" loading="lazy" decoding="async"><img class="zr-l zx-arm zx-a-flinch" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-defeat-arm-a.webp" style="--x:574;--y:146;--w:510;--h:159;--o:3.1% 65.4%" alt="" loading="lazy" decoding="async"><img class="zr-l zx-arm zx-a-swipe" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-defeat-arm-b.webp" style="--x:1142;--y:545;--w:435;--h:221;--o:4.1% 13.6%" alt="" loading="lazy" decoding="async"><img class="zx-gl zx-gl-a" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-defeat-flat.webp" alt="" loading="lazy"><img class="zx-gl zx-gl-b" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-defeat-flat.webp" alt="" loading="lazy"><span class="zx-beam"></span><i class="zr-eye zr-eye-0" style="--ex:1021;--ey:241;--ec:#ff2b4f"></i><i class="zr-eye zr-eye-1" style="--ex:1117;--ey:260;--ec:#ff2b4f"></i></div></div>
|
||
<div class="zx-rig zx-art-rig zx-rig-victory zr-zt"><div class="zx-art-in"><img src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-victory.webp" alt="" loading="lazy"><img class="zr-l zr-hair zr-hair-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-victory-hair-l.webp" style="--x:243;--y:124;--w:356;--h:776;--o:100% 10%" alt="" loading="lazy" decoding="async"><img class="zr-l zr-hair zr-hair-r" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-victory-hair-r.webp" style="--x:851;--y:81;--w:537;--h:688;--o:0% 5%" alt="" loading="lazy" decoding="async"><img class="zr-l zx-arm zx-a-pump" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-victory-arm-a-move.webp" style="--x:310;--y:0;--w:252;--h:300;--o:63.5% 95.0%" alt="" loading="lazy" decoding="async"><img class="zr-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-victory-arm-a-fix.webp" style="--x:418;--y:271;--w:280;--h:560" alt="" loading="lazy" decoding="async"><img class="zr-l zx-arm zx-a-cube" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-victory-arm-b-move.webp" style="--x:979;--y:484;--w:194;--h:181;--o:57.2% 97.2%" alt="" loading="lazy" decoding="async"><img class="zr-l" src="{{AppSubUrl}}/assets/zapret-moe/chars/art2-victory-arm-b-fix.webp" style="--x:1018;--y:649;--w:238;--h:234" alt="" loading="lazy" decoding="async"><span class="zx-cubeglow"></span><i class="zr-eye zr-eye-0" style="--ex:692;--ey:347;--ec:#35ff8a"></i><i class="zr-eye zr-eye-1" style="--ex:797;--ey:305;--ec:#3fb8ff"></i></div></div>
|
||
</div>
|
||
<div class="zx-stage">
|
||
<section class="zx-s zx-net" data-s="net">
|
||
<svg class="zx-svg" viewBox="0 0 1600 900"><defs><linearGradient id="zx-ig" x1="0" y1="1" x2="1" y2="0"><stop offset="0" stop-color="#feda75"/><stop offset=".4" stop-color="#d62976"/><stop offset="1" stop-color="#4f5bd5"/></linearGradient></defs><path class="zx-edge" d="M430 560 L620 250"/><path class="zx-edge" d="M430 560 L1010 210"/><path class="zx-edge" d="M430 560 L1220 420"/><path class="zx-edge" d="M430 560 L820 120"/><path class="zx-edge" d="M430 560 L1170 660"/><path class="zx-edge" d="M430 560 L820 700"/><path class="zx-edge" d="M620 250 L820 120"/><path class="zx-edge" d="M820 120 L1010 210"/><path class="zx-edge" d="M1010 210 L1220 420"/><path class="zx-edge" d="M1220 420 L1170 660"/><path class="zx-edge" d="M1170 660 L820 700"/><g class="zx-node" transform="translate(430 560)"><circle class="zx-halo" r="58"/><rect x="-38" y="-26" width="76" height="48" rx="6" fill="#0e1633" stroke="#4fd1ff" stroke-width="3"/><rect x="-48" y="22" width="96" height="8" rx="4" fill="#4fd1ff"/><circle cx="0" cy="-2" r="9" fill="#4fd1ff"/></g><g class="zx-node" transform="translate(620 250)"><circle class="zx-halo" r="58"/><rect x="-34" y="-24" width="68" height="48" rx="14" fill="#ff2d2d"/><path d="M-9 -12 14 0 -9 12Z" fill="#fff"/></g><g class="zx-node" transform="translate(1010 210)"><circle class="zx-halo" r="58"/><circle r="34" fill="#2aa3e0"/><path d="M-18 -1 17 -15 11 16 1 8 -6 14 -5 5 12 -9 -9 3Z" fill="#fff"/></g><g class="zx-node" transform="translate(1220 420)"><circle class="zx-halo" r="58"/><circle r="34" fill="#5865f2"/><path d="M-15 -10q15-7 30 0l5 18q-8 6-13 7l-3-5q-7 2-14 0l-3 5q-5-1-13-7z" fill="#fff"/><circle cx="-6" cy="3" r="3.2" fill="#5865f2"/><circle cx="6" cy="3" r="3.2" fill="#5865f2"/></g><g class="zx-node" transform="translate(820 120)"><circle class="zx-halo" r="58"/><circle r="34" fill="#f4f4f4"/><text y="13" text-anchor="middle" font-family="Georgia,serif" font-size="38" fill="#111">W</text></g><g class="zx-node" transform="translate(1170 660)"><circle class="zx-halo" r="58"/><rect x="-32" y="-32" width="64" height="64" rx="18" fill="url(#zx-ig)"/><rect x="-18" y="-18" width="36" height="36" rx="11" fill="none" stroke="#fff" stroke-width="5"/><circle r="8" fill="none" stroke="#fff" stroke-width="5"/></g><g class="zx-node" transform="translate(820 700)"><circle class="zx-halo" r="58"/><circle r="34" fill="#e8ecff"/><path d="M0-20a20 20 0 0 0-6 39c1 0 1-1 1-2v-6c-6 1-7-3-7-3-1-3-3-3-3-3-2-1 0-1 0-1 2 0 3 2 3 2 2 3 5 2 6 2 0-1 1-2 2-3-5-1-10-2-10-10 0-2 1-4 2-5 0-1-1-3 0-6 0 0 2 0 5 2a18 18 0 0 1 10 0c3-2 5-2 5-2 1 3 0 5 0 6 1 1 2 3 2 5 0 8-5 9-10 10 1 1 2 2 2 4v7c0 1 0 2 1 2A20 20 0 0 0 0-20z" fill="#111"/></g></svg>
|
||
<div class="zx-pks"><i class="zx-pk" style="offset-path:path('M430 560 L620 250');--d:-0.00s;--t:1.6s"></i><i class="zx-pk" style="offset-path:path('M620 250 L430 560');--d:-0.90s;--t:1.6s"></i><i class="zx-pk" style="offset-path:path('M430 560 L1010 210');--d:-0.37s;--t:1.9s"></i><i class="zx-pk" style="offset-path:path('M1010 210 L430 560');--d:-1.27s;--t:1.9s"></i><i class="zx-pk" style="offset-path:path('M430 560 L1220 420');--d:-0.74s;--t:2.2s"></i><i class="zx-pk" style="offset-path:path('M1220 420 L430 560');--d:-1.64s;--t:2.2s"></i><i class="zx-pk" style="offset-path:path('M430 560 L820 120');--d:-1.11s;--t:1.6s"></i><i class="zx-pk" style="offset-path:path('M820 120 L430 560');--d:-2.01s;--t:1.6s"></i><i class="zx-pk" style="offset-path:path('M430 560 L1170 660');--d:-1.48s;--t:1.9s"></i><i class="zx-pk" style="offset-path:path('M1170 660 L430 560');--d:-2.38s;--t:1.9s"></i><i class="zx-pk" style="offset-path:path('M430 560 L820 700');--d:-1.85s;--t:2.2s"></i><i class="zx-pk" style="offset-path:path('M820 700 L430 560');--d:-2.75s;--t:2.2s"></i></div>
|
||
<span class="zx-tag" style="left:430px;top:640px">это вы</span>
|
||
</section>
|
||
<section class="zx-s zx-env" data-s="env">
|
||
<div class="zx-envl">
|
||
<div class="zx-env-back"></div>
|
||
<div class="zx-env-flap2"></div>
|
||
<div class="zx-env-letter"><b class="zx-lock">🔒 зашифровано</b><code>7f3a·c19e·04bd·e2a8·91fc·5d07</code><code>b6e1·0a4f·d98c·3e27·c150·8a9d</code><code>44c2·f7a0·1b93·e6d5·20ce·7b18</code></div>
|
||
<div class="zx-env-front"><span class="zx-env-to">Кому:</span><strong>youtube.com</strong><em>SNI · адрес сервера</em></div>
|
||
<div class="zx-env-flap"></div>
|
||
</div>
|
||
<div class="zx-note zx-note-red" style="left:150px;top:440px"><b>адрес виден</b><span>его может прочитать любой, кто держит провод</span></div>
|
||
<div class="zx-note zx-note-cy" style="left:1150px;top:90px"><b>содержимое закрыто</b><span>что вы смотрите и пишете — не прочитать</span></div>
|
||
</section>
|
||
<section class="zx-s zx-rkn zx-rigslide" data-s="rkn">
|
||
|
||
</section>
|
||
<section class="zx-s zx-stamp zx-rigslide" data-s="stamp"></section>
|
||
<section class="zx-s zx-reg" data-s="reg">
|
||
<div class="zx-doc"><div class="zx-doc-head"><b>ЕДИНЫЙ РЕЕСТР</b><span>запрещённых ресурсов</span><strong class="zx-count"></strong></div><ul class="zx-doc-list"><li><span>#69294</span>youtube.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#83370</span>instagram.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#71033</span>discord.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#69222</span>facebook.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#76563</span>x.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#86989</span>linkedin.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#34890</span>rutracker.org<em>ЗАБЛОКИРОВАНО</em></li><li><span>#34203</span>medium.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#77096</span>soundcloud.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#72359</span>signal.org<em>ЗАБЛОКИРОВАНО</em></li><li><span>#92559</span>viber.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#90472</span>patreon.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#34402</span>twitch.tv<em>ЗАБЛОКИРОВАНО</em></li><li><span>#22336</span>imdb.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#68535</span>spotify.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#49767</span>chatgpt.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#28585</span>proton.me<em>ЗАБЛОКИРОВАНО</em></li><li><span>#21884</span>tor.org<em>ЗАБЛОКИРОВАНО</em></li><li><span>#80607</span>archive.org<em>ЗАБЛОКИРОВАНО</em></li><li><span>#93158</span>bbc.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#15489</span>dw.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#88045</span>meduza.io<em>ЗАБЛОКИРОВАНО</em></li><li><span>#61925</span>reddit.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#69374</span>quora.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#95710</span>deviantart.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#90683</span>flickr.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#95206</span>vimeo.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#30643</span>tiktok.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#69294</span>youtube.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#83370</span>instagram.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#71033</span>discord.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#69222</span>facebook.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#76563</span>x.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#86989</span>linkedin.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#34890</span>rutracker.org<em>ЗАБЛОКИРОВАНО</em></li><li><span>#34203</span>medium.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#77096</span>soundcloud.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#72359</span>signal.org<em>ЗАБЛОКИРОВАНО</em></li><li><span>#92559</span>viber.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#90472</span>patreon.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#34402</span>twitch.tv<em>ЗАБЛОКИРОВАНО</em></li><li><span>#22336</span>imdb.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#68535</span>spotify.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#49767</span>chatgpt.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#28585</span>proton.me<em>ЗАБЛОКИРОВАНО</em></li><li><span>#21884</span>tor.org<em>ЗАБЛОКИРОВАНО</em></li><li><span>#80607</span>archive.org<em>ЗАБЛОКИРОВАНО</em></li><li><span>#93158</span>bbc.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#15489</span>dw.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#88045</span>meduza.io<em>ЗАБЛОКИРОВАНО</em></li><li><span>#61925</span>reddit.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#69374</span>quora.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#95710</span>deviantart.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#90683</span>flickr.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#95206</span>vimeo.com<em>ЗАБЛОКИРОВАНО</em></li><li><span>#30643</span>tiktok.com<em>ЗАБЛОКИРОВАНО</em></li></ul></div>
|
||
</section>
|
||
<section class="zx-s zx-map" data-s="map">
|
||
<svg class="zx-svg" viewBox="0 0 1600 900"><path class="zx-wire2" d="M361 671 L295 659"/><path class="zx-wire2" d="M671 472 L663 439"/><path class="zx-wire2" d="M289 632 L361 671"/><path class="zx-wire2" d="M336 561 L291 503"/><path class="zx-wire2" d="M845 491 L924 497"/><path class="zx-wire2" d="M663 439 L582 439"/><path class="zx-wire2" d="M671 472 L681 410"/><path class="zx-wire2" d="M924 497 L1062 304"/><path class="zx-wire2" d="M845 491 L873 501"/><path class="zx-wire2" d="M473 404 L434 445"/><path class="zx-wire2" d="M1469 252 L1308 478"/><path class="zx-wire2" d="M1080 669 L1172 593"/><path class="zx-wire2" d="M435 381 L389 310"/><path class="zx-wire2" d="M131 445 L215 344"/><path class="zx-wire2" d="M375 424 L331 414"/><path class="zx-wire2" d="M1241 350 L1308 478"/><path class="zx-wire2" d="M277 424 L215 344"/><path class="zx-wire2" d="M473 404 L480 435"/><path class="zx-wire2" d="M873 501 L924 497"/><path class="zx-wire2" d="M336 561 L295 590"/><path class="zx-wire2" d="M239 171 L215 344"/><path class="zx-wire2" d="M1107 564 L1172 593"/><path class="zx-wire2" d="M1308 478 L1172 593"/><path class="zx-wire2" d="M375 424 L383 474"/><path class="zx-wire2" d="M289 632 L295 590"/><path class="zx-wire2" d="M708 163 L681 410"/><path class="zx-wire2" d="M291 503 L349 507"/><path class="zx-wire2" d="M473 404 L515 398"/><path class="zx-wire2" d="M708 163 L582 317"/><path class="zx-wire2" d="M1469 252 L1241 350"/><path class="zx-wire2" d="M426 501 L383 474"/><path class="zx-wire2" d="M473 404 L435 381"/><path class="zx-wire2" d="M748 420 L663 439"/><path class="zx-wire2" d="M1241 350 L1062 304"/><path class="zx-wire2" d="M426 501 L434 445"/><path class="zx-wire2" d="M582 439 L582 317"/><path class="zx-wire2" d="M277 424 L331 414"/><path class="zx-wire2" d="M302 256 L215 344"/><path class="zx-wire2" d="M435 381 L434 445"/><path class="zx-wire2" d="M434 445 L480 435"/><path class="zx-wire2" d="M383 474 L349 507"/><path class="zx-wire2" d="M582 439 L515 398"/><path class="zx-wire2" d="M1080 669 L1107 564"/><path class="zx-wire2" d="M131 445 L277 424"/><path class="zx-wire2" d="M289 632 L295 659"/><path class="zx-wire2" d="M582 317 L515 398"/><path class="zx-wire2" d="M748 420 L681 410"/><path class="zx-wire2" d="M515 398 L480 435"/><path class="zx-wire2" d="M336 561 L349 507"/><path class="zx-wire2" d="M663 439 L681 410"/><path class="zx-wire2" d="M291 503 L277 424"/><path class="zx-wire2" d="M302 256 L389 310"/><path class="zx-wire2" d="M302 256 L239 171"/><g class="zx-city" transform="translate(131 445)" style="--i:0"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city big" transform="translate(215 344)" style="--i:1"><circle class="zx-dot" r="5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/><text y="-16">Санкт-Петербург</text></g><g class="zx-city" transform="translate(239 171)" style="--i:2"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city big" transform="translate(277 424)" style="--i:3"><circle class="zx-dot" r="5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/><text y="-16">Москва</text></g><g class="zx-city" transform="translate(289 632)" style="--i:4"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(291 503)" style="--i:5"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(295 590)" style="--i:6"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(295 659)" style="--i:7"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(302 256)" style="--i:8"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(331 414)" style="--i:9"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(336 561)" style="--i:10"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(349 507)" style="--i:11"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(361 671)" style="--i:12"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(375 424)" style="--i:13"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(383 474)" style="--i:14"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(389 310)" style="--i:15"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(426 501)" style="--i:16"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(434 445)" style="--i:17"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(435 381)" style="--i:18"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city big" transform="translate(473 404)" style="--i:19"><circle class="zx-dot" r="5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/><text y="-16">Екатеринбург</text></g><g class="zx-city" transform="translate(480 435)" style="--i:20"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(515 398)" style="--i:21"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(582 317)" style="--i:22"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(582 439)" style="--i:23"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city big" transform="translate(663 439)" style="--i:24"><circle class="zx-dot" r="5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/><text y="-16">Новосибирск</text></g><g class="zx-city" transform="translate(671 472)" style="--i:25"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(681 410)" style="--i:26"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(708 163)" style="--i:27"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(748 420)" style="--i:28"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(845 491)" style="--i:29"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(873 501)" style="--i:30"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(924 497)" style="--i:31"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(1062 304)" style="--i:32"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city big" transform="translate(1080 669)" style="--i:33"><circle class="zx-dot" r="5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/><text y="-16">Владивосток</text></g><g class="zx-city" transform="translate(1107 564)" style="--i:34"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(1172 593)" style="--i:35"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(1241 350)" style="--i:36"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(1308 478)" style="--i:37"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g><g class="zx-city" transform="translate(1469 252)" style="--i:38"><circle class="zx-dot" r="3.5"/><rect class="zx-box" x="-9" y="-9" width="18" height="18" rx="3"/></g></svg>
|
||
<div class="zx-mapcount"><strong class="zx-count"></strong><span>городов с ТСПУ на схеме</span></div>
|
||
</section>
|
||
<section class="zx-s zx-xray" data-s="xray">
|
||
<svg class="zx-svg" viewBox="0 0 1600 900"><path class="zx-rail" d="M300 450 H1300"/><g transform="translate(250 450)"><rect x="-38" y="-26" width="76" height="48" rx="6" fill="#0e1633" stroke="#4fd1ff" stroke-width="3"/><rect x="-48" y="22" width="96" height="8" rx="4" fill="#4fd1ff"/><circle cx="0" cy="-2" r="9" fill="#4fd1ff"/></g><text class="zx-lbl" x="250" y="530">вы</text><g transform="translate(1350 450)"><rect x="-34" y="-24" width="68" height="48" rx="14" fill="#ff2d2d"/><path d="M-9 -12 14 0 -9 12Z" fill="#fff"/></g><text class="zx-lbl" x="1350" y="530">youtube.com</text><g class="zx-gate"><rect x="720" y="380" width="160" height="140" rx="16"/><text x="800" y="438">ТСПУ</text><rect class="zx-scan" x="728" y="446" width="144" height="4" rx="2"/><circle class="zx-led" cx="746" cy="500" r="5"/><circle class="zx-led" cx="764" cy="500" r="5"/><circle class="zx-led" cx="782" cy="500" r="5"/></g></svg><div class="zx-mini zx-m-ok"><b>sber.ru</b></div><div class="zx-mini zx-m-bad"><b>youtube.com</b></div><div class="zx-lens"><span class="zx-lens-a">sber.ru<b class="ok">✓ не в реестре</b></span><span class="zx-lens-b">youtube.com<b class="bad">✗ в реестре</b></span></div><div class="zx-cut">✂</div>
|
||
</section>
|
||
<section class="zx-s zx-claw zx-rigslide" data-s="claw"></section>
|
||
<section class="zx-s zx-slow" data-s="slow">
|
||
<div class="zx-player">
|
||
<div class="zx-pl-top"><svg viewBox="-34 -24 68 48"><rect x="-34" y="-24" width="68" height="48" rx="14" fill="#ff2d2d"/><path d="M-9 -12 14 0 -9 12Z" fill="#fff"/></svg><span>Как обойти блокировку — 12:47</span></div>
|
||
<div class="zx-pl-video"><i class="zx-spin"></i><span>Буферизация…</span></div>
|
||
<div class="zx-pl-bar"><i class="zx-pl-buf"></i><i class="zx-pl-play"></i></div>
|
||
<div class="zx-pl-bot"><span>▶ 0:03 / 12:47</span><b>144p</b></div>
|
||
</div>
|
||
<div class="zx-speed"><span>скорость</span><strong><i>12 Мбит/с</i><i>2 Мбит/с</i><i>480 кбит/с</i><i>128 кбит/с</i></strong></div>
|
||
</section>
|
||
<section class="zx-s zx-loss" data-s="loss">
|
||
<div class="zx-apps"><p>Приложения VPN в магазине</p><div class="zx-appgrid"><div class="zx-app" style="--i:0"><svg viewBox="0 0 40 40"><path d="M20 4 33 9v10c0 8-5.5 14-13 17C12.5 33 7 27 7 19V9z"/><path d="M14 20l4 4 8-9"/></svg><em>удалено</em></div><div class="zx-app" style="--i:1"><svg viewBox="0 0 40 40"><path d="M20 4 33 9v10c0 8-5.5 14-13 17C12.5 33 7 27 7 19V9z"/><path d="M14 20l4 4 8-9"/></svg><em>удалено</em></div><div class="zx-app" style="--i:2"><svg viewBox="0 0 40 40"><path d="M20 4 33 9v10c0 8-5.5 14-13 17C12.5 33 7 27 7 19V9z"/><path d="M14 20l4 4 8-9"/></svg><em>удалено</em></div><div class="zx-app" style="--i:3"><svg viewBox="0 0 40 40"><path d="M20 4 33 9v10c0 8-5.5 14-13 17C12.5 33 7 27 7 19V9z"/><path d="M14 20l4 4 8-9"/></svg><em>удалено</em></div><div class="zx-app" style="--i:4"><svg viewBox="0 0 40 40"><path d="M20 4 33 9v10c0 8-5.5 14-13 17C12.5 33 7 27 7 19V9z"/><path d="M14 20l4 4 8-9"/></svg><em>удалено</em></div><div class="zx-app" style="--i:5"><svg viewBox="0 0 40 40"><path d="M20 4 33 9v10c0 8-5.5 14-13 17C12.5 33 7 27 7 19V9z"/><path d="M14 20l4 4 8-9"/></svg><em>удалено</em></div><div class="zx-app" style="--i:6"><svg viewBox="0 0 40 40"><path d="M20 4 33 9v10c0 8-5.5 14-13 17C12.5 33 7 27 7 19V9z"/><path d="M14 20l4 4 8-9"/></svg><em>удалено</em></div><div class="zx-app" style="--i:7"><svg viewBox="0 0 40 40"><path d="M20 4 33 9v10c0 8-5.5 14-13 17C12.5 33 7 27 7 19V9z"/><path d="M14 20l4 4 8-9"/></svg><em>удалено</em></div></div></div>
|
||
<div class="zx-people"><p>Люди без доступа</p><div class="zx-crowd"><i style="--i:0"></i><i style="--i:1"></i><i style="--i:2"></i><i style="--i:3"></i><i style="--i:4"></i><i style="--i:5"></i><i style="--i:6"></i><i style="--i:7"></i><i style="--i:8"></i><i style="--i:9"></i><i style="--i:10"></i><i style="--i:11"></i><i style="--i:12"></i><i style="--i:13"></i></div></div>
|
||
</section>
|
||
<section class="zx-s zx-fake zx-trick" data-s="fake">
|
||
<svg class="zx-svg" viewBox="0 0 1600 900"><path class="zx-rail" d="M300 450 H1300"/><g transform="translate(250 450)"><rect x="-38" y="-26" width="76" height="48" rx="6" fill="#0e1633" stroke="#4fd1ff" stroke-width="3"/><rect x="-48" y="22" width="96" height="8" rx="4" fill="#4fd1ff"/><circle cx="0" cy="-2" r="9" fill="#4fd1ff"/></g><text class="zx-lbl" x="250" y="530">вы</text><g transform="translate(1350 450)"><rect x="-34" y="-24" width="68" height="48" rx="14" fill="#ff2d2d"/><path d="M-9 -12 14 0 -9 12Z" fill="#fff"/></g><text class="zx-lbl" x="1350" y="530">youtube.com</text><g class="zx-gate"><rect x="720" y="380" width="160" height="140" rx="16"/><text x="800" y="438">ТСПУ</text><rect class="zx-scan" x="728" y="446" width="144" height="4" rx="2"/><circle class="zx-led" cx="746" cy="500" r="5"/><circle class="zx-led" cx="764" cy="500" r="5"/><circle class="zx-led" cx="782" cy="500" r="5"/></g></svg><div class="zx-mini zx-m-fake" data-ttl="TTL 2"><b>google.com</b></div><div class="zx-mini zx-m-real"><b>youtube.com</b></div><div class="zx-think"><span class="a">google.com — ок, запомнила</span><span class="b">это соединение уже проверено</span></div><div class="zx-poof">TTL кончился — до сервера не дошёл</div><div class="zx-used">приём <b>fake</b> · в Zapret 2 GUI и Magisk Zapret 2</div>
|
||
</section>
|
||
<section class="zx-s zx-split zx-trick" data-s="split">
|
||
<svg class="zx-svg" viewBox="0 0 1600 900"><path class="zx-rail" d="M300 450 H1300"/><g transform="translate(250 450)"><rect x="-38" y="-26" width="76" height="48" rx="6" fill="#0e1633" stroke="#4fd1ff" stroke-width="3"/><rect x="-48" y="22" width="96" height="8" rx="4" fill="#4fd1ff"/><circle cx="0" cy="-2" r="9" fill="#4fd1ff"/></g><text class="zx-lbl" x="250" y="530">вы</text><g transform="translate(1350 450)"><rect x="-34" y="-24" width="68" height="48" rx="14" fill="#ff2d2d"/><path d="M-9 -12 14 0 -9 12Z" fill="#fff"/></g><text class="zx-lbl" x="1350" y="530">youtube.com</text><g class="zx-gate"><rect x="720" y="380" width="160" height="140" rx="16"/><text x="800" y="438">ТСПУ</text><rect class="zx-scan" x="728" y="446" width="144" height="4" rx="2"/><circle class="zx-led" cx="746" cy="500" r="5"/><circle class="zx-led" cx="764" cy="500" r="5"/><circle class="zx-led" cx="782" cy="500" r="5"/></g></svg><div class="zx-mini zx-m-whole"><b>youtube.com</b></div><div class="zx-mini zx-m-p1"><b>you</b></div><div class="zx-mini zx-m-p2"><b>tube.com</b></div><div class="zx-think"><span class="a">«you»? «tube.com»? не узнаю</span></div><div class="zx-join">youtube.com ✓</div><div class="zx-used">приём <b>split</b> · адрес режется на части</div>
|
||
</section>
|
||
<section class="zx-s zx-disorder zx-trick" data-s="disorder">
|
||
<svg class="zx-svg" viewBox="0 0 1600 900"><path class="zx-rail" d="M300 450 H1300"/><g transform="translate(250 450)"><rect x="-38" y="-26" width="76" height="48" rx="6" fill="#0e1633" stroke="#4fd1ff" stroke-width="3"/><rect x="-48" y="22" width="96" height="8" rx="4" fill="#4fd1ff"/><circle cx="0" cy="-2" r="9" fill="#4fd1ff"/></g><text class="zx-lbl" x="250" y="530">вы</text><g transform="translate(1350 450)"><rect x="-34" y="-24" width="68" height="48" rx="14" fill="#ff2d2d"/><path d="M-9 -12 14 0 -9 12Z" fill="#fff"/></g><text class="zx-lbl" x="1350" y="530">youtube.com</text><g class="zx-gate"><rect x="720" y="380" width="160" height="140" rx="16"/><text x="800" y="438">ТСПУ</text><rect class="zx-scan" x="728" y="446" width="144" height="4" rx="2"/><circle class="zx-led" cx="746" cy="500" r="5"/><circle class="zx-led" cx="764" cy="500" r="5"/><circle class="zx-led" cx="782" cy="500" r="5"/></g></svg><div class="zx-mini zx-m-p2 first"><b>2 · tube.com</b></div><div class="zx-mini zx-m-p1 second"><b>1 · you</b></div><div class="zx-think"><span class="a">сначала конец, потом начало?</span></div><div class="zx-join">1 + 2 → youtube.com ✓</div><div class="zx-used">приём <b>disorder</b> · части приходят не по порядку</div>
|
||
</section>
|
||
<section class="zx-s zx-tunnel zx-trick" data-s="tunnel">
|
||
<svg class="zx-svg" viewBox="0 0 1600 900"><path class="zx-rail" d="M300 450 H1300"/><g transform="translate(250 450)"><rect x="-38" y="-26" width="76" height="48" rx="6" fill="#0e1633" stroke="#4fd1ff" stroke-width="3"/><rect x="-48" y="22" width="96" height="8" rx="4" fill="#4fd1ff"/><circle cx="0" cy="-2" r="9" fill="#4fd1ff"/></g><text class="zx-lbl" x="250" y="530">вы</text><g transform="translate(1350 450)"><rect x="-34" y="-24" width="68" height="48" rx="14" fill="#ff2d2d"/><path d="M-9 -12 14 0 -9 12Z" fill="#fff"/></g><text class="zx-lbl" x="1350" y="530">youtube.com</text><g class="zx-gate"><rect x="720" y="380" width="160" height="140" rx="16"/><text x="800" y="438">ТСПУ</text><rect class="zx-scan" x="728" y="446" width="144" height="4" rx="2"/><circle class="zx-led" cx="746" cy="500" r="5"/><circle class="zx-led" cx="764" cy="500" r="5"/><circle class="zx-led" cx="782" cy="500" r="5"/></g></svg><div class="zx-mini zx-m-cap"><b>cdn.cloud · HTTPS</b><i>youtube.com</i></div><div class="zx-think"><span class="a">cdn.cloud — обычный сайт, пропускаю</span></div><div class="zx-used">приём <b>туннель</b> · VLESS и WSS в Zapret KVN и ZaStoGram</div>
|
||
</section>
|
||
<section class="zx-s zx-zt zx-rigslide" data-s="zt">
|
||
<div class="zx-flash"></div><div class="zx-speedlines"></div>
|
||
</section>
|
||
<section class="zx-s zx-p-gui zx-proj" data-s="p-gui">
|
||
<figure class="zx-pcard zx-shot-gui"><img src="{{AppSubUrl}}/assets/zapret-moe/shot-gui.webp" alt="" loading="lazy"></figure>
|
||
<div class="zx-ptext"><p class="zx-pchips"><span>windows</span></p><h3>Zapret 2 GUI</h3><ul><li style="--i:0">Готовые профили обхода для YouTube, Discord и заблокированных сайтов</li><li style="--i:1">Поставил, выбрал профиль — работает</li><li style="--i:2">Сборки из открытого кода в Forgejo Actions</li></ul></div>
|
||
</section>
|
||
<section class="zx-s zx-p-kvn zx-proj" data-s="p-kvn">
|
||
<figure class="zx-pcard "><img src="{{AppSubUrl}}/zapretkvn/ZapretKVN-android/media/branch/main/docs/assets/zapret-kvn-android-overview.webp" alt="" loading="lazy"></figure>
|
||
<div class="zx-ptext"><p class="zx-pchips"><span>android</span><span>windows</span></p><h3>Zapret KVN</h3><ul><li style="--i:0">Выборочная маршрутизация: вы решаете, что идёт в туннель</li><li style="--i:1">Android — на sing-box-extended, без root</li><li style="--i:2">Windows — Xray, sing-box и Zapret под одним капотом</li></ul></div>
|
||
</section>
|
||
<section class="zx-s zx-p-zsg zx-proj" data-s="p-zsg">
|
||
<figure class="zx-pcard "><img src="{{AppSubUrl}}/zastogram/ZaStoGram_desktop/media/branch/dev/docs/assets/zastogram-overview.webp" alt="" loading="lazy"></figure>
|
||
<div class="zx-ptext"><p class="zx-pchips"><span>android</span><span>desktop</span></p><h3>ZaStoGram</h3><ul><li style="--i:0">Telegram, который работает в сетях с DPI</li><li style="--i:1">MTProxy FakeTLS и WSS-транспорт</li><li style="--i:2">Защита приватности и обновления через F-Droid</li></ul></div>
|
||
</section>
|
||
<section class="zx-s zx-p-mag zx-proj" data-s="p-mag">
|
||
<figure class="zx-pcard "><img src="{{AppSubUrl}}/zapretdiscordyoutube/magisk-zapret2/media/branch/main/docs/assets/zapret2-control-ui.webp" alt="" loading="lazy"></figure>
|
||
<div class="zx-ptext"><p class="zx-pchips"><span>android</span><span>root</span></p><h3>Magisk Zapret 2</h3><ul><li style="--i:0">zapret2 работает на уровне системы — для всех приложений</li><li style="--i:1">Панель управления стратегиями прямо с телефона</li><li style="--i:2">Модуль Magisk: поставил и забыл</li></ul></div>
|
||
</section>
|
||
<section class="zx-s zx-infra" data-s="infra">
|
||
<svg class="zx-svg" viewBox="0 0 1600 900"><path class="zx-link" style="--i:1" d="M800 430 L420 230"/><path class="zx-link" style="--i:2" d="M800 430 L1180 230"/><path class="zx-link" style="--i:3" d="M800 430 L1260 520"/><path class="zx-link" style="--i:4" d="M800 430 L340 560"/><path class="zx-link" style="--i:5" d="M800 430 L800 730"/><path class="zx-link" style="--i:6" d="M800 430 L800 150"/></svg><div class="zx-inode c" style="left:800px;top:430px;--i:0"><b>git.zapret.moe</b><span>свой git-сервер</span></div><div class="zx-inode " style="left:420px;top:230px;--i:1"><b>Forgejo Actions</b><span>сборки из открытого кода</span></div><div class="zx-inode " style="left:1180px;top:230px;--i:2"><b>F-Droid</b><span>обновления приходят сами</span></div><div class="zx-inode " style="left:1260px;top:520px;--i:3"><b>зеркало на GitHub</b><span>копия всего кода</span></div><div class="zx-inode " style="left:340px;top:560px;--i:4"><b>wiki.zapret.moe</b><span>база знаний</span></div><div class="zx-inode " style="left:800px;top:730px;--i:5"><b>status.zapret.moe</b><span>статус серверов</span></div><div class="zx-inode " style="left:800px;top:150px;--i:6"><b>@zapretvpns_bot</b><span>VPN и поддержка</span></div>
|
||
</section>
|
||
<section class="zx-s zx-num" data-s="num">
|
||
<div class="zx-nums"><div><b data-z="commits_year">0</b><span>коммитов за год</span></div><div><b data-z="releases">0</b><span>релизов</span></div><div><b data-z="downloads">0</b><span>скачиваний сборок</span></div><div><b data-z="authors_year">0</b><span>авторов за год</span></div></div>
|
||
<svg class="zx-chart" viewBox="0 0 1200 240" preserveAspectRatio="none"><defs><linearGradient id="zx-cf" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#4fd1ff" stop-opacity=".45"/><stop offset="1" stop-color="#4fd1ff" stop-opacity="0"/></linearGradient></defs><path class="zx-ch-area"/><path class="zx-ch-line"/></svg>
|
||
</section>
|
||
<section class="zx-s zx-battle zx-rigslide" data-s="battle">
|
||
<canvas class="zx-bolt"></canvas><div class="zx-shock"></div>
|
||
</section>
|
||
<section class="zx-s zx-defeat zx-rigslide" data-s="defeat"></section>
|
||
<section class="zx-s zx-roof zx-rigslide" data-s="roof"></section>
|
||
<section class="zx-s zx-final" data-s="final">
|
||
<div class="zx-fin">
|
||
<p class="zx-final-k">zapret.moe</p>
|
||
<h2>Интернет должен быть <span>свободным</span></h2>
|
||
<p class="zx-final-s">Мы делаем инструменты обхода открыто и бесплатно. Присоединяйтесь.</p>
|
||
<div class="zx-final-btns"><button type="button" class="zb zb-main" data-go="#zpm-arsenal">скачать инструменты</button><a class="zb" href="https://t.me/zapretvpns_bot?start=site_hero" target="_blank" rel="noopener noreferrer">поддержать проект</a><button type="button" class="zb" data-go="">на сайт</button></div>
|
||
</div>
|
||
</section>
|
||
<section class="zx-s zx-fly" data-s="fly">
|
||
<svg class="zi-warp" viewBox="-800 -450 1600 900" preserveAspectRatio="xMidYMid slice" aria-hidden="true"></svg>
|
||
<div class="zx-flyhero"><img src="{{AppSubUrl}}/assets/zapret-moe/chars/zt-base.webp" alt="" loading="lazy"></div>
|
||
<div class="zx-flycards"><figure style="--x:-1;--i:0"><img src="{{AppSubUrl}}/assets/zapret-moe/shot-gui.webp" alt="" loading="lazy"><figcaption><b>Zapret 2 GUI</b></figcaption></figure><figure style="--x:1;--i:1"><img src="{{AppSubUrl}}/zapretkvn/ZapretKVN-android/media/branch/main/docs/assets/zapret-kvn-android-overview.webp" alt="" loading="lazy"><figcaption><b>Zapret KVN</b></figcaption></figure><figure style="--x:-1;--i:2"><img src="{{AppSubUrl}}/zastogram/ZaStoGram_desktop/media/branch/dev/docs/assets/zastogram-overview.webp" alt="" loading="lazy"><figcaption><b>ZaStoGram</b></figcaption></figure><figure style="--x:1;--i:3"><img src="{{AppSubUrl}}/zapretdiscordyoutube/magisk-zapret2/media/branch/main/docs/assets/zapret2-control-ui.webp" alt="" loading="lazy"><figcaption><b>Magisk Zapret 2</b></figcaption></figure></div>
|
||
</section>
|
||
</div>
|
||
<div class="zx-top">
|
||
<div class="zx-acts"></div>
|
||
<div class="zx-ctl">
|
||
<button class="zx-btn zx-sound" type="button" data-a="sound" tabindex="-1"><svg viewBox="0 0 20 20"><path d="M3 8h3l4-4v12l-4-4H3z"/><path class="zx-snd-w" d="M13 7c1.3 1.6 1.3 4.4 0 6M15.5 5c2.6 3 2.6 7 0 10"/><path class="zx-snd-x" d="M13 8l5 5m0-5-5 5"/></svg><span class="zx-lbl-t">звук</span></button>
|
||
<button class="zx-btn" type="button" data-a="pause" tabindex="-1"><svg viewBox="0 0 20 20"><path class="zx-pause-bars" d="M7 5v10M13 5v10"/><path class="zx-pause-play" d="M7 5l8 5-8 5z"/></svg><span class="zx-lbl-t">пауза</span><kbd>␣</kbd></button>
|
||
<button class="zx-btn" type="button" data-a="skip" tabindex="-1"><span>пропустить</span><kbd>esc</kbd></button>
|
||
</div>
|
||
</div>
|
||
<div class="zx-cap"><strong></strong><span></span></div>
|
||
<div class="zx-nav">
|
||
<button class="zx-btn" type="button" data-a="prev" tabindex="-1" aria-label="Назад"><svg viewBox="0 0 20 20"><path d="M12 4l-6 6 6 6"/></svg></button>
|
||
<span class="zx-hint"><span class="zx-hint-nav">← → листать · клик — дальше</span><span class="zx-hint-snd">коснитесь — включится звук</span></span>
|
||
<button class="zx-btn" type="button" data-a="next" tabindex="-1" aria-label="Дальше"><svg viewBox="0 0 20 20"><path d="M8 4l6 6-6 6"/></svg></button>
|
||
<button class="zx-btn" type="button" data-a="act" tabindex="-1"><span>следующая глава</span><svg viewBox="0 0 20 20"><path d="M5 4l6 6-6 6M11 4l6 6-6 6"/></svg></button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ── Шапка ─────────────────────────────────────────────── -->
|
||
<section class="zh" aria-labelledby="zpm-title">
|
||
<div class="zs zh-grid">
|
||
<div class="zh-copy">
|
||
<p class="zh-kicker"><span class="zh-live" aria-hidden="true"></span>git-сервер сообщества Zapret.Moe</p>
|
||
<h1 id="zpm-title" aria-label="Интернет должен быть свободным"><span class="zh-w" aria-hidden="true"><span style="--i:0">Интернет</span></span> <span class="zh-w" aria-hidden="true"><span style="--i:1">должен</span></span> <span class="zh-w" aria-hidden="true"><span style="--i:2">быть</span></span> <span class="zh-free" aria-hidden="true"><span class="zh-l" style="--i:0">с</span><span class="zh-l" style="--i:1">в</span><span class="zh-l" style="--i:2">о</span><span class="zh-l" style="--i:3">б</span><span class="zh-l" style="--i:4">о</span><span class="zh-l" style="--i:5">д</span><span class="zh-l" style="--i:6">н</span><span class="zh-l" style="--i:7">ы</span><span class="zh-l" style="--i:8">м</span><svg class="zh-chain" viewBox="0 0 400 40" preserveAspectRatio="none"><g class="zh-chain-l"><path d="M0 20 H 196"/><path class="zh-chain-b" d="M0 20 H 196"/></g><g class="zh-chain-r"><path d="M204 20 H 400"/><path class="zh-chain-b" d="M204 20 H 400"/></g></svg><span class="zh-lock"><svg viewBox="0 0 40 50"><path class="zh-shackle" d="M11 23 V15 a9 9 0 0 1 18 0 V23"/><rect x="5" y="21" width="30" height="25" rx="6"/><path class="zh-key" d="M20 29 v8 M17 31 a3 3 0 1 1 6 0"/></svg></span><span class="zh-bits"><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i></span><svg class="zh-under" viewBox="0 0 400 24" preserveAspectRatio="none"><path d="M4 16 C 80 4, 150 22, 220 12 S 350 6, 396 14"/></svg></span></h1>
|
||
<p class="zh-lead">РКН-тян режет провода, а мы их сращиваем. Здесь живут открытые инструменты обхода блокировок: исходники, сборки и обсуждения. Держим сервер сами, чтобы код нельзя было убрать одной жалобой на платформу.</p>
|
||
<p class="zh-ticker">Помогаем открыть <span class="zh-flip"><span>YouTube</span><span>Discord</span><span>Telegram</span><span>WhatsApp</span><span>Signal</span><span>всё остальное</span></span></p>
|
||
<p class="zh-stats" id="zh-stats" hidden><span><b data-hs="commits_year">0</b> коммитов за год</span><span><b data-hs="downloads">0</b> скачиваний</span><span><b data-hs="repos_public">0</b> открытых репозиториев</span></p>
|
||
<div class="zh-actions">
|
||
<a class="zb zb-main" href="#zpm-arsenal">к инструментам<svg viewBox="0 0 20 20" aria-hidden="true"><path d="M4 10h11m-4-5 5 5-5 5"/></svg></a>
|
||
<a class="zb" href="{{AppSubUrl}}/explore/repos">все репозитории</a>
|
||
{{if .IsSigned}}<a class="zb" href="{{AppSubUrl}}/">моя лента</a>{{else}}<a class="zb" href="{{AppSubUrl}}/user/sign_up">аккаунт без почты</a>{{end}}
|
||
</div>
|
||
<p class="zh-replay" id="zpm-replay" hidden><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M4 2.5v11l9-5.5z"/></svg>история zapret.moe: <button type="button" data-mode="full">целиком · 2 мин</button> <button type="button" data-mode="short">коротко</button></p>
|
||
</div>
|
||
|
||
<figure class="zh-art">
|
||
<div class="zh-art-frame">
|
||
<img src="{{AppSubUrl}}/zapretdiscordyoutube.png" width="640" height="640" alt="РКН-тян болгаркой режет кабель «интернет», над ней нависает цифровой надзор с красными глазами" fetchpriority="high">
|
||
<svg class="zh-art-fx" viewBox="0 0 640 640" aria-hidden="true">
|
||
<g class="zh-eyes"><ellipse cx="302" cy="62" rx="16" ry="7"/><ellipse cx="342" cy="62" rx="16" ry="7"/></g>
|
||
<g class="zh-sparks" transform="translate(338 500)">
|
||
<path d="M0 0 L -46 22"/><path d="M0 0 L -60 -6"/><path d="M0 0 L -38 40"/><path d="M0 0 L -22 52"/><path d="M0 0 L -70 12"/><path d="M0 0 L -52 34"/>
|
||
</g>
|
||
<path class="zh-scan" d="M0 0 H 640"/>
|
||
</svg>
|
||
</div>
|
||
<figcaption>РКН-тян за работой</figcaption>
|
||
</figure>
|
||
</div>
|
||
|
||
<!-- мини-игра: спаси пакеты от когтей РКН-тян -->
|
||
<div class="zs">
|
||
<div class="zg" id="zg-packets">
|
||
<div class="zg-top">
|
||
<div class="zg-title"><span class="zg-badge">мини-игра</span><strong>Спасите пакеты от РКН-тян</strong><span>Кликайте по пакетам, пока их не схватили когти: щит Запрет-тян их защитит.</span></div>
|
||
<div class="zg-score"><span>спасено <b data-g="saved">0</b></span><span>схвачено <b data-g="lost">0</b></span><span>рекорд <b data-g="best">0</b></span></div>
|
||
</div>
|
||
<canvas class="zg-canvas" aria-label="Мини-игра: провод с пакетами"></canvas>
|
||
<div class="zg-toast" hidden><b></b><span>Помогите Запрет-тян спасать пакеты и дальше —</span><a href="https://t.me/zapretvpns_bot?start=site_story" target="_blank" rel="noopener noreferrer">поддержать проект</a></div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- дуэль: Запрет-тян против РКН-тян -->
|
||
<div class="zd" id="zpm-duel">
|
||
<div class="zd-vs" aria-hidden="true">
|
||
<svg viewBox="0 0 120 400" preserveAspectRatio="none"><path class="zd-glow" d="M60 0 L 46 60 L 70 92 L 38 170 L 74 214 L 44 290 L 68 330 L 52 400"/><path class="zd-bolt zd-bolt-a" d="M60 0 L 46 60 L 70 92 L 38 170 L 74 214 L 44 290 L 68 330 L 52 400"/><path class="zd-bolt zd-bolt-b" d="M62 0 L 78 54 L 52 104 L 82 180 L 48 226 L 78 300 L 56 344 L 66 400"/><path class="zd-branch zd-br-1" d="M70 92 L 100 118 L 112 150"/><path class="zd-branch zd-br-2" d="M38 170 L 14 196 L 6 236"/><path class="zd-branch zd-br-3" d="M44 290 L 20 318 L 16 352"/><path class="zd-branch zd-br-4" d="M74 214 L 104 240"/></svg>
|
||
<canvas class="zd-canvas"></canvas>
|
||
<span>VS</span>
|
||
</div>
|
||
<div class="zd-stage">
|
||
<div class="zf zf-rkn" style="left:49.88%;top:9.86%;width:57.31%;height:94.1%" role="img" aria-label="РКН-тян в полный рост бросается на Запрет-тян, выставив когти"><div class="zf-in"><img class="zf-l zf-hair" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-rkn-hair.webp" style="left:64.05%;top:5.84%;width:31.53%;height:59.4%;transform-origin:0.24% 40%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-base" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-rkn-base.webp" style="left:4.81%;top:0%;width:90.69%;height:94.47%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-arm0" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-rkn-arm0.webp" style="left:2.37%;top:19.02%;width:23.97%;height:16.58%;transform-origin:98.41% 23.08%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-arm1" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-rkn-arm1.webp" style="left:40.53%;top:19.66%;width:32.29%;height:20.62%;transform-origin:2.13% 15.46%" alt="" loading="lazy" decoding="async"></div></div>
|
||
<div class="zf zf-zt" style="left:2.38%;top:6.43%;width:48.56%;height:94.1%" role="img" aria-label="Запрет-тян в боевой стойке бьёт кулаком"><div class="zf-in"><img class="zf-l zf-hair" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-zt-hair.webp" style="left:3.06%;top:2.66%;width:34.05%;height:88.2%;transform-origin:99.47% 40%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-base" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-zt-base.webp" style="left:14.86%;top:0%;width:83.33%;height:98.09%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-arm0" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-zt-arm0.webp" style="left:35.86%;top:21.04%;width:18.29%;height:24.12%;transform-origin:65.02% 44.93%" alt="" loading="lazy" decoding="async"><img class="zf-l zf-arm1" src="{{AppSubUrl}}/assets/zapret-moe/chars/duel-zt-arm1.webp" style="left:65.95%;top:25.19%;width:29.64%;height:18.92%;transform-origin:5.47% 29.78%" alt="" loading="lazy" decoding="async"></div></div>
|
||
</div>
|
||
<p class="zd-card zd-card-zt"><b>Запрет-тян</b><span>за открытый интернет: обход DPI, свои сервера, открытый код</span></p>
|
||
<p class="zd-card zd-card-rkn"><b>РКН-тян</b><span>за реестр: ТСПУ, замедления, блокировки и когти</span></p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ── Пульс ────────────────────────────────────────────── -->
|
||
<section class="zp" id="zpm-pulse" data-stats="{{AppSubUrl}}/assets/zapret-moe-stats/stats.json" data-heatmap="{{AppSubUrl}}/api/v1/users/loop-uh/heatmap" hidden aria-labelledby="zpm-pulse-title">
|
||
<div class="zs">
|
||
<div class="zsec-head">
|
||
<p class="zeb">пульс разработки</p>
|
||
<h2 id="zpm-pulse-title">Сопротивление не спит</h2>
|
||
<p class="zsec-note">Коммиты во всех наших репозиториях по неделям. Наведите на график или коснитесь его, выключайте проекты в легенде.</p>
|
||
</div>
|
||
<dl class="zp-kpis">
|
||
<div class="zp-kpi zp-kpi-main"><dt>коммитов за год</dt><dd data-k="commits_year">0</dd><p class="zp-kpi-sub"><b data-k="commits_7d">0</b> за последнюю неделю</p></div>
|
||
<div class="zp-kpi"><dt>скачиваний сборок</dt><dd data-k="downloads">0</dd></div>
|
||
<div class="zp-kpi"><dt>релизов</dt><dd data-k="releases">0</dd></div>
|
||
<div class="zp-kpi"><dt>дней с коммитами за год</dt><dd data-k="active_days_year">0</dd></div>
|
||
<div class="zp-kpi"><dt>открытых репозиториев</dt><dd data-k="repos_public">0</dd></div>
|
||
<div class="zp-kpi"><dt>авторов за год</dt><dd data-k="authors_year">0</dd></div>
|
||
</dl>
|
||
<div class="zp-panel">
|
||
<div class="zp-ctl">
|
||
<div class="zp-range" role="group" aria-label="Период">
|
||
<button type="button" data-w="13">3 месяца</button>
|
||
<button type="button" data-w="26">полгода</button>
|
||
<button type="button" data-w="52" aria-pressed="true">год</button>
|
||
</div>
|
||
<div class="zp-legend" id="zp-legend" role="group" aria-label="Проекты"></div>
|
||
</div>
|
||
<div class="zp-chart" id="zp-chart">
|
||
<svg aria-label="График коммитов по неделям" role="img"></svg>
|
||
<div class="zp-tip" hidden></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ── На связи ─────────────────────────────────────────── -->
|
||
<section class="zw" id="zpm-live" data-stats="{{AppSubUrl}}/api/zapret/stats.json" data-stats-kvn="{{AppSubUrl}}/api/zapret/kvn/stats.json" hidden aria-labelledby="zpm-live-title">
|
||
<div class="zs">
|
||
<div class="zsec-head">
|
||
<p class="zeb">автообновление</p>
|
||
<h2 id="zpm-live-title">Кто сейчас на связи</h2>
|
||
<p class="zsec-note">Каждая запущенная программа держит одно соединение с нашим сервером и ждёт сигнал о новой версии. Мы считаем эти соединения, а адреса не храним. <span data-k="scope">Пока в счёте только Zapret 2 GUI начиная с версии 21.1.7.121 — число растёт по мере обновления.</span></p>
|
||
<div class="zp-range zw-prod" role="group" aria-label="Программа">
|
||
<button type="button" data-p="gui" aria-pressed="true">Zapret 2 GUI</button>
|
||
<button type="button" data-p="kvn">Zapret KVN</button>
|
||
</div>
|
||
</div>
|
||
<p class="zw-empty" hidden>У Zapret KVN сигнал сервера о новой версии появляется со следующим выпуском. Как только первые программы обновятся, здесь будут те же числа и графики.</p>
|
||
<dl class="zp-kpis">
|
||
<div class="zp-kpi zp-kpi-main"><dt>программ на связи прямо сейчас</dt><dd data-k="online">0</dd><p class="zp-kpi-sub"><b data-k="users">0</b> <span data-k="users-word">пользователей</span> за сегодня</p></div>
|
||
<div class="zp-kpi"><dt>на последней версии</dt><dd data-k="share">—</dd></div>
|
||
<div class="zp-kpi" hidden><dt>последняя версия Dev</dt><dd data-k="latest-dev">—</dd></div>
|
||
<div class="zp-kpi" hidden><dt>последняя версия Stable</dt><dd data-k="latest-stable">—</dd></div>
|
||
<div class="zp-kpi" hidden><dt data-k="half-label">версия дошла до половины программ</dt><dd data-k="half">—</dd></div>
|
||
<div class="zp-kpi" hidden><dt data-k="queued-label">ждут очереди на скачивание</dt><dd data-k="queued">0</dd></div>
|
||
<div class="zp-kpi" hidden><dt data-k="peak-label">пик за сутки</dt><dd data-k="peak">0</dd></div>
|
||
<div class="zp-kpi" hidden><dt data-k="done-label">программ обновилось за сутки</dt><dd data-k="done">0</dd></div>
|
||
<div class="zp-kpi" hidden><dt>обычно от разрешения до запуска новой версии</dt><dd data-k="took">—</dd></div>
|
||
<div class="zp-kpi" hidden><dt>обновлений не удалось за сутки</dt><dd data-k="failed">0</dd></div>
|
||
</dl>
|
||
<div class="zw-scene" hidden>
|
||
<div class="zw-scene-main">
|
||
<p class="zw-cap">что происходит прямо сейчас · <span data-k="scene-scale">точка — одна программа</span></p>
|
||
<canvas class="zw-scene-cv" role="img" aria-label="Сценка: программы держат соединение с сервером и переспрашивают, нет ли новой версии"></canvas>
|
||
<ul class="zw-keys zw-scene-keys" aria-label="Обозначения">
|
||
<li><i class="zw-k-new"></i>на последней версии</li>
|
||
<li><i class="zw-k-old"></i>на прежней версии</li>
|
||
<li><i class="zw-k-tray"></i>в трее</li>
|
||
<li><i class="zw-k-busy"></i>заняты: игра, проверка сети</li>
|
||
<li><i class="zw-k-ask"></i>вопрос «есть новее?»</li>
|
||
<li><i class="zw-k-grant"></i>разрешение обновиться</li>
|
||
</ul>
|
||
</div>
|
||
<div class="zw-scene-side">
|
||
<dl class="zw-flow">
|
||
<div><dt>вопросов серверу за минуту</dt><dd data-k="rpm">0</dd></div>
|
||
<div><dt>соединений сервер держит открытыми</dt><dd data-k="held">0</dd></div>
|
||
<div hidden><dt>программ заняты и просят не обновлять</dt><dd data-k="busy">0</dd></div>
|
||
</dl>
|
||
<p class="zw-cap">что программа посылает и что слышит в ответ</p>
|
||
<ol class="zw-log" aria-live="off"></ol>
|
||
<p class="zw-scene-note">Сценка идёт по настоящим числам: столько программ, столько вопросов в минуту. Какая именно точка спросила — условность: адресов мы не храним.</p>
|
||
</div>
|
||
</div>
|
||
<div class="zw-stage" hidden>
|
||
<p class="zw-cap">раздача новой версии по ступеням: сначала малой доле программ, дальше — когда они обновились и снова вышли на связь</p>
|
||
<div class="zw-stage-rows"></div>
|
||
</div>
|
||
<div class="zw-wire" hidden>
|
||
<p class="zw-cap">версии на связи</p>
|
||
<div class="zw-bar" role="group" aria-label="Доли версий среди программ на связи"></div>
|
||
<div class="zp-tip" hidden></div>
|
||
<ul class="zw-list"></ul>
|
||
</div>
|
||
<div class="zw-wire zw-act" hidden>
|
||
<p class="zw-cap">чем заняты программы · <span data-k="act-note"></span></p>
|
||
<div class="zw-bar" role="group" aria-label="Чем заняты программы на связи"></div>
|
||
<ul class="zw-list"></ul>
|
||
</div>
|
||
<div class="zw-wire zw-act zw-tail" hidden>
|
||
<p class="zw-cap">кто ещё не на последней версии и почему · <span data-k="tail-note"></span></p>
|
||
<div class="zw-bar" role="group" aria-label="Почему программы на связи ещё не обновились"></div>
|
||
<ul class="zw-list"></ul>
|
||
</div>
|
||
<div class="zw-wire zw-why" hidden>
|
||
<p class="zw-cap">почему обновление не прошло · за сутки</p>
|
||
<div class="zw-why-cols">
|
||
<div class="zw-why-col" data-w="why"><p class="zw-why-head">не поставилось <span>— держит раздачу версии</span></p><ul class="zw-list"></ul></div>
|
||
<div class="zw-why-col" data-w="miss"><p class="zw-why-head">не скачалось <span>— раздачу не держит</span></p><ul class="zw-list"></ul></div>
|
||
</div>
|
||
</div>
|
||
<div class="zw-ctl" hidden>
|
||
<div class="zp-range" role="group" aria-label="Период">
|
||
<button type="button" data-r="24h" aria-pressed="true">сутки</button>
|
||
<button type="button" data-r="7d">неделя</button>
|
||
<button type="button" data-r="30d">месяц</button>
|
||
</div>
|
||
<div class="zp-legend zw-legend" role="group" aria-label="Каналы">
|
||
<button type="button" class="zp-lg" data-c="stable" aria-pressed="true"><i></i>Stable</button>
|
||
<button type="button" class="zp-lg" data-c="dev" aria-pressed="true"><i></i>Dev</button>
|
||
</div>
|
||
</div>
|
||
<div class="zw-day" hidden>
|
||
<p class="zw-cap">программ на связи</p>
|
||
<div class="zw-chart"><svg aria-label="График числа программ на связи" role="img"></svg><div class="zp-tip" hidden></div></div>
|
||
</div>
|
||
<div class="zw-upd" hidden>
|
||
<p class="zw-cap">обновления программ</p>
|
||
<ul class="zw-keys" aria-label="Обозначения">
|
||
<li><i class="zw-k-grant"></i>сервер разрешил обновиться</li>
|
||
<li><i class="zw-k-done"></i>обновились и вышли на связь</li>
|
||
<li><i class="zw-k-fail"></i>обновиться не удалось</li>
|
||
</ul>
|
||
<div class="zw-chart zw-chart-s"><svg aria-label="График обновлений программ" role="img"></svg><div class="zp-tip" hidden></div></div>
|
||
</div>
|
||
<div class="zw-days" hidden>
|
||
<p class="zw-cap">разных пользователей по дням</p>
|
||
<div class="zw-chart zw-chart-s"><svg aria-label="График числа пользователей по дням" role="img"></svg><div class="zp-tip" hidden></div></div>
|
||
<details class="zw-tbl"><summary>показать таблицей</summary><div class="zw-tbl-scroll"><table data-t="days"><thead><tr><th data-s="d">день</th><th data-s="total">всего</th><th data-s="stable">Stable</th><th data-s="dev">Dev</th></tr></thead><tbody></tbody></table></div></details>
|
||
</div>
|
||
<div class="zw-roll" hidden>
|
||
<div class="zw-roll-side">
|
||
<p class="zw-cap">как расходились версии</p>
|
||
<div class="zw-rels" role="group" aria-label="Выпуски"></div>
|
||
</div>
|
||
<div class="zw-roll-main">
|
||
<div class="zw-roll-head">
|
||
<p class="zw-cap zw-roll-cap">доля программ канала на новой версии</p>
|
||
<div class="zp-range zw-zoom" role="group" aria-label="Отрезок времени после выхода">
|
||
<button type="button" data-z="600">10 минут</button>
|
||
<button type="button" data-z="3600">час</button>
|
||
<button type="button" data-z="0">всё время</button>
|
||
</div>
|
||
</div>
|
||
<div class="zw-chart zw-chart-s zw-curve"><svg aria-label="График доли программ на новой версии после выпуска" role="img"></svg><div class="zp-tip" hidden></div></div>
|
||
<p class="zw-facts" hidden></p>
|
||
<div class="zw-took" hidden>
|
||
<p class="zw-cap">сколько занимало обновление: от разрешения сервера до запуска новой версии</p>
|
||
<div class="zw-chart zw-chart-xs"><svg aria-label="График времени обновления" role="img"></svg><div class="zp-tip" hidden></div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<details class="zw-tbl zw-hist" hidden><summary>история выпусков таблицей</summary><div class="zw-tbl-scroll"><table data-t="rolls"><thead><tr><th data-s="version">версия</th><th data-s="released_at">вышла</th><th data-s="half_sec">до половины</th><th data-s="ninety_sec">до 90%</th><th data-s="full_sec">открыта всем</th><th data-s="granted">получили</th><th data-s="confirmed">обновились</th><th data-s="failed">не вышло</th><th data-s="took_median">обычно за</th></tr></thead><tbody></tbody></table></div></details>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ── Адреса ───────────────────────────────────────────── -->
|
||
<!-- Сам виджет — общий модуль /_sites/mirrors-widget.js (его подгружает sites.js), данные —
|
||
/_sites/mirrors.json от zapret-mirror-manager; тот же виджет стоит на главной вики. -->
|
||
<section class="zm-sec" id="zpm-mirrors" aria-labelledby="zpm-mirrors-title">
|
||
<div class="zs">
|
||
<div class="zsec-head">
|
||
<p class="zeb">адреса сайта</p>
|
||
<h2 id="zpm-mirrors-title">Где сайт открывается</h2>
|
||
<p class="zsec-note">git.zapret.moe в России блокируют по имени, поэтому у сайта есть другие адреса — это тот же сервер, вход и настройки на них общие. Каждые 20 минут мы проверяем все адреса из домашних сетей в России, а кнопкой ниже их можно проверить со своего устройства.</p>
|
||
</div>
|
||
<div data-zapret-mirrors data-zapret-mirrors-first="git"></div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ── Арсенал──────────────────────────────────────────── -->
|
||
<section class="za" id="zpm-arsenal" aria-labelledby="zpm-arsenal-title">
|
||
<div class="zs">
|
||
<div class="zsec-head">
|
||
<p class="zeb">арсенал Запрет-тян</p>
|
||
<h2 id="zpm-arsenal-title">Чем мы режем ниточки</h2>
|
||
</div>
|
||
|
||
<div class="za-grid">
|
||
<article class="zc zc-gui">
|
||
<div class="zc-body">
|
||
<p class="zc-tags"><span>windows</span><span>флагман</span></p>
|
||
<h3>Zapret 2 GUI</h3>
|
||
<p>Лаунчер и профили обхода DPI: YouTube, Discord и заблокированные сайты. Поставил, выбрал профиль — работает.</p>
|
||
<div class="zc-links">
|
||
<a class="zb zb-main zb-sm" href="{{AppSubUrl}}/zapretdiscordyoutube/zapretgui/releases">скачать</a>
|
||
<a class="zb zb-sm" href="{{AppSubUrl}}/zapretdiscordyoutube/zapretgui">исходники</a>
|
||
</div>
|
||
</div>
|
||
<a class="zc-win" href="{{AppSubUrl}}/zapretdiscordyoutube/zapretgui" aria-label="Открыть репозиторий Zapret 2 GUI">
|
||
<img src="{{AppSubUrl}}/assets/zapret-moe/shot-gui.webp" width="1200" height="804" alt="Окно Zapret 2 GUI: статус обхода, пресеты и настройки программы" loading="lazy">
|
||
</a>
|
||
</article>
|
||
|
||
<article class="zc zc-art">
|
||
<img class="zc-cover" src="{{AppSubUrl}}/zapretkvn/ZapretKVN-android/media/branch/main/docs/assets/zapret-kvn-android-overview.webp" width="2000" height="850" alt="Обложка Zapret KVN" loading="lazy">
|
||
<div class="zc-body">
|
||
<p class="zc-tags"><span>android</span><span>windows</span></p>
|
||
<h3>Zapret KVN</h3>
|
||
<p>VPN-клиент с выборочной маршрутизацией: сами решаете, какие приложения и сайты идут через туннель.</p>
|
||
<ul class="zc-vers">
|
||
<li><a href="{{AppSubUrl}}/zapretkvn/ZapretKVN-android"><b>android</b>на sing-box-extended, без root</a><a class="zc-dl" href="{{AppSubUrl}}/zapretkvn/ZapretKVN-android/releases" aria-label="Сборки Zapret KVN для Android">↓</a></li>
|
||
<li><a href="{{AppSubUrl}}/zapretkvn/zapret-kvn"><b>windows</b>Xray, sing-box и Zapret вместе</a><a class="zc-dl" href="{{AppSubUrl}}/zapretkvn/zapret-kvn/releases" aria-label="Сборки Zapret KVN для Windows">↓</a></li>
|
||
</ul>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="zc zc-art">
|
||
<img class="zc-cover" src="{{AppSubUrl}}/zastogram/ZaStoGram_desktop/media/branch/dev/docs/assets/zastogram-overview.webp" width="2000" height="850" alt="Обложка ZaStoGram" loading="lazy">
|
||
<div class="zc-body">
|
||
<p class="zc-tags"><span>android</span><span>desktop</span></p>
|
||
<h3>ZaStoGram</h3>
|
||
<p>Форк Telegram для сетей с DPI: MTProxy FakeTLS, WSS-транспорт и защита приватности.</p>
|
||
<ul class="zc-vers">
|
||
<li><a href="{{AppSubUrl}}/zastogram/ZaStoGram"><b>android</b>FakeTLS, WSS, приватность</a><a class="zc-dl" href="{{AppSubUrl}}/zastogram/ZaStoGram/releases" aria-label="Сборки ZaStoGram для Android">↓</a></li>
|
||
<li><a href="{{AppSubUrl}}/zastogram/ZaStoGram_desktop"><b>desktop</b>форк Telegram Desktop</a><a class="zc-dl" href="{{AppSubUrl}}/zastogram/ZaStoGram_desktop/releases" aria-label="Сборки ZaStoGram Desktop">↓</a></li>
|
||
</ul>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="zc zc-art zc-wide">
|
||
<img class="zc-cover" src="{{AppSubUrl}}/zapretdiscordyoutube/magisk-zapret2/media/branch/main/docs/assets/zapret2-control-ui.webp" width="2000" height="850" alt="Обложка Magisk Zapret 2" loading="lazy">
|
||
<div class="zc-body">
|
||
<p class="zc-tags"><span>android</span><span>root</span></p>
|
||
<h3>Magisk Zapret 2</h3>
|
||
<p>Модуль Magisk: zapret2 работает на уровне системы, а панель управления настраивает стратегии прямо с телефона.</p>
|
||
<div class="zc-links">
|
||
<a class="zb zb-main zb-sm" href="{{AppSubUrl}}/zapretdiscordyoutube/magisk-zapret2/releases">скачать</a>
|
||
<a class="zb zb-sm" href="{{AppSubUrl}}/zapretdiscordyoutube/magisk-zapret2">исходники</a>
|
||
</div>
|
||
</div>
|
||
</article>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ── Инвентарь ────────────────────────────────────────── -->
|
||
<section class="zt" aria-labelledby="zpm-tools-title">
|
||
<div class="zs zt-grid">
|
||
<div class="zsec-head zt-head">
|
||
<p class="zeb">по карманам</p>
|
||
<h2 id="zpm-tools-title">Мелкий инвентарь</h2>
|
||
<a class="zmore" href="{{AppSubUrl}}/zapretdiscordyoutube">вся организация →</a>
|
||
</div>
|
||
<ul class="zt-list">
|
||
<li><a href="https://yt.zapret.moe/" target="_blank" rel="noopener noreferrer">
|
||
<svg class="zt-ico zt-yt" viewBox="0 0 40 40" aria-hidden="true"><rect x="5" y="7" width="30" height="20" rx="6"/><path class="zt-fill" d="M17 12v10l8-5z"/><path class="zt-arrow" d="M20 29v6m-4-3 4 4 4-4"/></svg>
|
||
<span class="zt-t"><strong>yt.zapret.moe</strong><span>скачивание видео и аудио по ссылке прямо в браузере</span></span><em>web</em></a></li>
|
||
<li><a href="https://status.zapret.moe/" target="_blank" rel="noopener noreferrer">
|
||
<svg class="zt-ico zt-status" viewBox="0 0 40 40" aria-hidden="true"><path d="M20 5 32 9.5v9.3c0 7.6-5 13.3-12 15.7C13 32.1 8 26.4 8 18.8V9.5z"/><path class="zt-beat" d="M11 20h5l2.5-5 4 10 2.5-5h4"/></svg>
|
||
<span class="zt-t"><strong>status.zapret.moe</strong><span>статус серверов и услуг Zapret VPN в реальном времени</span></span><em>web</em></a></li>
|
||
<li><a href="https://dns.zapret.moe/" target="_blank" rel="noopener noreferrer">
|
||
<svg class="zt-ico zt-dns" viewBox="0 0 40 40" aria-hidden="true"><path d="M20 8 10 20m10-12 9 12-6 12m6-12 6 12"/><path class="zt-resolve" d="M20 8l9 12-6 12"/><circle class="zt-fill" cx="20" cy="8" r="3"/><circle cx="10" cy="20" r="2.5"/><circle cx="29" cy="20" r="2.5"/><circle cx="35" cy="32" r="2.5"/><circle class="zt-fill" cx="23" cy="32" r="2.5"/></svg>
|
||
<span class="zt-t"><strong>dns.zapret.moe</strong><span>свой DNS-сервер, открывает сервисы с гео-ограничением</span></span><em>dns</em></a></li>
|
||
<li><a href="{{AppSubUrl}}/zapretdiscordyoutube/zapret2-youtube-discord">
|
||
<svg class="zt-ico" viewBox="0 0 40 40" aria-hidden="true"><rect x="5" y="9" width="30" height="22" rx="7"/><path class="zt-fill" d="M17 15v10l9-5z"/></svg>
|
||
<span class="zt-t"><strong>Zapret для YouTube и Discord</strong><span>портативный zapret2 с готовыми BAT-профилями</span></span><em>windows</em></a></li>
|
||
<li><a href="{{AppSubUrl}}/zapretdiscordyoutube/roskomfree">
|
||
<svg class="zt-ico zt-onion" viewBox="0 0 40 40" aria-hidden="true"><circle cx="20" cy="22" r="13"/><circle cx="20" cy="22" r="8.5"/><circle class="zt-fill" cx="20" cy="22" r="4"/><path d="M20 9c0-3 2-5 5-5"/></svg>
|
||
<span class="zt-t"><strong>RoskomFree</strong><span>HTTP-прокси на Tor и WebTunnel-мостах</span></span><em>прокси</em></a></li>
|
||
<li><a href="{{AppSubUrl}}/zapretkvn/yourvpndead">
|
||
<svg class="zt-ico zt-eye" viewBox="0 0 40 40" aria-hidden="true"><path d="M4 20s6-10 16-10 16 10 16 10-6 10-16 10S4 20 4 20z"/><circle class="zt-fill zt-pupil" cx="20" cy="20" r="4.5"/></svg>
|
||
<span class="zt-t"><strong>YourVPNDead</strong><span>показывает, как приложения замечают ваш VPN</span></span><em>android</em></a></li>
|
||
<li><a href="{{AppSubUrl}}/zapretdiscordyoutube/youtube_59second">
|
||
<svg class="zt-ico zt-clock" viewBox="0 0 40 40" aria-hidden="true"><circle cx="20" cy="21" r="14"/><path class="zt-hand" d="M20 21V11"/><path d="M16 4h8"/></svg>
|
||
<span class="zt-t"><strong>YouTube 59second</strong><span>возвращает YouTube через альтернативный embed-плеер</span></span><em>userscript</em></a></li>
|
||
<li><a href="https://wiki2.zapret.moe/Zapret/home" target="_blank" rel="noopener noreferrer">
|
||
<svg class="zt-ico zt-book" viewBox="0 0 40 40" aria-hidden="true"><path d="M6 9c5-2 10-2 14 1v22c-4-3-9-3-14-1z"/><path d="M34 9c-5-2-10-2-14 1v22c4-3 9-3 14-1z"/></svg>
|
||
<span class="zt-t"><strong>База знаний</strong><span>статьи об обходе DPI, VPN и приватности</span></span><em>wiki</em></a></li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ── Сборки ───────────────────────────────────────────── -->
|
||
<section class="zr" aria-labelledby="zpm-rel-title">
|
||
<div class="zs">
|
||
<div class="zsec-head">
|
||
<p class="zeb">забрать сборку</p>
|
||
<h2 id="zpm-rel-title">Свежее — в Releases</h2>
|
||
<p class="zsec-note">APK и архивы лежат рядом с исходниками. Не доверяете сборке — соберите сами.</p>
|
||
</div>
|
||
<div class="zr-net" id="zr-net" data-api="{{AppSubUrl}}/api/v1/repos/">
|
||
<p class="zr-leg" aria-hidden="true"><span>что видит цензор</span><span class="zr-leg-gate">ТСПУ</span><span>что доехало до вас</span></p>
|
||
<a class="zrn" href="{{AppSubUrl}}/zapretdiscordyoutube/zapretgui/releases" data-repo="zapretdiscordyoutube/zapretgui" style="--i:1;--t:3.4s;--d:-0.4s">
|
||
<span class="zrn-in" aria-hidden="true"><span class="zrn-fake"><b>sni: vk.com</b><i data-hex>16 03 01 02 00 01 00 01 fc 03</i></span><i class="zrn-pk"></i></span>
|
||
<span class="zrn-ok" aria-hidden="true">pass</span>
|
||
<span class="zrn-line"><strong>Zapret 2 GUI</strong><span class="zrn-ver" data-f="ver"></span></span>
|
||
<span class="zrn-meta"><span class="zrn-os">windows</span><span data-f="age"></span><span data-f="dl"></span></span>
|
||
</a>
|
||
<a class="zrn" href="{{AppSubUrl}}/zapretkvn/ZapretKVN-android/releases" data-repo="zapretkvn/ZapretKVN-android" style="--i:2;--t:2.8s;--d:-1.7s">
|
||
<span class="zrn-in" aria-hidden="true"><span class="zrn-fake"><b>sni: ya.ru</b><i data-hex>03 9a 4f e1 7c 20 b8 55 0d c2</i></span><i class="zrn-pk"></i></span>
|
||
<span class="zrn-ok" aria-hidden="true">pass</span>
|
||
<span class="zrn-line"><strong>Zapret KVN</strong><span class="zrn-ver" data-f="ver"></span></span>
|
||
<span class="zrn-meta"><span class="zrn-os">android</span><span data-f="age"></span><span data-f="dl"></span></span>
|
||
</a>
|
||
<a class="zrn" href="{{AppSubUrl}}/zapretkvn/zapret-kvn/releases" data-repo="zapretkvn/zapret-kvn" style="--i:3;--t:3.9s;--d:-2.9s">
|
||
<span class="zrn-in" aria-hidden="true"><span class="zrn-fake"><b>sni: ok.ru</b><i data-hex>c0 2b c0 2f 00 9e cc a9 13 01</i></span><i class="zrn-pk"></i></span>
|
||
<span class="zrn-ok" aria-hidden="true">pass</span>
|
||
<span class="zrn-line"><strong>Zapret KVN</strong><span class="zrn-ver" data-f="ver"></span></span>
|
||
<span class="zrn-meta"><span class="zrn-os">windows</span><span data-f="age"></span><span data-f="dl"></span></span>
|
||
</a>
|
||
<a class="zrn" href="{{AppSubUrl}}/zastogram/ZaStoGram/releases" data-repo="zastogram/ZaStoGram" style="--i:4;--t:3.0s;--d:-0.9s">
|
||
<span class="zrn-in" aria-hidden="true"><span class="zrn-fake"><b>sni: gosuslugi.ru</b><i data-hex>00 17 ff 01 00 0b 00 02 01 00</i></span><i class="zrn-pk"></i></span>
|
||
<span class="zrn-ok" aria-hidden="true">pass</span>
|
||
<span class="zrn-line"><strong>ZaStoGram</strong><span class="zrn-ver" data-f="ver"></span></span>
|
||
<span class="zrn-meta"><span class="zrn-os">android</span><span data-f="age"></span><span data-f="dl"></span></span>
|
||
</a>
|
||
<a class="zrn" href="{{AppSubUrl}}/zastogram/ZaStoGram_desktop/releases" data-repo="zastogram/ZaStoGram_desktop" style="--i:5;--t:3.6s;--d:-2.2s">
|
||
<span class="zrn-in" aria-hidden="true"><span class="zrn-fake"><b>sni: mail.ru</b><i data-hex>7f 1c 2d 00 33 00 26 00 24 00</i></span><i class="zrn-pk"></i></span>
|
||
<span class="zrn-ok" aria-hidden="true">pass</span>
|
||
<span class="zrn-line"><strong>ZaStoGram</strong><span class="zrn-ver" data-f="ver"></span></span>
|
||
<span class="zrn-meta"><span class="zrn-os">desktop</span><span data-f="age"></span><span data-f="dl"></span></span>
|
||
</a>
|
||
<a class="zrn" href="{{AppSubUrl}}/zapretdiscordyoutube/magisk-zapret2/releases" data-repo="zapretdiscordyoutube/magisk-zapret2" style="--i:6;--t:3.2s;--d:-1.3s">
|
||
<span class="zrn-in" aria-hidden="true"><span class="zrn-fake"><b>sni: rutube.ru</b><i data-hex>1d 00 20 a4 e3 5b 91 6c f0 08</i></span><i class="zrn-pk"></i></span>
|
||
<span class="zrn-ok" aria-hidden="true">pass</span>
|
||
<span class="zrn-line"><strong>Magisk Zapret 2</strong><span class="zrn-ver" data-f="ver"></span></span>
|
||
<span class="zrn-meta"><span class="zrn-os">android · root</span><span data-f="age"></span><span data-f="dl"></span></span>
|
||
</a>
|
||
<span class="zr-gate" aria-hidden="true"></span>
|
||
</div>
|
||
<a class="zfd" href="/fdroid/repo/">
|
||
<span class="zfd-phone" aria-hidden="true">
|
||
<svg viewBox="0 0 96 160">
|
||
<rect class="zfd-body" x="6" y="4" width="84" height="152" rx="16"/>
|
||
<rect class="zfd-screen" x="12" y="16" width="72" height="128" rx="6"/>
|
||
<rect class="zfd-notch" x="38" y="8" width="20" height="4" rx="2"/>
|
||
<g class="zfd-apps"><rect x="20" y="28" width="16" height="16" rx="5"/><rect x="40" y="28" width="16" height="16" rx="5"/><rect x="60" y="28" width="16" height="16" rx="5"/></g>
|
||
<text class="zfd-label" x="48" y="72">обновление</text>
|
||
<rect class="zfd-track" x="20" y="80" width="56" height="6" rx="3"/>
|
||
<rect class="zfd-bar" x="20" y="80" width="56" height="6" rx="3"/>
|
||
<path class="zfd-ok" d="M38 108l7 7 14-15"/>
|
||
<circle class="zfd-pkt" cx="48" cy="-10" r="5"/>
|
||
</svg>
|
||
</span>
|
||
<span class="zfd-copy">
|
||
<span class="zfd-tag">android · обновления сами</span>
|
||
<strong>F-Droid-репозиторий</strong>
|
||
<span>Добавьте его в клиент F-Droid — ZaStoGram, Zapret KVN и Zapret2 Control будут обновляться без вашего участия.</span>
|
||
</span>
|
||
<b class="zfd-go" aria-hidden="true">→</b>
|
||
</a>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ── Доверие ──────────────────────────────────────────── -->
|
||
<section class="zci" aria-labelledby="zpm-ci-title">
|
||
<div class="zs">
|
||
<div class="zsec-head">
|
||
<p class="zeb">без сюрпризов</p>
|
||
<h2 id="zpm-ci-title">Сборке можно доверять</h2>
|
||
<p class="zsec-note">Релизы собирает Forgejo Actions из открытых исходников. Видно, что код не подменён и в архив не подложено лишнего.</p>
|
||
</div>
|
||
<div class="zci-lab" id="zci-lab">
|
||
<div class="zci-run">
|
||
<p class="zci-cmd"><b>$</b>forgejo-runner exec release.yml<small># zapretgui</small></p>
|
||
<ol class="zci-log">
|
||
<li class="ok"><b class="zci-sp"></b><span><strong>checkout</strong><small>git checkout 3f9c2a1</small></span><em data-t="2 с">2 с</em></li>
|
||
<li class="ok"><b class="zci-sp"></b><span><strong>setup</strong><small>python 3.12 · pyinstaller</small></span><em data-t="18 с">18 с</em></li>
|
||
<li class="ok"><b class="zci-sp"></b><span><strong>build</strong><small>pyinstaller Zapret.spec</small></span><em data-t="1 мин 12 с">1 мин 12 с</em></li>
|
||
<li class="ok"><b class="zci-sp"></b><span><strong>sha256</strong><small>sha256sum Zapret.zip</small></span><em data-t="0,4 с">0,4 с</em></li>
|
||
<li class="ok"><b class="zci-sp"></b><span><strong>release</strong><small>загрузка в Releases</small></span><em data-t="3 с">3 с</em></li>
|
||
</ol>
|
||
<div class="zci-hash">
|
||
<p class="zci-cmd"><b>$</b>sha256sum Zapret.zip</p>
|
||
<div class="zci-h zci-h-a"><span>собрали мы · Actions</span><code>9f2c4be17a03d6581c2e7f94b0a6d3e85c1f07a2b94e6d38c05a7f1e2b3c4e41</code></div>
|
||
<div class="zci-h zci-h-b"><span>собрали вы · у себя</span><code>9f2c4be17a03d6581c2e7f94b0a6d3e85c1f07a2b94e6d38c05a7f1e2b3c4e41</code></div>
|
||
<p class="zci-ok">[ ok ] хеши совпадают</p>
|
||
</div>
|
||
</div>
|
||
<div class="zci-points">
|
||
<div><strong>Из этого же кода</strong><p>Сборку запускает Actions прямо из коммита в репозитории — руками в артефакт никто не лезет.</p></div>
|
||
<div><strong>Публичные логи</strong><p>Каждый шаг открыт: окружение, команды и коммит, из которого собран файл.</p></div>
|
||
<div><strong>Воспроизводимо</strong><p>Повторите шаги у себя и сравните контрольные суммы — подложить что-то незаметно не выйдет.</p></div>
|
||
<a class="zb" href="{{AppSubUrl}}/zapretdiscordyoutube/zapretgui/actions">смотреть Actions</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ── Поддержка и участие ──────────────────────────────── -->
|
||
<section class="zj" aria-labelledby="zpm-help-title">
|
||
<div class="zs">
|
||
<div class="zj-pair">
|
||
<div class="zj-help">
|
||
<div class="zj-heart" aria-hidden="true">
|
||
<span class="zj-hearts"><i style="--x:40%;--s:1.03;--d:0.78s;--t:6.7s;--w:20px;--h:350"></i><i style="--x:87%;--s:0.51;--d:5.02s;--t:4.8s;--w:-11px;--h:335"></i><i style="--x:70%;--s:0.99;--d:3.30s;--t:5.2s;--w:-21px;--h:335"></i><i style="--x:29%;--s:1.28;--d:3.14s;--t:6.2s;--w:-32px;--h:335"></i><i style="--x:85%;--s:0.54;--d:4.68s;--t:6.5s;--w:-6px;--h:300"></i><i style="--x:86%;--s:1.15;--d:5.27s;--t:6.1s;--w:14px;--h:300"></i><i style="--x:83%;--s:0.90;--d:5.61s;--t:6.6s;--w:-28px;--h:350"></i><i style="--x:27%;--s:0.95;--d:1.55s;--t:6.0s;--w:40px;--h:320"></i><i style="--x:63%;--s:0.96;--d:2.32s;--t:5.1s;--w:34px;--h:300"></i><i style="--x:84%;--s:0.71;--d:2.02s;--t:6.7s;--w:-37px;--h:320"></i><i style="--x:87%;--s:1.10;--d:0.98s;--t:6.6s;--w:29px;--h:350"></i><i style="--x:37%;--s:1.07;--d:5.93s;--t:4.8s;--w:-25px;--h:350"></i><i style="--x:71%;--s:1.27;--d:5.94s;--t:4.3s;--w:-32px;--h:300"></i><i style="--x:29%;--s:0.52;--d:2.56s;--t:5.2s;--w:-25px;--h:350"></i></span>
|
||
<div class="zh3-glow"></div>
|
||
<div class="zh3-spin"><div class="zh3-beat"><i style="--z:0;--k:0.720"></i><i style="--z:1;--k:0.839"></i><i style="--z:2;--k:0.884"></i><i style="--z:3;--k:0.916"></i><i style="--z:4;--k:0.940"></i><i style="--z:5;--k:0.959"></i><i style="--z:6;--k:0.973"></i><i style="--z:7;--k:0.984"></i><i style="--z:8;--k:0.992"></i><i style="--z:9;--k:0.997"></i><i style="--z:10;--k:1.000"></i><i style="--z:11;--k:1.000"></i><i style="--z:12;--k:0.997"></i><i style="--z:13;--k:0.992"></i><i style="--z:14;--k:0.984"></i><i style="--z:15;--k:0.973"></i><i style="--z:16;--k:0.959"></i><i style="--z:17;--k:0.940"></i><i style="--z:18;--k:0.916"></i><i style="--z:19;--k:0.884"></i><i style="--z:20;--k:0.839"></i><i style="--z:21;--k:0.720"></i><b class="zh3-face"></b></div></div>
|
||
<svg class="zh3-ecg" viewBox="0 0 300 60" preserveAspectRatio="none"><path class="zh3-ecg-base" d="M0 34 H 300"/><path class="zh3-ecg-line" d="M0 34 H 90 L 104 34 L 112 20 L 120 34 L 128 34 L 136 4 L 146 56 L 154 34 L 170 34 L 178 26 L 188 34 H 300"/></svg>
|
||
</div>
|
||
<div class="zj-help-copy">
|
||
<p class="zeb">поддержка</p>
|
||
<h2 id="zpm-help-title">Запрет-тян нужна ваша помощь</h2>
|
||
<p>Донаты и премиум-опции — в боте <b>@zapretvpns_bot</b>. Код остаётся открытым, а сборки — бесплатными для всех.</p>
|
||
<a class="zb zb-main" href="https://t.me/zapretvpns_bot?start=site_donate" target="_blank" rel="noopener noreferrer">поддержать в Telegram</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="zlock" id="zlock" data-bot="https://t.me/zapretvpns_bot?start=site_lock">
|
||
<button class="zlock-hit" type="button" aria-label="Ударить по замку">
|
||
<svg class="zlock-svg" viewBox="0 0 140 170" aria-hidden="true">
|
||
<path class="zl-shackle" d="M38 66 V44 a32 32 0 0 1 64 0 V66"/>
|
||
<g class="zl-half zl-half-l"><path class="zl-body" d="M20 64 H70 V156 H34 a14 14 0 0 1 -14 -14 Z"/></g>
|
||
<g class="zl-half zl-half-r"><path class="zl-body" d="M70 64 H120 V142 a14 14 0 0 1 -14 14 H70 Z"/></g>
|
||
<text class="zl-label" x="70" y="96">РКН</text>
|
||
<path class="zl-key" d="M70 112 v18 M63 117 a7 7 0 1 1 14 0"/>
|
||
<path class="zl-crack" data-at="0.85" d="M60 70 L 52 86 L 58 94 L 49 108"/><path class="zl-crack" data-at="0.7" d="M84 74 L 92 88 L 86 97 L 95 110"/><path class="zl-crack" data-at="0.55" d="M40 96 L 55 102 L 62 118"/><path class="zl-crack" data-at="0.4" d="M100 100 L 84 108 L 80 124"/><path class="zl-crack" data-at="0.25" d="M70 64 L 72 84 L 66 100 L 72 122 L 68 138"/><path class="zl-crack" data-at="0.12" d="M34 120 L 56 126 L 70 124 L 90 132 L 108 124"/>
|
||
</svg>
|
||
<svg class="zlock-open" viewBox="0 0 140 170" aria-hidden="true"><path class="zo-shackle" d="M38 66 V44 a32 32 0 0 1 64 0 V30"/><rect class="zo-body" x="20" y="64" width="100" height="92" rx="14"/><path class="zo-ok" d="M46 110 l16 16 32-34"/></svg>
|
||
<span class="zlock-fx" aria-hidden="true"></span>
|
||
</button>
|
||
<div class="zlock-copy">
|
||
<span class="zg-badge">мини-игра</span>
|
||
<h3 class="zlock-name">Сломайте замок РКН</h3>
|
||
<p class="zlock-t">Жмите на замок. Осталось <b data-l="hp">15</b> ударов.</p>
|
||
<div class="zlock-hp"><i></i></div>
|
||
<div class="zlock-win" hidden>
|
||
<p><b>Замок сломан!</b> Так же мы каждый день ломаем блокировки — на ваши донаты.</p>
|
||
<div class="zlock-btns"><a class="zb zb-main" href="https://t.me/zapretvpns_bot?start=site_lock_btn" target="_blank" rel="noopener noreferrer">поддержать в Telegram</a><button class="zb zlock-again" type="button">следующий замок</button></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="zj-join">
|
||
<h2>Как присоединиться</h2>
|
||
<p class="zj-sub">Три пакета — и соединение установлено.</p>
|
||
<p class="zj-ends" aria-hidden="true"><span>вы</span><span>git.zapret.moe</span></p>
|
||
<ol class="zj-hs">
|
||
<li style="--n:0"><b>SYN</b><i class="zj-wire" aria-hidden="true"></i><strong>Смотрите и качайте</strong><span>Код и релизы открыты, аккаунт не нужен.</span></li>
|
||
<li class="zj-back" style="--n:1"><b>SYN-ACK</b><i class="zj-wire" aria-hidden="true"></i><strong>Регистрируйтесь</strong><span>Логин и пароль — почта не нужна.</span></li>
|
||
<li style="--n:2"><b>ACK</b><i class="zj-wire" aria-hidden="true"></i><strong>Пишите в Issues</strong><span>Ошибки, идеи и вопросы обсуждаются прямо в проектах.</span></li>
|
||
</ol>
|
||
<div class="zj-cta">
|
||
<p><b>ESTABLISHED</b>Мы против монополии GitHub: открытый код нельзя выключить одним решением платформы.</p>
|
||
{{if .IsSigned}}
|
||
<a class="zb zb-main" href="{{AppSubUrl}}/explore/repos">к проектам</a>
|
||
{{else}}
|
||
<a class="zb zb-main" href="{{AppSubUrl}}/user/sign_up">создать аккаунт</a>
|
||
{{end}}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
|
||
<script src="{{AppSubUrl}}/assets/zapret-moe/home.js?v=@ASSETS_VER@" defer></script>
|
||
<script src="{{AppSubUrl}}/assets/zapret-moe/intro.js?v=@ASSETS_VER@" defer></script>
|
||
<script src="{{AppSubUrl}}/assets/zapret-moe/rig.js?v=@ASSETS_VER@" defer></script>
|
||
{{template "base/footer" .}}
|