Compare commits

..

5 Commits

Author SHA1 Message Date
MAXIMILI
84e49f2b8b
Merge 7ee5306d06 into db0caf7d58 2024-11-06 17:38:00 +03:00
maximilionus
7ee5306d06 docs: Add header, notes to linux quick, fixes
Fix Markdown notes formatting.

Cleaned useless whitespaces from Windows quickstart.
2024-11-06 17:34:57 +03:00
bol-van
db0caf7d58 install_easy.sh: allow to download lists in autohostlist filter mode 2024-11-06 16:18:41 +03:00
bol-van
34c6c5e9ba installer.sh: minor fix 2024-11-06 15:57:21 +03:00
bol-van
868d115c5d uninstall_easy: offer to remove deps in openwrt 2024-11-06 13:19:55 +03:00
6 changed files with 55 additions and 31 deletions

View File

@ -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

View File

@ -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

View File

@ -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` отвечайте согласно выводимой
аннотации. аннотации.

View File

@ -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]
> Это минимальная инструкция, чтобы соориентироваться с чего начать. Однако, это - не панацея. > Это минимальная инструкция, чтобы соориентироваться с чего начать. Однако, это - не панацея.
> В некоторых случаях вы не обойдетесь без знаний и основного "талмуда". > В некоторых случаях вы не обойдетесь без знаний и основного "талмуда".

View File

@ -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

View File

@ -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()