Неофициальный docker-контейнер АнтиЗапрета

В контейнер было бы полезно добавить фикс, без него если DNS сервер выдаст ip адрес из этой подсети не будет грузиться сайт. Эта подсеть относиться к CDN akamai. Без этого фикса лично у меня не грузились аватарки и превью к играм в steam и не устанавливался лаунчер curseforge.

sed -i ‘9i echo “104.109.143.0/24” >> temp/list.csv’ /root/antizapret/doall.sh

Был ещё такой фикс, но у меня часть доменов работало, часть нет, поэтому первый фикс лучше.

Так же можно отключить DNSSEC особенно работая в связки с AdguardHome.

Если есть желание, можно интегрировать GitHub - dartraiden/no-russia-hosts: Список доменов, владельцы которых ограничивают доступ с российских IP-адресов

Как следует из названия, это домены, владельцы которых не пускают россиян, поэтому сам бог велел их проксировать. Некоторые домены там пересекаются со списком заблокированных (например, Grammarly, который одновременно и россиян не пускает, и заблокирован Роскомнадзором).

Определённо нужно. Я такой список искал в своё время, но не нашёл.

К слову, я помогаю этот Docker-контейнер развивать. Там куча изменений висит в PR; xtrime смержит как будет время. В планах ещё с systemd переехать на supervisor, чтобы избавиться от привилегировнного режима контейнера (systemd без него не запускается; но в то же время это нежелательная опция Docker-контейнера). С твиками ядра тоже проблема: они только в привилегированном режиме применяются. Есть ли от них польза — непонятно; нужно проверять.

это хорошо конечно все, но иногда такие списки не всем нужны, хотелось бы иметь выбор или как то просто их отключать. И хотелось бы какой то прозрачности что уже добавлено “из коробки”

Вся прозрачность находится в GitHub-репозитории, а конкретно в этом файле на данный момент. В будущем дополнительные домены в другом файле будут находиться.

Можно исключить ненужные домены через exclude-hosts-custom.txt или сделать опцию у контейнера для включения списка по желанию. Ну идея-то такая, чтобы из коробки доступ был ко всему как раньше. Подумаем, как лучше это сделать.

Ну я к тому , что мне приходится лезть в контейнер и половину из этого списка удалять самому, с добавлением нового списка нужно будет проделывать тоже самое. Фишка антизапрета как раз была в том, что у тебя по умолчанию работают только домены из списков роскомнадзора, а то что тебе еще самому нужно ты добавляешь сам. Мне в принципе не сложно все это самому править , просто хотелось бы универсальности какой то при сборке контейнера

Я считаю, что нужно интегрировать данный список по умолчанию, это почти одно и тоже, что и с блокировка сайта со стороны роскомнадзора, только в этом случае со стороны владельца сайта, но нужно интегрировать с автоматическим обновлением этого списка, а не постоянно ручками обновлять контейнер.

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

Друг, приветствую!
Помогите, кто-нибудь
Имеется - хост на бубунте 22.04, так же установил DCO согласно гайду
вроде всё запустил, контейнер работает, но коннекта нет что по удп что по тсп. овпн успешно рапортует что соединение установлено, айпишник выдаёт, но весь интернет падает. Что делать, куда копать? Лог ОВПН - в спойлере

Спойлер

Sun Aug 18 00:48:05 2024 Note: --cipher is not set. OpenVPN versions before 2.5 defaulted to BF-CBC as fallback when cipher negotiation failed in this case. If you need this fallback please add ‘–data-ciphers-fallback BF-CBC’ to your configuration and/or add BF-CBC to --data-ciphers.
Sun Aug 18 00:48:05 2024 OpenVPN 2.6.12 [git:v2.6.12/038a94bae57a446c] Windows [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] [DCO] built on Jul 18 2024
Sun Aug 18 00:48:05 2024 Windows version 10.0 (Windows 10 or greater), amd64 executable
Sun Aug 18 00:48:05 2024 library versions: OpenSSL 3.3.1 4 Jun 2024, LZO 2.10
Sun Aug 18 00:48:05 2024 DCO version: 1.2.1
Sun Aug 18 00:48:06 2024 NOTE: --fast-io is disabled since we are running on Windows
Sun Aug 18 00:48:06 2024 TCP/UDP: Preserving recently used remote address: [AF_INET]171.22.120.139:1194
Sun Aug 18 00:48:06 2024 ovpn-dco device [OpenVPN Data Channel Offload] opened
Sun Aug 18 00:48:06 2024 UDP link local: (not bound)
Sun Aug 18 00:48:06 2024 UDP link remote: [AF_INET]171.22.120.139:1194
Sun Aug 18 00:48:06 2024 [antizapret-server] Peer Connection Initiated with [AF_INET]171.22.120.139:1194
Sun Aug 18 00:48:07 2024 IPv4 dns servers set using service
Sun Aug 18 00:48:07 2024 IPv4 MTU set to 1420 on interface 15 using service
Sun Aug 18 00:48:07 2024 Blocking outside dns using service succeeded.
Sun Aug 18 00:48:07 2024 Initialization Sequence Completed

