This commit is contained in:
MAXIMILI 2024-11-06 04:06:52 +00:00 committed by GitHub
commit 8eb08a99e5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 269 additions and 186 deletions

250
docs/quick_start.md Normal file
View File

@ -0,0 +1,250 @@
> [!CAUTION]
> Не пишите в issue вопросы типа "как скопировать файл", "как скачать", "как
> запустить", ... То есть все , что касается базовых навыков обращения с ОС
> linux. Эти вопросы будут закрывать сразу. Если у вас подобные вопросы
> возникают, рекомендую не использовать данный софт или искать помощь где-то в
> другом месте. То же самое могу сказать тем, кто хочет нажать 1 кнопку, чтобы
> все заработало, и совсем не хочет читать и изучать. Увы, такое не подвезли и
> не подвезут. Ищите другие более простые методы обхода. Этот метод **не для
> рядового пользователя**.
## Вступление
Специально для тех, кто хочет побыстрее начать, но не хочет слишком углубляться
в простыню [readme.md](readme.md).
Обход DPI является хакерской методикой. Под этим словом понимается метод,
которому сопротивляется окружающая среда, которому автоматически не
гарантирована работоспособность в любых условиях и на любых ресурсах, требуется
настройка под специфические условия у вашего провайдера. Условия могут меняться
со временем, и методика может начинать или переставать работать, может
потребоваться повторный анализ ситуации. Могут обнаруживаться отдельные
ресурсы, которые заблокированы иначе, и которые не работают или перестали
работать. Могут и сломаться отдельные не заблокированные ресурсы. Поэтому очень
желательно иметь знания в области сетей, чтобы иметь возможность
проанализировать техническую ситуацию. Не будет лишним иметь обходные каналы
проксирования трафика на случай, если обход DPI не помогает.
Будем считать, что у вас есть система на базе традиционного **linux** или
**openwrt**. Если у вас традиционный linux - задача обойти блокировки только на
этой системе, если openwrt - обойти блокировки для подключенных устройств. Это
наиболее распространенный случай.
## Настройка
1. Чтобы процедура установки сработала в штатном режиме на openwrt, нужно
рассчитывать на свободное место около 1-2 Mb для установки самого zapret и
необходимых дополнительных пакетов. Если места мало и нет возможности его
увеличить за счет `extroot`, возможно придется отказаться от варианта
простой установки и прикручивать в ручном режиме без имеющихся скриптов
запуска. Можно использовать
[облегченный `tpws` вариант](../init.d/openwrt-minimal), либо попробовать
засунуть требуемые zapret дополнительные пакеты в сжатый образ `squashfs` с
помощью `image builder` и перешить этим вариантом роутер.
2. Скачайте zip архив проекта с github в `/tmp`, распакуйте его там, либо
клонируйте проект через:
```sh
$ git clone --depth 1 https://github.com/bol-van/zapret
```
3. Убедитесь, что у вас отключены все средства обхода блокировок, в том числе и
сам zapret. Гарантированно уберет zapret скрипт `uninstall_easy.sh`.
4. Если вы работаете в виртуальной машине, необходимо использовать соединение с
сетью в режиме bridge. NAT **не** подходит.
5. Выполните однократные действия по установке требуемых пакетов в ОС и
настройке исполняемых файлов правильной архитектуры:
```sh
$ install_bin.sh
$ install_prereq.sh
```
> Вас могут спросить о типе фаервола (iptables/nftables) и использовании
> ipv6. Это нужно для установки правильных пакетов в ОС, чтобы не
> устанавливать лишнее.
6. Запустите `blockcheck.sh`. Скрипт вначале проверяет DNS. Если выводятся
сообщения о подмене адресов, то нужно будет решить проблему с DNS.
`blockcheck.sh` перейдет в этом случае на DoH и будет пытаться получить и
использовать реальные IP адреса. Но если вы не настроите решение этой
проблемы, обход будет работать только для тех программ или ОС, которые сами
реализуют механизмы SecureDNS. Для других программ обход работать не будет.
Решение проблемы DNS выходит за рамки проекта. Обычно она решается либо
заменой DNS серверов от провайдера на публичные (`1.1.1.1`, `8.8.8.8`), либо
в случае перехвата провайдером обращений к сторонним серверам - через
специальные средства шифрования DNS запросов, такие как `dnscrypt`, `DoT`,
`DoH`.
Еще один эффективный вариант - использовать ресолвер от yandex
(`77.88.8.88`) на нестандартном порту `1253`. Многие провайдеры не
анализируют обращения к DNS на нестандартных портах.
Проверить работает ли этот вариант можно так:
```sh
$ dig -p 53 @77.88.8.88 rutracker.org dig -p 1253 @77.88.8.88 rutracker.org
```
Если DNS действительно подменяется, и ответ на эти 2 команды разный, значит
метод вероятно работает.
В openwrt DNS на нестандартном порту можно прописать в `/etc/config/dhcp`
таким способом :
```
config dnsmasq
<...>
list server '77.88.8.88#1253'
```
Если настройки IP и DNS получаются автоматически от провайдера, в
`/etc/config/network` найдите секцию интерфейса `wan` и сделайте так:
```
config interface 'wan'
<...>
option peerdns '0'
```
```sh
$ /etc/init.d/network restart
$ /etc/init.d/dnsmasq restart
```
Если это не подходит, можно перенаправлять обращения на UDP и TCP порты `53`
вашего DNS сервера на `77.88.8.88:1253` средствами `iptables`/`nftables`. В
`/etc/resolv.conf` нельзя прописать DNS на нестандартном порту.
7. `blockcheck.sh` позволяет выявить рабочую стратегию обхода блокировок По
результатам скрипта нужно понять какой вариант будете использовать : `nfqws`
или `tpws` И запомнить найденные стратегии.
Следует понимать, что скрипт проверяет доступность только конкретного
домена, который вы вводите в начале. Вероятно, все остальные домены
блокированы подобным образом, **но не факт**. В большинстве случаев можно
объединить несколько стратегий в одну универсальную, и это крайне
желательно. Необходимо понимать как работают стратегии. zapret не может
пробить блокировку по IP адресу. Для проверки нескольких доменов вводите их
через пробел.
Сейчас блокираторы ставят на магистральных каналах. В сложных случаях у вас
может быть несколько маршрутов с различной длиной по ХОПам, с DPI на разных
хопах. Приходится преодолевать целый зоопарк DPI, которые еще и включаются в
работу хаотичным образом или образом, зависящим от направления (IP сервера).
скрипт не всегда может выдать вам в итогах оптимальную стратегию, которую
надо просто переписать в настройки. В некоторых случаях надо реально думать
что происходит, анализируя результат на разных стратегиях. Если вы
применяете большой **TTL**, чтобы достать до магистрала, то не лишним будет
добавить дополнительный ограничитель `--dpi-desync-fooling`, чтобы не
сломать сайты на более коротких дистанциях. `md5sig` наиболее совместим, но
работает **только** на linux серверах. `badseq` может работать только на
**https** и не работать на **http**. Чтобы выяснить какие дополнительные
ограничители работают, смотрите результат теста аналогичных стратегий без
**TTL** с каждым из этих ограничителей.
При использовании `autottl` следует протестировать как можно больше разных
доменов. Эта техника может на одних провайдерах работать стабильно, на
других потребуется выяснить при каких параметрах она стабильна, на третьих
полный хаос, и проще отказаться.
Далее, имея понимание что работает на **http**, **https**, **quic**, нужно
сконструировать параметры запуска `tpws` и/или `nfqws` с использованием
мультистратегии. Как работают мультистратегии описано в readme.txt.
Если кратко, то обычно параметры конструируются так:
```sh
"--filter-udp=443 'параметры для quic' <HOSTLIST_NOAUTO> --new
--filter-tcp=80,443 'обьединенные параметры для http и https' <HOSTLIST>"
```
Или так:
```sh
"--filter-udp=443 'параметры для quic' <HOSTLIST_NOAUTO> --new
--filter-tcp=80 'параметры для http' <HOSTLIST> --new
--filter-tcp=443 'параметры для https' <HOSTLIST>"
```
`<HOSTLIST>` и `<HOSTLIST_NOAUTO>` так и пишутся. Их не надо на что-то
заменять. Это сделают скрипты запуска, если вы выбрали режим фильтрации по
хостлистам, и уберут в противном случае. Если для какого-то протокола надо
дурить все без стандартного хостлиста - просто уберите оттуда `<HOSTLIST>` и
`<HOSTLIST_NOAUTO>`. Можно писать свои параметры `--hostlist` и
`--hostlist-exclude` для дополнительных хостлистов или в профилях
специализаций под конкретный ресурс. В последнем случае стандартный хостлист
там не нужен. Следует избегать указания собственных параметров `--hostlist`
на листы из директории ipset. Эта логика включена в `<HOSTLIST>` и
`<HOSTLIST_NOAUTO>`. Отличие `<HOSTLIST_NOAUTO>` в том, что стандартный
автолист по этому профилю используется как обычный, то есть без
автоматического добавления доменов. Однако, добавления в других профилях
автоматически отражаются во всех остальных.
Если стратегии отличаются по версии ip протокола, и вы не можете их
обьединить, фильтр пишется так:
```sh
"--filter-l3=ipv4 --filter-udp=443 lпараметры для quic ipv4' <HOSTLIST_NOAUTO> --new
--filter-l3=ipv4 --filter-tcp=80 'параметры для http ipv4' <HOSTLIST> --new
--filter-l3=ipv4 --filter-tcp=443 'параметры для https ipv4' <HOSTLIST> --new
--filter-l3=ipv6 --filter-udp=443 "параметры для quic ipv6" <HOSTLIST_NOAUTO> --new
--filter-l3=ipv6 --filter-tcp=80 'параметры для http ipv6' <HOSTLIST> --new
--filter-l3=ipv6 --filter-tcp=443 'параметры для https ipv6' <HOSTLIST>"
```
Но здесь совсем "копи-пастный" вариант. Чем больше вы объедините стратегий и
сократите их общее количество, тем будет лучше.
Если вам не нужно дурение отдельных протоколов, лучше всего будет их убрать
из системы перехвата трафика через параметры `TPWS_PORTS`,
`NFQWS_PORTS_TCP`, `NFQWS_PORTS_UDP` и убрать соответствующие им профили
мультистратегии.
| Протокол | Порт | Примечание |
|---|---|---|
| `tcp` | `80` | `http` соединение |
| `tcp` | `443` | `https` соединение |
| `udp` | `443` | `quic` соединение |
Если используются методы нулевой фазы десинхронизации (`--mss`, `--wssize`,
`--dpi-desync=syndata`) и режим фильтрации `hostlist`, то все параметры,
относящиеся к этим методам, следует помещать в отдельные профили
мульистратегии, которые получат управление до определения имени хоста.
Необходимо понимать алгоритм работы мультистратегий. Самым надежным
вариантом будет дублирование этих параметров на 2 профиля. Какой-нибудь
сработает в зависимости от параметра `MODE_FILTER`.
```sh
"--filter-tcp=80 'параметры для http' <HOSTLIST> --new
--filter-tcp=443 'параметры для https' --wssize 1:6 <HOSTLIST> --new
--filter-tcp=443 --wssize 1:6"
```
В этом примере `wssize` будет применяться всегда к порту **tcp** `443` вне
зависимости от параметра `MODE_FILTER`. Хостлист будет игнорироваться, если
таковой имеется. К **http** применять **wssize** вредно и бессмысленно.
Никто не мешает использовать `tpws` для **http**, `nfqws` для **https**,
либо комбинировать действие `nfqws` и `tpws` для одного протокола. В текущем
варианте скриптов запуска это делается максимально гибко и независимо друг
от друга.
8. Запустите скрипт облегченной установки - `install_easy.sh` Выберите `nfqws`
и/или `tpws`, затем согласитесь на редактирование параметров. Откроется
редактор, куда впишите созданную на предыдущем этапе стратегию.
9. На все остальные вопросы `install_easy.sh` отвечайте согласно выводимой
аннотации.
## Итог
Это минимальная инструкция, чтобы быстро сориентироваться с чего начать.
Однако, это не гарантированное решение и в некоторых случаях вы не обойдетесь
без знаний и основного "талмуда". Подробности и полное техническое описание
расписаны в [README](readme.md).
Если ломаются отдельные **не заблокированные** ресурсы, следует вносить их в
исключения, либо пользоваться ограничивающим `ipset` или хост листом. Лучше
подбирать такие стратегии, которые вызывают минимальные поломки. Есть стратегии
довольно безобидные, а есть сильно ломающие, которые подходят только для
точечного пробития отдельных ресурсов, когда ничего лучше нет. Хорошая
стратегия может большие проблемы из-за плохо подобранных ограничителей для
фейков (**ttl**, **fooling**).

