Контейнер VPN АнтиЗапрета для установки на собственный сервер

у меня Ubuntu 22.04, 1 CPU, 1 Гб RAM, NVMe, плюс zram-config

работает нормально

lxc exec antizapret-vpn -- nano /root/antizapret/config/include-hosts-custom.txt

Поднял на микротике клиента, работает только с эксклюзивным Peer DNS, при этом половина сайтов перестало открываться — github, duckduck и тд
Отключаю эксклюзивный режим — трафик для обхода в туннель не идёт (((((

Попробовал так в докер версии:

services:
  antizapret-vpn:
    image: xtrime/antizapret-vpn:latest
    container_name: antizapret-vpn
    hostname: antizapret
    restart: unless-stopped
    privileged: true
    build: .
    environment:
      - DOMAIN
      - PORT=3003
      - CBC_CIPHERS
      - SCRAMBLE=1
      - DNS
      - DNS_RU
      - ADGUARD
      - TLS_CRYPT=1
    ports:
      - 3003:3003/tcp
      - 3003:3003/udp
#    dns:
#      - 1.1.1.1
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./keys:/etc/openvpn
      - ./config:/root/antizapret/config/custom
    logging:
      driver: json-file
      options:
        max-size: 100k
        max-file: 2

не подключается, надо все envirement заполнять? Планирую использовать на asus ac88u, но и с компьютера не пашет

у докера своя тема

тут anticensority / antizapret-vpn-container — Bitbucket

Где? По ссылке сайт с LXD версией.

тут обсуждается anticensority / antizapret-vpn-container — Bitbucket

Подскажите, есть ли возможность использования OpenVPN Access Server ’ а для данного контейнера или другие решения для дополнительной аутентификации и создания пользователей?

Для этой опции нужны специальные клиенты. Нужно отлючить/оставить пустой по умолчанию.

Если не поможет, то просьба прислать логи: docker compose logs

UP: ссори, перепутал ветку, был одинаковый вопрос в обоих.

Народ, подскажите, возможно ли создать свой личный VPN АнтиЗапрета с Ютубом на базе ProstoVPN?

Есть два основных варианта:

  1. Через docker:
    GitHub - xtrime-ru/antizapret-vpn-docker: Docker container with antizapret-vpn for selfhosting.
    Обсуждение: Неофициальный docker-контейнер АнтиЗапрета

  2. Без docker:
    GitHub - GubernievS/AntiZapret-VPN
    Обсуждение: Скрипт для автоматического развертывания AntiZapret VPN (НОВАЯ версия БЕЗ контейнера) + YouTube

Здравствуйте! Подскажите что сделать что-бы открывались “госуслуги” - ошибка “DNS_PROBE_FINISHED_NXDOMAIN”
На сервере делал nslookup
root@antizapret-vpn:~# nslookup gosuslugi.ru
Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: gosuslugi.ru
Address: 213.59.254.7
Name: gosuslugi.ru
Address: 213.59.253.7

И на локальном пк
╤хЁтхЁ: UnKnown
Address: 192.168.192.1

Не заслуживающий доверия ответ:
╚ь : gosuslugi.ru
Addresses: 213.59.253.7
213.59.254.7

Для Discord нашёл вот такой перечень доменов

добавил в
lxc exec antizapret-vpn -- nano /root/antizapret/config/include-hosts-custom.txt

dis.gd
discord.co
discord.com
discord.design
discord.dev
discord.gg
discord.gift
discord.gifts
discord.media
discord.new
discord.store
discord.tools
discord-activities.com
discordactivities.com
discordapp.com
discordapp.net
discordmerch.com
discordpartygames.com
discordsays.com
discordstatus.com
airhorn.solutions
airhornbot.com
bigbeans.solutions
watchanimeattheoffice.com

далее
lxc exec antizapret-vpn -- sh -c "LANG=C.UTF-8 /root/antizapret/doall.sh"
lxc exec antizapret-vpn -- sh -c "echo 'cache.clear()' | socat - /run/knot-resolver/control/1"

вроде работает

Добавил это, дискорд подключается, но проблема со звонками остается.
Есть ли такая проблема у вас или решения дополнительные?

Здравствуйте.

Странно ломается dns. 192.168.104.1 - адрес контейнера antizapret в vpn.
Первые пару раз команда с роутера выполняется, все остальные уже дают ошибку.
Переподключаем vpn, снова поначалу все ок, затем таймауты.
В чем может быть причина?

~ # dig youtube.com @192.168.104.1

; <<>> DiG 9.18.24 <<>> youtube.com @192.168.104.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40414
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;youtube.com.                   IN      A

;; ANSWER SECTION:
youtube.com.            300     IN      A       10.224.0.1
youtube.com.            300     IN      A       10.224.0.2
youtube.com.            300     IN      A       10.224.0.3
youtube.com.            300     IN      A       10.224.0.4

;; Query time: 84 msec
;; SERVER: 192.168.104.1#53(192.168.104.1) (UDP)
;; WHEN: Fri Oct 18 18:04:47 +05 2024
;; MSG SIZE  rcvd: 104

~ #
~ #
~ # dig youtube.com @192.168.104.1
;; communications error to 192.168.104.1#53: timed out

; <<>> DiG 9.18.24 <<>> youtube.com @192.168.104.1
;; global options: +cmd
;; no servers could be reached

UPD. Даже пинг пропадает. Сначала есть, через минуту нет.

не подскажу,

преимущественно использую в качестве чата в некоторых проектах

IP discord для голоса (большая часть):
66.22.192.0/18
35.192.0.0/11
34.0.192.0/18

добрый день! При выполнение команды “LANG=C.UTF-8 /root/antizapret/doall.sh”
выдаёт ошибку “curl: (22) The requested URL returned error: 404”
соответственно список сайтов не обновляется как это исправить?


Миграция сюда

GitHub - GubernievS/AntiZapret-VPN

GitHub - xtrime-ru/antizapret-vpn-docker: Docker container with antizapret-vpn for selfhosting.


option 1 | no check

Внутри контейнера

backup

clear
cd /root/antizapret
rm -rf update.sh.backup
cp update.sh update.sh.backup
clear
ls -lah | grep "update.sh"

apply the fix

sed -i '/length/d; /differs/d' /root/antizapret/update.sh
sed -i 's|https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv|https://app.assembla.com/spaces/z-i/git/source/master/dump.csv?_format=raw|g; s|https://raw.githubusercontent.com/zapret-info/z-i/master/nxdomain.txt|https://app.assembla.com/spaces/z-i/git/source/master/nxdomain.txt?_format=raw|g' /root/antizapret/update.sh

restore from a backup

clear
cd /root/antizapret
rm -rf update.sh
cp update.sh.backup update.sh
clear
ls -lah | grep "update.sh"

option 2 | md5sum

Внутри контейнера

backup

clear
cd /root/antizapret
rm -rf update.sh.backup
cp update.sh update.sh.backup
clear
ls -lah | grep "update.sh"

apply the fix

echo -n > /root/antizapret/update.sh
nano /root/antizapret/update.sh
#!/bin/bash
set -e

HERE="$(dirname "$(readlink -f "${0}")")"
cd "$HERE"

LISTLINK='https://app.assembla.com/spaces/z-i/git/source/master/dump.csv?_format=raw'
NXDOMAINLINK='https://app.assembla.com/spaces/z-i/git/source/master/nxdomain.txt?_format=raw'
curl -f --fail-early --compressed -o temp/list_orig.csv "$LISTLINK" || exit 1
iconv -f cp1251 -t utf8 temp/list_orig.csv > temp/list.csv
curl -f --fail-early --compressed -o temp/nxdomain.txt "$NXDOMAINLINK" || exit 1

LISTSIZE="$(curl -s "$LISTLINK" | md5sum | awk '{ print $1 }')"
[[ "$LISTSIZE" != "$(md5sum temp/list_orig.csv | awk '{ print $1 }')" ]] && echo "List 1 hash differs" && exit 2
LISTSIZE="$(curl -s "$NXDOMAINLINK" | md5sum | awk '{ print $1 }')"
[[ "$LISTSIZE" != "$(md5sum temp/nxdomain.txt | awk '{ print $1 }')" ]] && echo "List 2 hash differs" && exit 2

exit 0

restore from a backup

clear
cd /root/antizapret
rm -rf update.sh
cp update.sh.backup update.sh
clear
ls -lah | grep "update.sh"

option 3 | sha256sum

Внутри контейнера

backup

clear
cd /root/antizapret
rm -rf update.sh.backup
cp update.sh update.sh.backup
clear
ls -lah | grep "update.sh"

apply the fix

echo -n > /root/antizapret/update.sh
nano /root/antizapret/update.sh
#!/bin/bash
set -e

HERE="$(dirname "$(readlink -f "${0}")")"
cd "$HERE"

LISTLINK='https://app.assembla.com/spaces/z-i/git/source/master/dump.csv?_format=raw'
NXDOMAINLINK='https://app.assembla.com/spaces/z-i/git/source/master/nxdomain.txt?_format=raw'
curl -f --fail-early --compressed -o temp/list_orig.csv "$LISTLINK" || exit 1
iconv -f cp1251 -t utf8 temp/list_orig.csv > temp/list.csv
curl -f --fail-early --compressed -o temp/nxdomain.txt "$NXDOMAINLINK" || exit 1

LISTSIZE="$(curl -s "$LISTLINK" | sha256sum | awk '{ print $1 }')"
[[ "$LISTSIZE" != "$(sha256sum temp/list_orig.csv | awk '{ print $1 }')" ]] && echo "List 1 hash differs" && exit 2
LISTSIZE="$(curl -s "$NXDOMAINLINK" | sha256sum | awk '{ print $1 }')"
[[ "$LISTSIZE" != "$(sha256sum temp/nxdomain.txt | awk '{ print $1 }')" ]] && echo "List 2 hash differs" && exit 2

exit 0

restore from a backup

clear
cd /root/antizapret
rm -rf update.sh
cp update.sh.backup update.sh
clear
ls -lah | grep "update.sh"

1 Like

благодарю, недавно пофиксил по первому методу себе, где

lxc exec antizapret-vpn -- nano /root/antizapret/update.sh

стал

#!/bin/bash
set -e

HERE="$(dirname "$(readlink -f "${0}")")"
cd "$HERE"

LISTLINK='https://app.assembla.com/spaces/z-i/git/source/master/dump.csv?_format=raw'
NXDOMAINLINK='https://app.assembla.com/spaces/z-i/git/source/master/nxdomain.txt?_format=raw'
curl -f --fail-early --compressed -o temp/list_orig.csv "$LISTLINK" || exit 1
iconv -f cp1251 -t utf8 temp/list_orig.csv > temp/list.csv
curl -f --fail-early --compressed -o temp/nxdomain.txt "$NXDOMAINLINK" || exit 1

exit 0

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