GubernievS / AntiZapret-VPN

203 stars 18 forks source link

AntiZapret VPN + обычный VPN

Скрипт для установки на своём сервере AntiZapret VPN и обычного VPN, работает по протоколам OpenVPN (есть патч для обхода блокировки), WireGuard и AmneziaWG

AntiZapret VPN реализует технологию раздельного туннелирования

Через AntiZapret VPN работают только (список сайтов автоматически обновляется раз в сутки с 3:00 до 4:00 по времени сервера):

Все остальные сайты работают без VPN через вашего провайдера с максимальной доступной скоростью, не нарушая работу сайтов проверяющих наличие у вас Российского IP-адреса (госуслуги, банки, интернет-магазины, стриминговые сервисы и тд)

Список сайтов и IP-адресов для AntiZapret VPN предзаполнен и обновляется автором (include-hosts-dist.txt и include-ips-dist.txt)\ Также доступно ручное добавление собственных сайтов и IP-адресов (include-hosts-custom.txt и include-ips-custom.txt)

Внимание! Для правильной работы AntiZapret VPN нужно отключить DNS в браузере

Через обычный VPN работают все сайты, доступные с вашего сервера, что позволяет обходить все ограничения

Ваш сервер должен быть расположен за пределами России и стран бывшего Советского Союза, в противном случае разблокировка сайтов не гарантируется

AntiZapret VPN (файлы antizapret-*) и обычный VPN (файлы vpn-*) подключаются через VPN-клиенты: OpenVPN Connect, OpenVPN (Windows), WireGuard, Amnezia VPN, AmneziaWG (Windows) и тд

OpenVPN (файлы *.ovpn)\ Поддерживается подключение по UDP и TCP, а также возможность подключения только по UDP (*-udp.ovpn) или только по TCP (*-tcp.ovpn)\ Используются порты 50080 и 50443, а также резервные порты 80 и 443 для обхода блокировок портов\ OpenVPN позволяет нескольким клиентам использовать один и тот же файл подключения (*.ovpn) для подключения к серверу, по умолчанию создается один клиент 'antizapret-client'\ Если ваш провайдер блокирует протокол OpenVPN - установите патч для обхода блокировки протокола

WireGuard (файлы *-wg.conf)\ Поддерживается подключение по UDP, используются порты 51080 и 51443\ WireGuard не позволяет нескольким клиентам использовать один и тот же файл подключения (*-wg.conf) для подключения к серверу, поэтому каждому клиенту необходимо создать свой личный файл подключения\ Файлы подключения клиентов для WireGuard и AmneziaWG создаются сразу, по умолчанию создается один клиент 'antizapret-client'\ Если ваш провайдер блокирует протокол WireGuard - попробуйте использовать клиент AmneziaWG

AmneziaWG (файлы *-am.conf)\ Поддерживается подключение по UDP, используются порты 52080 и 52443\ AmneziaWG работает в режиме обфускации Wireguard\ AmneziaWG не позволяет нескольким клиентам использовать один и тот же файл подключения (*-am.conf) для подключения к серверу, поэтому каждому клиенту необходимо создать свой личный файл подключения\ Файлы подключения клиентов для WireGuard и AmneziaWG создаются сразу, по умолчанию создается один клиент 'antizapret-client'

За основу взяты эти исходники разработанные ValdikSS

Протестировано на Ubuntu 22.04/24.04 и Debian 11/12 - Процессор: 1 core, Память: 1 Gb, Хранилище: 10 Gb, Внешний IPv4


Установка и обновление

  1. Устанавливать на чистую Ubuntu 22.04/24.04 или Debian 11/12 (рекомендуется Ubuntu 24.04)
  2. В терминале под root выполнить
    apt update && apt install -y git && cd /root && git clone https://github.com/GubernievS/AntiZapret-VPN.git tmp && chmod +x tmp/setup.sh && tmp/setup.sh
  3. Дождаться перезагрузки сервера и скопировать файлы подключений (.ovpn и .conf) с сервера из папки /root/vpn (например через MobaXtrem, FileZilla или WinSCP)\ После загрузки сервера, заблокированные сайты заработают через несколько минут

