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

Всё продолжит работать, контейнер автономен и не скачивает никакую информацию с веб-сайта.

Проверяйте работу DNS, в первую очередь. Если домены разолвятся через VPN, то смотрите маршрутизацию — возможно, что-то сломалось на хосте, например.
Если домены не резолвятся, см. kresd, его конфигурационные файлы и логи. Возможно, его убил oom-killer из-за перерасхода памяти.
Для работы контейнера нужно применять охапку патчей, если вы его только установили.

А с вашего сервера он вообще резолвится напрямую? Некоторые NS’ы блокируют диапазоны хостингов.
$ dig +short rt.pornhub.com @ns13.digicertdns.net.

Возможно, в кеше. Хотя TTL низкие, кеш бы давно протух. Не знаю, нужно разбираться.

А что с ним? Он и так работает.

На «голом» прокси такое сделать не получится. В комбайнах вроде v2ray можно реализовать, но с оговорками.

Tor не подключается, бесконечно стоит на bootstrapped 5%, для tor приходится использовать сторонние ВПН, а не “свою”

Сделал как вы сказали, но так и не работает


как используя эту конструкцию заворачивать резолвинг всех доменов .ru, .рф, .su (вроде все?) на один днс,
а всех остальных – на другой
?

так
добавить в конце
/etc/knot-resolver/kresd.conf

-- *.ru, *.рф, *.su
policy.add(
    policy.suffix(
        policy.STUB(
            {'77.88.8.1', '77.88.8.8'}
        ),
        policy.todnames(
            {'ru.', 'рф.', 'su.'}
        )
    )
)

-- OpenDNS
policy.add(policy.all(policy.FORWARD({'208.67.222.222', '208.67.220.220'})))

?

Актуализирую вопрос, не получил ответа

Похоже на правду.

Попробуйте прописать эту строку в самый (или почти самый) верх конфигурационного файла.
И не забудьте очистить кеш:
echo "cache.clear()" | socat - /run/knot-resolver/control/1

Так и не заработал


Адрес 192.168.104.1 разве не назначен VPN-интерфейсу внутри контейнера? Вы в knot-resolver указываете апстримом сам же knot-resolver, создавая кольцо запросов.

Просто понять не могу какой ip прописать в knot-resolver


У меня тоже были рандомные проблемы с серверами apple. Очень нестабильно работали обновления, apple music.

Добавил в /root/antizapret/config/include-hosts-custom.txt apple.com и mzstatic.com

У вас запущен AdGuard в качестве DNS-сервера на этом же сервере? На хосте (не в контейнере)?
Если он запущен в контейнере, который создаёт свой сетевой интерфейс, то укажите IP-адрес этого интерфейса (но он может меняться, см. настройки системы контейнеризации, в котором запускаете).
Если вы запускаете на хосте, то попробуйте указать внешний IP-адрес сервера.

Спасибо за ссылку. А что в итоге надо сделать? Из коробки у меня не работало. Даже на свежем rootfs.tar.xz. Сейчас apple music работает, а вот приложения из app store не скачиваются.

UP: прописал 1.1.1.1 в proxy.py, перезапустил контейнер - вроде стало лучше.

Нужно добавить исключение, как описано, например, здесь:

proxy.py править не нужно!

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

тут
Контейнер VPN АнтиЗапрета для установки на собственный сервер - antizapret.prostovpn.org / АнтиЗапрет на собственном сервере (self-hosted) - NTC
я так понимаю схема для домена третьего уровня, а
osxapps.itunes.apple.com
домен четвёртого

как было исправлено

?

Если вам нужно решить проблему с apple.com, то его не нужно для этого добавлять в список проксирования.
См. сообщение выше.

Проблема в том, что мы хостим DNS сервер в другой стране, что создает большое количество проблем с сайтами, которые используют DNS-based Geo-балансировку (а не anycast, что более логично), то есть такие домены резолвятся на ближайшие IP-адреса к вашему DNS-серверу за границей а не к вам, что может в целом замедлять работу даже незаблокированных сайтов.

Я в итоге пришел к такой конфигурации. В Москве (где я живу) я взял виртуалку и поднял там knot-resolver, который для незаблокированных сайтов форвардит DNS запросы на 1.1.1.1, а для заблокированных сайтов форвардит всё на мой собственный DNS сервер в Финляндию (самая ближайшая локация к Москве с пингом около 16мс), с него уже отдаются фейковые IP-адреса для заблокированных сайтов.

Иными словами нужно резолвить адреса там, где вы будете к ним обращаться.

Сейчас в списке заблокированных больше 400 000 доменов, у Вас knot нормально справляется с маршрутизацией каждого DNS-запроса по такой немаленькой таблице?
Сам эту задачку решаю, но пока что планировал в фоне логи запросов к своему DNS-серверу обрабатывать и корректировать маршруты, т.к. был уверен, что в real time не взлетит.

Работает хорошо, подгрузил через RPZ.
Правда при запуске около 20 секунд лагает)

workers: auto
logging:
  level: info
network:
  listen:
    - interface: wg0@53

cache:
  prediction: true

lua:
  script: |
    policy.add(
      policy.rpz(
        policy.FLAGS({'NO_EDNS', 'NO_0X20'}),
        '/config/domains.rpz',
        true
      )
    )

    policy.add(
      policy.rpz(
        policy.STUB('fd86:ea04:1116::1'),
        '/config/domains.rpz',
        true
      )
    )

    policy.add(policy.all(policy.STUB('1.1.1.1')))