Всем привет. Как правильно создать дополнительные ключи для openvpn? Это нужно делать в контейнере или напрямую в системе?
Можете, пожалуйста, написать путь и команду для генерации?
Так же вопрос. А возможно сделать так чтобы сразу генерировался с новыми ключами файлик .ovpn?

docker compose pull
docker compose up -d
volumes не пересоздаются. И можно получить ситуацию что отредактировал кастомный список, пересобрал образ, а изменения из списка не подтянулись.
если все же не принципиально иметь возможность редактировать файл из хоста, то надо сначала дропнуть volumes
sudo docker compose down -v

и еще раз отредактировал: похоже проблема была всё же из за прав.
тогда обратно вопрос, почему отдельный файл под кастомный список доменов, а не обновлять имеющийся пользовательский. Заполнять так же скриптом. Если изначально файл пустой то автоматом применять, если файл не пустой - то по команде дополнять несуществующими.

И тогда перечень кастомных доменов доступен в одном месте удобно и прозрачно для пользователя.

Сделали большое обновление контейнера: Release v3.1.0 · xtrime-ru/antizapret-vpn-docker · GitHub

Самые главные фишки:

  1. Понятные и предсказуемые regex правила для урлов. Никаких скриптов, вытаскивающих домены и тд… Регулярки сразу кидаются в конфиг kresd и проверки регулярок запускаются первыми, для максимального приоритета.
  2. XOR Tunneblick scramble патч. Кажется реально обходит DPI у мобильных операторов. Но не все клиенты поддерживают. По умолчанию выключен в конфигах. Можно включить env переменной.
  3. CBC шифрование теперь можно включить ENV переменной. DCO выключится, конечно, но для старых клиентов иначе никак.
  4. Фикс конфликта ferm и docker на старых версиях хостовых систем.
  5. Улучшение работы с конфигами - теперь файлы не в гит, а генерируются п

Сложная логика, что бы учесть все возможные ситуации. Придется писать отдельный механизм миграций, как для БД. Например файл заполнен пользовательскими и и надо добавить пресловутый ютуб… Кажется не выгодня фича по соотношению польза/трудозатраты.

А другие клиенты работают? Внутри контейнера интернет работает? Если да - то попробовать выключить DCO в клиенте винды.
Если нет - то попробовать новую версию, там исправлен баг с конфликтами ferm с правилами iptables docker.

Вот инструкция как перегенерить ключи: GitHub - xtrime-ru/antizapret-vpn-docker: Docker container with antizapret-vpn for selfhosting.

  1. Нужно поправить в ридми путь к пользовательским спискам (он не существует в репозитории, что смущает пользователей)
  2. Убрать дублирующееся упоминание XOR-патче
  3. Актуализировать строку DNS=1.1.1.1 — DNS server to resolve domains (default: host DNS server) в ридми (теперь по умолчанию используется не DNS хоста, кстати, почему?).

Отвалился интернет на всех устройствах после обновления , ощущение , что dns , полная переустановка контейнера помогла.

Про то как стереть текущие ключи и создать новые я понял, а как сделать дополнительные с другими именами?

Всем привет, с контейнерами мало работал, правильно ли я понимаю, что в lxd когда я захожу внутрь контейнера (lxd shell antizapret-vpn) и что-то меняю, это меняет сам образ приложения и все изменения запоминаются, а для контейнера docker, чтобы запомнить изменения, нужна пересборка образа из исходного когда?

Может тогда все изменяемые части вынести в ENV?

Зачем дефольтный DNS 1.1.1.1? У меня теперь везде ERR_NAME_NOT_RESOLVED, кроме ютуба ничего не работает.
Я нуб и не врубаюсь как сделать чтобы хост был опять dns’ом.

Ну есть в принципе 2 пути:
1: заходишь в контейнер

docker exec -it  antizapret-vpn bash

там вносишь нужные тебе правки, Ctrl+D чтоб выйти из него.
После этого останавливай перезапускай - твои изменения никуда не денутся.
Если речь о дополнении списка для обхода, то его можно и из хоста править, главное чтоб inode файла не менялся.
2: после того как получил копию репозитория, делаешь в файлах/скриптах правки, собираешь, запускаешь.
не понравилось, опять вносишь правки пересобираешь.