mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-26 12:10:53 +03:00
Compare commits
5 Commits
8eb08a99e5
...
84e49f2b8b
Author | SHA1 | Date | |
---|---|---|---|
|
84e49f2b8b | ||
|
7ee5306d06 | ||
|
db0caf7d58 | ||
|
34c6c5e9ba | ||
|
868d115c5d |
@ -682,6 +682,20 @@ check_prerequisites_linux()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
removable_pkgs_openwrt()
|
||||||
|
{
|
||||||
|
PKGS="iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptables-mod-ipopt iptables-mod-conntrack-extra ip6tables-mod-nat ip6tables-extra kmod-nft-queue gzip coreutils-sort coreutils-sleep curl"
|
||||||
|
}
|
||||||
|
|
||||||
|
remove_extra_pkgs_openwrt()
|
||||||
|
{
|
||||||
|
local PKGS
|
||||||
|
echo \* remove dependencies
|
||||||
|
removable_pkgs_openwrt
|
||||||
|
echo these packages may have been installed by install_easy.sh : $PKGS
|
||||||
|
ask_yes_no N "do you want to remove them" && opkg remove --autoremove $PKGS
|
||||||
|
}
|
||||||
|
|
||||||
check_prerequisites_openwrt()
|
check_prerequisites_openwrt()
|
||||||
{
|
{
|
||||||
echo \* checking prerequisites
|
echo \* checking prerequisites
|
||||||
|
@ -359,3 +359,7 @@ blockcheck: do not require root if SKIP_PKTWS=1
|
|||||||
v68:
|
v68:
|
||||||
|
|
||||||
readme.md : move russian version to markdown
|
readme.md : move russian version to markdown
|
||||||
|
nfqws,tpws: use alternate $ sign for $<config_file>
|
||||||
|
repo: binaries removed from repo. git actions binaries build in releases.
|
||||||
|
uninstall_easy.sh: offer to remove dependencies in openwrt
|
||||||
|
install_easy.sh: allow to download lists in autohostlist filter mode
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
> [!CAUTION]
|
# Быстрая настройка Linux/OpenWrt
|
||||||
|
|
||||||
|
> [!CAUTION]
|
||||||
> Не пишите в issue вопросы типа "как скопировать файл", "как скачать", "как
|
> Не пишите в issue вопросы типа "как скопировать файл", "как скачать", "как
|
||||||
> запустить", ... То есть все , что касается базовых навыков обращения с ОС
|
> запустить", ... То есть все , что касается базовых навыков обращения с ОС
|
||||||
> linux. Эти вопросы будут закрывать сразу. Если у вас подобные вопросы
|
> linux. Эти вопросы будут закрывать сразу. Если у вас подобные вопросы
|
||||||
@ -30,30 +32,31 @@
|
|||||||
этой системе, если openwrt - обойти блокировки для подключенных устройств. Это
|
этой системе, если openwrt - обойти блокировки для подключенных устройств. Это
|
||||||
наиболее распространенный случай.
|
наиболее распространенный случай.
|
||||||
|
|
||||||
## Настройка
|
|
||||||
1. Чтобы процедура установки сработала в штатном режиме на openwrt, нужно
|
|
||||||
рассчитывать на свободное место около 1-2 Mb для установки самого zapret и
|
|
||||||
необходимых дополнительных пакетов. Если места мало и нет возможности его
|
|
||||||
увеличить за счет `extroot`, возможно придется отказаться от варианта
|
|
||||||
простой установки и прикручивать в ручном режиме без имеющихся скриптов
|
|
||||||
запуска. Можно использовать
|
|
||||||
[облегченный `tpws` вариант](../init.d/openwrt-minimal), либо попробовать
|
|
||||||
засунуть требуемые zapret дополнительные пакеты в сжатый образ `squashfs` с
|
|
||||||
помощью `image builder` и перешить этим вариантом роутер.
|
|
||||||
|
|
||||||
2. Скачайте zip архив проекта с github в `/tmp`, распакуйте его там, либо
|
## Настройка
|
||||||
|
> [!TIP]
|
||||||
|
> Чтобы процедура установки сработала в штатном режиме на openwrt, нужно
|
||||||
|
> рассчитывать на свободное место около 1-2 Mb для установки самого zapret и
|
||||||
|
> необходимых дополнительных пакетов. Если места мало и нет возможности его
|
||||||
|
> увеличить за счет `extroot`, возможно придется отказаться от варианта простой
|
||||||
|
> установки и прикручивать в ручном режиме без имеющихся скриптов запуска.
|
||||||
|
> Можно использовать [облегченный `tpws` вариант](../init.d/openwrt-minimal),
|
||||||
|
> либо попробовать засунуть требуемые zapret дополнительные пакеты в сжатый
|
||||||
|
> образ `squashfs` с помощью `image builder` и перешить этим вариантом роутер.
|
||||||
|
|
||||||
|
1. Скачайте zip архив проекта с github в `/tmp`, распакуйте его там, либо
|
||||||
клонируйте проект через:
|
клонируйте проект через:
|
||||||
```sh
|
```sh
|
||||||
$ git clone --depth 1 https://github.com/bol-van/zapret
|
$ git clone --depth 1 https://github.com/bol-van/zapret
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Убедитесь, что у вас отключены все средства обхода блокировок, в том числе и
|
2. Убедитесь, что у вас отключены все средства обхода блокировок, в том числе и
|
||||||
сам zapret. Гарантированно уберет zapret скрипт `uninstall_easy.sh`.
|
сам zapret. Гарантированно уберет zapret скрипт `uninstall_easy.sh`.
|
||||||
|
|
||||||
4. Если вы работаете в виртуальной машине, необходимо использовать соединение с
|
3. Если вы работаете в виртуальной машине, необходимо использовать соединение с
|
||||||
сетью в режиме bridge. NAT **не** подходит.
|
сетью в режиме bridge. NAT **не** подходит.
|
||||||
|
|
||||||
5. Выполните однократные действия по установке требуемых пакетов в ОС и
|
4. Выполните однократные действия по установке требуемых пакетов в ОС и
|
||||||
настройке исполняемых файлов правильной архитектуры:
|
настройке исполняемых файлов правильной архитектуры:
|
||||||
```sh
|
```sh
|
||||||
$ install_bin.sh
|
$ install_bin.sh
|
||||||
@ -64,7 +67,7 @@
|
|||||||
> ipv6. Это нужно для установки правильных пакетов в ОС, чтобы не
|
> ipv6. Это нужно для установки правильных пакетов в ОС, чтобы не
|
||||||
> устанавливать лишнее.
|
> устанавливать лишнее.
|
||||||
|
|
||||||
6. Запустите `blockcheck.sh`. Скрипт вначале проверяет DNS. Если выводятся
|
5. Запустите `blockcheck.sh`. Скрипт вначале проверяет DNS. Если выводятся
|
||||||
сообщения о подмене адресов, то нужно будет решить проблему с DNS.
|
сообщения о подмене адресов, то нужно будет решить проблему с DNS.
|
||||||
`blockcheck.sh` перейдет в этом случае на DoH и будет пытаться получить и
|
`blockcheck.sh` перейдет в этом случае на DoH и будет пытаться получить и
|
||||||
использовать реальные IP адреса. Но если вы не настроите решение этой
|
использовать реальные IP адреса. Но если вы не настроите решение этой
|
||||||
@ -116,7 +119,7 @@
|
|||||||
вашего DNS сервера на `77.88.8.88:1253` средствами `iptables`/`nftables`. В
|
вашего DNS сервера на `77.88.8.88:1253` средствами `iptables`/`nftables`. В
|
||||||
`/etc/resolv.conf` нельзя прописать DNS на нестандартном порту.
|
`/etc/resolv.conf` нельзя прописать DNS на нестандартном порту.
|
||||||
|
|
||||||
7. `blockcheck.sh` позволяет выявить рабочую стратегию обхода блокировок По
|
6. `blockcheck.sh` позволяет выявить рабочую стратегию обхода блокировок По
|
||||||
результатам скрипта нужно понять какой вариант будете использовать : `nfqws`
|
результатам скрипта нужно понять какой вариант будете использовать : `nfqws`
|
||||||
или `tpws` И запомнить найденные стратегии.
|
или `tpws` И запомнить найденные стратегии.
|
||||||
|
|
||||||
@ -227,11 +230,11 @@
|
|||||||
варианте скриптов запуска это делается максимально гибко и независимо друг
|
варианте скриптов запуска это делается максимально гибко и независимо друг
|
||||||
от друга.
|
от друга.
|
||||||
|
|
||||||
8. Запустите скрипт облегченной установки - `install_easy.sh` Выберите `nfqws`
|
7. Запустите скрипт облегченной установки - `install_easy.sh` Выберите `nfqws`
|
||||||
и/или `tpws`, затем согласитесь на редактирование параметров. Откроется
|
и/или `tpws`, затем согласитесь на редактирование параметров. Откроется
|
||||||
редактор, куда впишите созданную на предыдущем этапе стратегию.
|
редактор, куда впишите созданную на предыдущем этапе стратегию.
|
||||||
|
|
||||||
9. На все остальные вопросы `install_easy.sh` отвечайте согласно выводимой
|
8. На все остальные вопросы `install_easy.sh` отвечайте согласно выводимой
|
||||||
аннотации.
|
аннотации.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Windows quick start
|
# Быстрая настройка Windows
|
||||||
|
|
||||||
Специально для тех, кто хочет побыстрее начать, но не хочет слишком углубляться в простыню [readme.md](./readme.md).
|
Специально для тех, кто хочет побыстрее начать, но не хочет слишком углубляться в простыню [readme.md](./readme.md).
|
||||||
> [!CAUTION]
|
> [!CAUTION]
|
||||||
> Как обычно, компьютерная грамотность ложится полностью на вас.
|
> Как обычно, компьютерная грамотность ложится полностью на вас.
|
||||||
> Вы должны уметь работать с консолью windows и иметь минимальные навыки обращения с командными файлами `bat`, `cmd`.
|
> Вы должны уметь работать с консолью windows и иметь минимальные навыки обращения с командными файлами `bat`, `cmd`.
|
||||||
> Если грамотность отсутствует и возникает куча _"как?"_ на базовых вещах, значит эта программа не для вас.
|
> Если грамотность отсутствует и возникает куча _"как?"_ на базовых вещах, значит эта программа не для вас.
|
||||||
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
Будем считать, что у вас есть windows 7 или выше. Задача - обойти блокировки с самой системы.
|
Будем считать, что у вас есть windows 7 или выше. Задача - обойти блокировки с самой системы.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> Есть решение самое простое, а есть "как положено".
|
> Есть решение самое простое, а есть "как положено".
|
||||||
|
|
||||||
## САМОЕ ПРОСТОЕ РЕШЕНИЕ
|
## САМОЕ ПРОСТОЕ РЕШЕНИЕ
|
||||||
@ -30,7 +30,7 @@
|
|||||||
_"Совсем ничего не могу, все очень сложно, дайте мне таблетку."_ ©Простой пользователь
|
_"Совсем ничего не могу, все очень сложно, дайте мне таблетку."_ ©Простой пользователь
|
||||||
|
|
||||||
1) Скачайте и распакуйте архив https://github.com/bol-van/zapret-win-bundle/archive/refs/heads/master.zip.
|
1) Скачайте и распакуйте архив https://github.com/bol-van/zapret-win-bundle/archive/refs/heads/master.zip.
|
||||||
2) Запустите `zapret-winws/preset_russia.cmd` от имени администратора. Возможно, заведется сразу.
|
2) Запустите `zapret-winws/preset_russia.cmd` от имени администратора. Возможно, заведется сразу.
|
||||||
|
|
||||||
То же самое с ограничителем по автоматически создаваемому хост-листу `preset_russia_autohostlist.cmd`.
|
То же самое с ограничителем по автоматически создаваемому хост-листу `preset_russia_autohostlist.cmd`.
|
||||||
Что такое `autohostlist` - читайте [readme.md](./readme.md). Проще говоря, мы обходим только то, что долго и упорно не хочет открываться.
|
Что такое `autohostlist` - читайте [readme.md](./readme.md). Проще говоря, мы обходим только то, что долго и упорно не хочет открываться.
|
||||||
@ -45,7 +45,7 @@ _"Совсем ничего не могу, все очень сложно, да
|
|||||||
|
|
||||||
2) Если у вас Windows 7 x64, читайте [docs/windows.md](./windows.md). Без описанной там подготовки может не работать.
|
2) Если у вас Windows 7 x64, читайте [docs/windows.md](./windows.md). Без описанной там подготовки может не работать.
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> Для 32-битных систем Windows нет готового полного варианта.
|
> Для 32-битных систем Windows нет готового полного варианта.
|
||||||
|
|
||||||
На windows 11 arm64 выполните `arm64/install_arm64.cmd` от имени администратора и перезагрузите компьютер.
|
На windows 11 arm64 выполните `arm64/install_arm64.cmd` от имени администратора и перезагрузите компьютер.
|
||||||
@ -80,11 +80,11 @@ win11 поддерживает системные DoH из коробки. Он
|
|||||||
Лог скрипта будет сохранен в `blockcheck\blockcheck.log`.
|
Лог скрипта будет сохранен в `blockcheck\blockcheck.log`.
|
||||||
Запомните/перепишите найденные стратегии.
|
Запомните/перепишите найденные стратегии.
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> Следует понимать, что blockcheck проверяет доступность только конкретного домена, который вы вводите в начале.
|
> Следует понимать, что blockcheck проверяет доступность только конкретного домена, который вы вводите в начале.
|
||||||
> Вероятно, все остальные домены блокированы подобным образом, но не факт.
|
> Вероятно, все остальные домены блокированы подобным образом, но не факт.
|
||||||
|
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> В большинстве случаев можно обьединить несколько стратегий в одну универсальную, и это крайне желательно.
|
> В большинстве случаев можно обьединить несколько стратегий в одну универсальную, и это крайне желательно.
|
||||||
|
|
||||||
Необходимо понимать [как работают стратегии](./readme.md/#nfqws).
|
Необходимо понимать [как работают стратегии](./readme.md/#nfqws).
|
||||||
@ -116,12 +116,12 @@ badseq может работать только на https и не работа
|
|||||||
|
|
||||||
Пример стандартного фильтра для перехвата http, https, quic : `--wf-tcp=80,443` `--wf-udp=443`
|
Пример стандартного фильтра для перехвата http, https, quic : `--wf-tcp=80,443` `--wf-udp=443`
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> Фильтр должен быть минимально необходимым. Перехват лишнего трафика приведет только к бессмысленному расходованию ресурсов процессора и замедлению интернета.
|
> Фильтр должен быть минимально необходимым. Перехват лишнего трафика приведет только к бессмысленному расходованию ресурсов процессора и замедлению интернета.
|
||||||
|
|
||||||
Если кратко по мультистратегии, то обычно параметры конструируются так :
|
Если кратко по мультистратегии, то обычно параметры конструируются так :
|
||||||
```
|
```
|
||||||
--filter-udp=443 'параметры для quic' --new
|
--filter-udp=443 'параметры для quic' --new
|
||||||
--filter-tcp=80,443 'обьединенные параметры для http и https'
|
--filter-tcp=80,443 'обьединенные параметры для http и https'
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -196,7 +196,7 @@ ipset или хост листом. Читайте основной талмуд
|
|||||||
Есть стратегии довольно безобидные, а есть сильно ломающие, которые подходят только для точечного пробития отдельных ресурсов,
|
Есть стратегии довольно безобидные, а есть сильно ломающие, которые подходят только для точечного пробития отдельных ресурсов,
|
||||||
когда ничего лучше нет. Хорошая стратегия может сильно ломать из-за плохо подобранных ограничителей для фейков - ttl, fooling.
|
когда ничего лучше нет. Хорошая стратегия может сильно ломать из-за плохо подобранных ограничителей для фейков - ttl, fooling.
|
||||||
|
|
||||||
> [!CAUTION]
|
> [!CAUTION]
|
||||||
> Это минимальная инструкция, чтобы соориентироваться с чего начать. Однако, это - не панацея.
|
> Это минимальная инструкция, чтобы соориентироваться с чего начать. Однако, это - не панацея.
|
||||||
> В некоторых случаях вы не обойдетесь без знаний и основного "талмуда".
|
> В некоторых случаях вы не обойдетесь без знаний и основного "талмуда".
|
||||||
|
|
||||||
|
@ -206,12 +206,12 @@ select_mode()
|
|||||||
|
|
||||||
select_getlist()
|
select_getlist()
|
||||||
{
|
{
|
||||||
if [ "$MODE_FILTER" = "ipset" -o "$MODE_FILTER" = "hostlist" ]; then
|
if [ "$MODE_FILTER" = "ipset" -o "$MODE_FILTER" = "hostlist" -o "$MODE_FILTER" = "autohostlist" ]; then
|
||||||
local D=N
|
local D=N
|
||||||
[ -n "$GETLIST" ] && D=Y
|
[ -n "$GETLIST" ] && D=Y
|
||||||
echo
|
echo
|
||||||
if ask_yes_no $D "do you want to auto download ip/host list"; then
|
if ask_yes_no $D "do you want to auto download ip/host list"; then
|
||||||
if [ "$MODE_FILTER" = "hostlist" ] ; then
|
if [ "$MODE_FILTER" = "hostlist" -o "$MODE_FILTER" = "autohostlist" ] ; then
|
||||||
GETLISTS="get_refilter_domains.sh get_antizapret_domains.sh get_reestr_resolvable_domains.sh get_reestr_hostlist.sh"
|
GETLISTS="get_refilter_domains.sh get_antizapret_domains.sh get_reestr_resolvable_domains.sh get_reestr_hostlist.sh"
|
||||||
GETLIST_DEF="get_antizapret_domains.sh"
|
GETLIST_DEF="get_antizapret_domains.sh"
|
||||||
else
|
else
|
||||||
|
@ -72,6 +72,9 @@ remove_openwrt()
|
|||||||
nft_del_table
|
nft_del_table
|
||||||
restart_openwrt_firewall
|
restart_openwrt_firewall
|
||||||
crontab_del
|
crontab_del
|
||||||
|
remove_extra_pkgs_openwrt
|
||||||
|
echo
|
||||||
|
echo to fully remove zapret : rm -r \"$ZAPRET_BASE\"
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_macos()
|
remove_macos()
|
||||||
|
Loading…
Reference in New Issue
Block a user