View File

@ -1,179 +0,0 @@
Специально для тех, кто хочет побыстрее начать, но не хочет слишком углубляться в простыню readme.txt.
Предупреждение : не пишите в issue вопросы типа "как скопировать файл", "как скачать", "как запустить", ...
То есть все , что касается базовых навыков обращения с ОС linux. Эти вопросы буду закрывать сразу.
Если у вас подобные вопросы возникают, рекомендую не использовать данный софт или искать помощь где-то в другом месте.
То же самое могу сказать тем, кто хочет нажать 1 кнопку, чтобы все заработало, и совсем не хочет читать и изучать.
Увы, такое не подвезли и не подвезут. Ищите другие более простые методы обхода. Этот метод не для рядового пользователя.
Обход DPI является хакерской методикой. Под этим словом понимается метод, которому сопротивляется окружающая среда,
которому автоматически не гарантирована работоспособность в любых условиях и на любых ресурсах,
требуется настройка под специфические условия у вашего провайдера. Условия могут меняться со временем,
и методика может начинать или переставать работать, может потребоваться повторный анализ ситуации.
Могут обнаруживаться отдельные ресурсы, которые заблокированы иначе, и которые не работают или перестали работать.
Могут и сломаться отдельные незаблокированные ресурсы.
Поэтому очень желательно иметь знания в области сетей, чтобы иметь возможность проанализировать техническую ситуацию.
Не будет лишним иметь обходные каналы проксирования трафика на случай, если обход DPI не помогает.
Будем считать, что у вас есть система на базе традиционного linux или openwrt.
Если у вас традиционный linux - задача обойти блокировки только на этой системе, если openwrt - обойти блокировки
для подключенных устройств. Это наиболее распространенный случай.
1) Чтобы процедура установки сработала в штатном режиме на openwrt, нужно раcсчитывать на свободное место около 1-2 Mb
для установки самого zapret и необходимых дополнительных пакетов.
Если места мало и нет возможности его увеличить за счет extroot, возможно придется отказаться от варианта
простой установки и прикручивать в ручном режиме без имеющихся скриптов запуска.
Можно использовать облегченный tpws вариант из init.d/openwrt-minimal, либо попробовать засунуть требуемые zapret
дополнительные пакеты в сжатый образ squashfs с помощью image builder и перешить этим вариантом роутер.
2) Скачайте zip архив проекта с github в /tmp, распакуйте его там,
либо клонируйте проект через : git clone --depth 1 https://github.com/bol-van/zapret
3) Убедитесь, что у вас отключены все средства обхода блокировок, в том числе и сам zapret.
Гарантированно уберет zapret скрипт uninstall_easy.sh.
4) Если вы работаете в виртуальной машине, необходимо использовать соединение с сетью в режиме bridge. nat не подходит
5) Выполните однократные действия по установке требуемых пакетов в ОС и настройке бинариков правильной архитектуры
install_bin.sh
install_prereq.sh
Вас могут спросить о типе фаервола (iptables/nftables) и использовании ipv6. Это нужно для установки
правильных пакетов в ОС, чтобы не устанавливать лишнее.
6) Запустите blockcheck.sh. blockcheck.sh в начале проверяет DNS.
Если выводятся сообщения о подмене адресов, то нужно будет решить проблему с DNS.
blockcheck перейдет в этом случае на DoH и будет пытаться получить и использовать реальные IP адреса.
Но если вы не настроите решение этой проблемы, обход будет работать только для тех программ
или ОС, которые сами реализуют механизмы SecureDNS. Для других программ обход работать не будет.
Решение проблемы DNS выходит за рамки проекта. Обычно она решается либо заменой DNS серверов
от провайдера на публичные (1.1.1.1, 8.8.8.8), либо в случае перехвата провайдером обращений
к сторонним серверам - через специальные средства шифрования DNS запросов, такие как dnscrypt, DoT, DoH.
Еще один эффективный вариант - использовать ресолвер от yandex 77.88.8.88 на нестандартном порту 1253.
Многие провайдеры не анализируют обращения к DNS на нестандартных портах.
Проверить работает ли этот вариант можно так :
dig -p 53 @77.88.8.88 rutracker.org
dig -p 1253 @77.88.8.88 rutracker.org
Если DNS действительно подменяется, и ответ на эти 2 команды разный, значит метод вероятно работает.
В openwrt DNS на нестандартном порту можно прописать в /etc/config/dhcp таким способом :
config dnsmasq
.............
list server '77.88.8.88#1253'
Если настройки IP и DNS получаются автоматически от провайдера, в /etc/config/network
найдите секцию интерфейса 'wan' и сделайте так :
config interface 'wan'
.............
option peerdns '0'
/etc/init.d/network restart
/etc/init.d/dnsmasq restart
Если это не подходит, можно перенаправлять обращения на udp и tcp порты 53 вашего DNS сервера на 77.88.8.88:1253 средствами
iptables/nftables. В /etc/resolv.conf нельзя прописать DNS на нестандартном порту.
7) blockcheck позволяет выявить рабочую стратегию обхода блокировок
По результатам blockcheck нужно понять какой вариант будете использовать : nfqws или tpws
И запомнить найденные стратегии.
Следует понимать, что blockcheck проверяет доступность только конкретного домена, который вы вводите в начале.
Вероятно, все остальные домены блокированы подобным образом, но не факт.
В большинстве случаев можно обьединить несколько стратегий в одну универсальную, и это крайне желательно.
Необходимо понимать как работают стратегии.
zapret не может пробить блокировку по IP адресу. Для проверки нескольких доменов вводите их через пробел.
Сейчас блокираторы ставят на магистральных каналах. В сложных случаях у вас может быть несколько маршрутов
с различной длиной по ХОПам, с DPI на разных хопах. Приходится преодолевать целый зоопарк DPI,
которые еще и включаются в работу хаотичным образом или образом, зависящим от направления (IP сервера).
blockcheck не всегда может выдать вам в итогах оптимальную стратегию, которую надо просто переписать в настройки.
В некоторых случаях надо реально думать что происходит, анализируя результат на разных стратегиях.
Если вы применяете большой TTL, чтобы достать до магистрала, то не лишним будет добавить дополнительный ограничитель
--dpi-desync-fooling, чтобы не сломать сайты на более коротких дистанциях.
md5sig наиболее совместим, но работает только на linux серверах.
badseq может работать только на https и не работать на http.
Чтобы выяснить какие дополнительные ограничители работают, смотрите результат теста аналогичных стратегий без TTL
с каждым из этих ограничителей.
При использовании autottl следует протестировать как можно больше разных доменов. Эта техника
может на одних провайдерах работать стабильно, на других потребуется выяснить при каких параметрах
она стабильна, на третьих полный хаос, и проще отказаться.
Далее, имея понимание что работает на http, https, quic, нужно сконструировать параметры запуска tpws и/или nfqws
с использованием мультистратегии. Как работают мультистратегии описано в readme.txt.
Если кратко, то обычно параметры конструируются так :
"--filter-udp=443 'параметры для quic' <HOSTLIST_NOAUTO> --new
--filter-tcp=80,443 'обьединенные параметры для http и https' <HOSTLIST>"
Или так :
"--filter-udp=443 "параметры для quic" <HOSTLIST_NOAUTO> --new
--filter-tcp=80 'параметры для http' <HOSTLIST> --new
--filter-tcp=443 'параметры для https' <HOSTLIST>"
"<HOSTLIST>" и "<HOSTLIST_NOAUTO>" так и пишутся. Их не надо на что-то заменять. Это сделают скрипты запуска,
если вы выбрали режим фильтрации по хостлистам, и уберут в противном случае.
Если для какого-то протокола надо дурить все без стандартного хостлиста - просто уберите оттуда "<HOSTLIST>"
и "<HOSTLIST_NOAUTO>".
Можно писать свои параметры --hostlist и --hostlist-exclude для дополнительных хостлистов
или в профилях специализаций под конкретный ресурс. В последнем случае стандартный хостлист там не нужен.
Следует избегать указания собственных параметров --hostlist на листы из директории ipset.
Эта логика включена в "<HOSTLIST>" и "<HOSTLIST_NOAUTO>".
Отличие "<HOSTLIST_NOAUTO>" в том, что стандартный автолист по этому профилю используется как обычный,
то есть без автоматического добавления доменов. Однако, добавления в других профилях автоматически
отражаются во всех остальных.
Если стратегии отличаются по версии ip протокола, и вы не можете их обьединить, фильтр пишется так :
"--filter-l3=ipv4 --filter-udp=443 "параметры для quic ipv4" <HOSTLIST_NOAUTO> --new
--filter-l3=ipv4 --filter-tcp=80 'параметры для http ipv4' <HOSTLIST> --new
--filter-l3=ipv4 --filter-tcp=443 'параметры для https ipv4' <HOSTLIST> --new
--filter-l3=ipv6 --filter-udp=443 "параметры для quic ipv6" <HOSTLIST_NOAUTO> --new
--filter-l3=ipv6 --filter-tcp=80 'параметры для http ipv6' <HOSTLIST> --new
--filter-l3=ipv6 --filter-tcp=443 'параметры для https ipv6' <HOSTLIST>"
Но здесь совсем "копи-пастный" вариант.
Чем больше вы обьедините стратегий и сократите их общее количество, тем будет лучше.
Если вам не нужно дурение отдельных протоколов, лучше всего будет их убрать из системы перехвата трафика через
параметры TPWS_PORTS, NFQWS_PORTS_TCP, NFQWS_PORTS_UDP и убрать соответствующие им профили мультистратегии.
tcp 80 - http, tcp 443 - https, udp 443 - quic.
Если используются методы нулевой фазы десинхронизации (--mss, --wssize, --dpi-desync=syndata) и режим фильтрации hostlist,
то все параметры, относящиеся к этим методам, следует помещать в отдельные профили мульистратегии, которые получат
управление до определения имени хоста. Необходимо понимать алгоритм работы мультистратегий.
Самым надежным вариантом будет дублирование этих параметров на 2 профиля. Какой-нибудь сработает в зависимости
от параметра MODE_FILTER.
"--filter-tcp=80 'параметры для http' <HOSTLIST> --new
--filter-tcp=443 'параметры для https' --wssize 1:6 <HOSTLIST> --new
--filter-tcp=443 --wssize 1:6"
В этом примере wssize будет применяться всегда к порту tcp 443 вне зависимости от параметра MODE_FILTER.
Хостлист будет игнорироваться, если таковой имеется. К http применять wssize вредно и бессмысленно.
Никто не мешает использовать tpws для http, nfqws для https, либо комбинировать действие nfqws и tpws для одного протокола.
В текущем варианте скриптов запуска это делается максимально гибко и независимо друг от друга.
8) Запустите install_easy.sh.
Выберите nfqws и/или tpws, затем согласитесь на редактирование параметров.
Откроется редактор, куда впишите созданную на предыдущем этапе стратегию.
9) На все остальные вопросы install_easy.sh отвечайте согласно выводимой аннонтации.
10) Если ломаются отдельные незаблокированные ресурсы, следует вносить их в исключения, либо пользоваться ограничивающим
ipset или хост листом. Читайте основной талмуд readme.txt ради подробностей.
Но еще лучше будет подбирать такие стратегии, которые ломают минимум.
Есть стратегии довольно безобидные, а есть сильно ломающие, которые подходят только для точечного пробития отдельных ресурсов,
когда ничего лучше нет. Хорошая стратегия может сильно ломать из-за плохо подобранных ограничителей для фейков - ttl, fooling.
Это минимальная инструкция, чтобы соориентироваться с чего начать. Однако, это - не панацея.
В некоторых случаях вы не обойдетесь без знаний и основного "талмуда".
Подробности и полное техническое описание расписаны в readme.txt

