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
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
echo \* checking prerequisites
|
||||
|
@ -359,3 +359,7 @@ blockcheck: do not require root if SKIP_PKTWS=1
|
||||
v68:
|
||||
|
||||
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 вопросы типа "как скопировать файл", "как скачать", "как
|
||||
> запустить", ... То есть все , что касается базовых навыков обращения с ОС
|
||||
> linux. Эти вопросы будут закрывать сразу. Если у вас подобные вопросы
|
||||
@ -30,30 +32,31 @@
|
||||
этой системе, если 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
|
||||
$ git clone --depth 1 https://github.com/bol-van/zapret
|
||||
```
|
||||
|
||||
3. Убедитесь, что у вас отключены все средства обхода блокировок, в том числе и
|
||||
2. Убедитесь, что у вас отключены все средства обхода блокировок, в том числе и
|
||||
сам zapret. Гарантированно уберет zapret скрипт `uninstall_easy.sh`.
|
||||
|
||||
4. Если вы работаете в виртуальной машине, необходимо использовать соединение с
|
||||
3. Если вы работаете в виртуальной машине, необходимо использовать соединение с
|
||||
сетью в режиме bridge. NAT **не** подходит.
|
||||
|
||||
5. Выполните однократные действия по установке требуемых пакетов в ОС и
|
||||
4. Выполните однократные действия по установке требуемых пакетов в ОС и
|
||||
настройке исполняемых файлов правильной архитектуры:
|
||||
```sh
|
||||
$ install_bin.sh
|
||||
@ -64,7 +67,7 @@
|
||||
> ipv6. Это нужно для установки правильных пакетов в ОС, чтобы не
|
||||
> устанавливать лишнее.
|
||||
|
||||
6. Запустите `blockcheck.sh`. Скрипт вначале проверяет DNS. Если выводятся
|
||||
5. Запустите `blockcheck.sh`. Скрипт вначале проверяет DNS. Если выводятся
|
||||
сообщения о подмене адресов, то нужно будет решить проблему с DNS.
|
||||
`blockcheck.sh` перейдет в этом случае на DoH и будет пытаться получить и
|
||||
использовать реальные IP адреса. Но если вы не настроите решение этой
|
||||
@ -116,7 +119,7 @@
|
||||
вашего DNS сервера на `77.88.8.88:1253` средствами `iptables`/`nftables`. В
|
||||
`/etc/resolv.conf` нельзя прописать DNS на нестандартном порту.
|
||||
|
||||
7. `blockcheck.sh` позволяет выявить рабочую стратегию обхода блокировок По
|
||||
6. `blockcheck.sh` позволяет выявить рабочую стратегию обхода блокировок По
|
||||
результатам скрипта нужно понять какой вариант будете использовать : `nfqws`
|
||||
или `tpws` И запомнить найденные стратегии.
|
||||
|
||||
@ -227,11 +230,11 @@
|
||||
варианте скриптов запуска это делается максимально гибко и независимо друг
|
||||
от друга.
|
||||
|
||||
8. Запустите скрипт облегченной установки - `install_easy.sh` Выберите `nfqws`
|
||||
7. Запустите скрипт облегченной установки - `install_easy.sh` Выберите `nfqws`
|
||||
и/или `tpws`, затем согласитесь на редактирование параметров. Откроется
|
||||
редактор, куда впишите созданную на предыдущем этапе стратегию.
|
||||
|
||||
9. На все остальные вопросы `install_easy.sh` отвечайте согласно выводимой
|
||||
8. На все остальные вопросы `install_easy.sh` отвечайте согласно выводимой
|
||||
аннотации.
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Windows quick start
|
||||
# Быстрая настройка Windows
|
||||
|
||||
Специально для тех, кто хочет побыстрее начать, но не хочет слишком углубляться в простыню [readme.md](./readme.md).
|
||||
> [!CAUTION]
|
||||
> [!CAUTION]
|
||||
> Как обычно, компьютерная грамотность ложится полностью на вас.
|
||||
> Вы должны уметь работать с консолью windows и иметь минимальные навыки обращения с командными файлами `bat`, `cmd`.
|
||||
> Если грамотность отсутствует и возникает куча _"как?"_ на базовых вещах, значит эта программа не для вас.
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
Будем считать, что у вас есть windows 7 или выше. Задача - обойти блокировки с самой системы.
|
||||
|
||||
> [!NOTE]
|
||||
> [!NOTE]
|
||||
> Есть решение самое простое, а есть "как положено".
|
||||
|
||||
## САМОЕ ПРОСТОЕ РЕШЕНИЕ
|
||||
@ -30,7 +30,7 @@
|
||||
_"Совсем ничего не могу, все очень сложно, дайте мне таблетку."_ ©Простой пользователь
|
||||
|
||||
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`.
|
||||
Что такое `autohostlist` - читайте [readme.md](./readme.md). Проще говоря, мы обходим только то, что долго и упорно не хочет открываться.
|
||||
@ -45,7 +45,7 @@ _"Совсем ничего не могу, все очень сложно, да
|
||||
|
||||
2) Если у вас Windows 7 x64, читайте [docs/windows.md](./windows.md). Без описанной там подготовки может не работать.
|
||||
|
||||
> [!WARNING]
|
||||
> [!WARNING]
|
||||
> Для 32-битных систем Windows нет готового полного варианта.
|
||||
|
||||
На windows 11 arm64 выполните `arm64/install_arm64.cmd` от имени администратора и перезагрузите компьютер.
|
||||
@ -80,11 +80,11 @@ win11 поддерживает системные DoH из коробки. Он
|
||||
Лог скрипта будет сохранен в `blockcheck\blockcheck.log`.
|
||||
Запомните/перепишите найденные стратегии.
|
||||
|
||||
> [!WARNING]
|
||||
> [!WARNING]
|
||||
> Следует понимать, что blockcheck проверяет доступность только конкретного домена, который вы вводите в начале.
|
||||
> Вероятно, все остальные домены блокированы подобным образом, но не факт.
|
||||
|
||||
> [!TIP]
|
||||
> [!TIP]
|
||||
> В большинстве случаев можно обьединить несколько стратегий в одну универсальную, и это крайне желательно.
|
||||
|
||||
Необходимо понимать [как работают стратегии](./readme.md/#nfqws).
|
||||
@ -116,12 +116,12 @@ badseq может работать только на https и не работа
|
||||
|
||||
Пример стандартного фильтра для перехвата 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'
|
||||
```
|
||||
|
||||
@ -196,7 +196,7 @@ ipset или хост листом. Читайте основной талмуд
|
||||
Есть стратегии довольно безобидные, а есть сильно ломающие, которые подходят только для точечного пробития отдельных ресурсов,
|
||||
когда ничего лучше нет. Хорошая стратегия может сильно ломать из-за плохо подобранных ограничителей для фейков - ttl, fooling.
|
||||
|
||||
> [!CAUTION]
|
||||
> [!CAUTION]
|
||||
> Это минимальная инструкция, чтобы соориентироваться с чего начать. Однако, это - не панацея.
|
||||
> В некоторых случаях вы не обойдетесь без знаний и основного "талмуда".
|
||||
|
||||
|
@ -206,12 +206,12 @@ select_mode()
|
||||
|
||||
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
|
||||
[ -n "$GETLIST" ] && D=Y
|
||||
echo
|
||||
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"
|
||||
GETLIST_DEF="get_antizapret_domains.sh"
|
||||
else
|
||||
|
@ -72,6 +72,9 @@ remove_openwrt()
|
||||
nft_del_table
|
||||
restart_openwrt_firewall
|
||||
crontab_del
|
||||
remove_extra_pkgs_openwrt
|
||||
echo
|
||||
echo to fully remove zapret : rm -r \"$ZAPRET_BASE\"
|
||||
}
|
||||
|
||||
remove_macos()
|
||||
|
Loading…
Reference in New Issue
Block a user