При установке можно:

  1. Установить патч для обхода блокировки протокола OpenVPN (только для UDP соединений)

  2. Включить OpenVPN DCO

  3. Включить блокировку рекламы, трекеров и фишинга в AntiZapret VPN

  4. Выбрать DNS для обычного VPN

  5. Использовать альтернативные диапазоны IP-адресов: 172... вместо 10...

  6. Использовать резервные порты 80 и 443 для OpenVPN

  7. Запретить нескольким клиентам подключаться к OpenVPN используя один и тот же файл подключения (*.ovpn)


    Настройка

  8. Установить патч для обхода блокировки протокола OpenVPN (только для UDP соединений)

    ./patch-openvpn.sh
  9. Включить OpenVPN DCO - это заметно снижает нагрузку на CPU сервера и клиента - это экономит аккумулятор мобильных устройств и увеличивает скорость передачи данных через OpenVPN

    ./enable-openvpn-dco.sh

    При включении OpenVPN DCO будут работать только алгоритмы шифрования AES-128-GCM и AES-256-GCM\ Алгоритмы шифрования AES-128-CBC, AES-192-CBC и AES-256-CBC не поддерживаются и будут отключены

  10. Выключить OpenVPN DCO

    ./disable-openvpn-dco.sh
  11. Добавить нового клиента (срок действия в днях - только для OpenVPN)

    ./add-client.sh [ov/wg] [имя_клиента] [срок_действия]
  12. Удалить клиента

    ./delete-client.sh [ov/wg] [имя_клиента]

    После добавления нового клиента скопируйте новые файлы подключений (.ovpn и .conf) с сервера из папки /root/vpn

  13. Добавить свои сайты в список антизапрета (include-hosts-custom.txt)

    nano /root/antizapret/config/include-hosts-custom.txt

    Добавлять нужно только домены, например: subdomain.example.com\ example.com\ com\ После этого нужно обновить список антизапрета

    /root/antizapret/doall.sh
  14. Добавить свои IP-адреса в список антизапрета (include-ips-custom.txt)

    nano /root/antizapret/config/include-ips-custom.txt

    Добавлять нужно только IP-адреса с маской A.B.C.D/M, например:\ 8.8.8.8/32\ 10.20.0.0/16\ 20.30.40.0/24\ После этого нужно обновить список антизапрета

    /root/antizapret/doall.sh

    После этого клиентам OpenVPN (antizapret-*.ovpn) достаточно переподключиться\ А созданным клиентам WireGuard/AmneziaWG нужно добавить эти IP-адреса через запятую в конфигурационные файлы (antizapret-*.conf) в строке AllowedIPs


    Пообщаться

    Обсуждение скрипта на 4pda.to и ntc.party (для просмотра нужен VPN)\ Приватная группа в telegram


    Настройка на роутерах

    OpenVPN на роутерах Keenetic и TP-Link\ WireGuard/AmneziaWG на роутерах Keenetic, MikroTik и OpenWRT (для просмотра 4pda нужен VPN)


    Где купить сервер

    Хорошие и быстрые сервера в Европе принимающие рубли:

    • vdsina.com - ссылка для регистрации с бонусом 10%
    • aeza.net - ссылка для регистрации с бонусом 15% если пополнение сделать в течении 24 часов с момента регистрации

Недорогие сервера в Европе с ограничением скорости до 100 Mbit/s принимающие рубли:

  1. Как посмотреть активные соединения?

Посмотреть активные соединения и статистику OpenVPN можно в логах *-status.log в папке /etc/openvpn/server/logs на сервере (Логи обновляются каждые 30 секунд)\ Посмотреть активные соединения и статистику WireGuard/AmneziaWG можно командой

wg show

Кроме этого, есть сторонний проект для просмотра статистики через веб-интерфейс

  1. Какие IP используются?

DNS антизапрета = 10.29.0.1\ Клиенты AntiZapret VPN = 10.29.0.0/16\ Клиенты обычного VPN = 10.28.0.0/16\ Подменные IP = 10.30.0.0/15

  1. Как запретить нескольким клиентам использовать один и тот же файл подключения (*.ovpn) для одновременного подключения к серверу?

На сервере в папке /etc/openvpn/server во всех файлах .conf убрать строчки duplicate-cn\ Перезагрузить сервер

  1. Как пересоздать все файлы подключений (*.ovpn и *.conf) в папке /root/vpn?

Выполните команду

./add-client.sh recreate

В папке /root/vpn будут пересозданы все файлы подключений, прошлые файлы подключений будут перемещены в папку /root/vpn/old


Поблагодарить и поддержать

Поблагодарить и поддержать проект можно на:

cloudtips.ru

boosty.to