View File

@ -1351,6 +1351,12 @@ If this is the case then run another script in background and add some delay the
Are welcome here : Are welcome here :
<img src=https://cdn-icons-png.flaticon.com/16/14446/14446252.png alt="USDT" style="vertical-align: middle;"/> USDT 0x3d52Ce15B7Be734c53fc9526ECbAB8267b63d66E <img src=https://cdn-icons-png.flaticon.com/16/14446/14446252.png alt="USDT" style="vertical-align: middle;"/> USDT
```
0x3d52Ce15B7Be734c53fc9526ECbAB8267b63d66E
```
<img src=https://cdn-icons-png.flaticon.com/16/5968/5968260.png alt="USDT" style="vertical-align: middle;"/> BTC bc1qhqew3mrvp47uk2vevt5sctp7p2x9m7m5kkchve <img src=https://cdn-icons-png.flaticon.com/16/5968/5968260.png alt="USDT" style="vertical-align: middle;"/> BTC
```
bc1qhqew3mrvp47uk2vevt5sctp7p2x9m7m5kkchve
```

View File

@ -64,9 +64,8 @@ VPN.
## Быстрый старт ## Быстрый старт
> *Linux/openwrt:* [docs/quick_start.txt](./quick_start.txt) - Linux/openWrt: [Документация](./quick_start.md)
> - Windows: [Документация](./quick_start_windows.md)
>*Windows:* [docs/quick_start_windows.md](./quick_start_windows.md)
## Как это работает ## Как это работает
@ -2172,5 +2171,12 @@ VPS можно прибрести в множестве мест. Существ
[Реквизиты](https://github.com/bol-van/zapret/issues/590): [Реквизиты](https://github.com/bol-van/zapret/issues/590):
<img src=https://cdn-icons-png.flaticon.com/16/14446/14446252.png alt="USDT" style="vertical-align: middle;"/> USDT 0x3d52Ce15B7Be734c53fc9526ECbAB8267b63d66E <img src=https://cdn-icons-png.flaticon.com/16/14446/14446252.png alt="USDT" style="vertical-align: middle;"/> USDT
<img src=https://cdn-icons-png.flaticon.com/16/5968/5968260.png alt="USDT" style="vertical-align: middle;"/> BTC bc1qhqew3mrvp47uk2vevt5sctp7p2x9m7m5kkchve ```
0x3d52Ce15B7Be734c53fc9526ECbAB8267b63d66E
```
<img src=https://cdn-icons-png.flaticon.com/16/5968/5968260.png alt="USDT" style="vertical-align: middle;"/> BTC
```
bc1qhqew3mrvp47uk2vevt5sctp7p2x9m7m5kkchve
```