Установка byedpi в контейнер docker на Synology

Всем привет!!!

В этом материале я покажу как установить byedpi в контейнер docker на Synology и возможно это поможет комфортно смотреть YouTube в браузере.

YouTube player

Есть часть 2 ниже

Вы все знаете про проблему с YouTube. Хорошо это или плохо я высказываться не буду, но YouTube не запрещен, а значит способы обхода его замедления вполне законны. Поэтому воспользуемся byedpi, который установим в контейнер docker на Synology и настроим браузер работать через этот инструмент.

byedpi – небольшая программа, которая внедряет некоторые методов обхода DPI. Программа является локальным прокси-сервером SOCKS.


### Дополнительная информация о DPI, источники идей  
https://github.com/bol-van/zapret/blob/master/docs/readme.txt  
https://geneva.cs.umd.edu/papers/geneva_ccs19.pdf  
https://habr.com/ru/post/335436  

Как работает этот метод:

В простейшем случае вы имеете дело с пассивным DPI. Он может считывать трафик из потока и инжектить свои пакеты, но не способ блокировать проходящие пакеты. Если запрос является «плохим», пассивный DPI отправляет пакет RST, который может быть дополнен пакетом HTTP Redirect. Если фейковый пакет инжектируется только для клиента, можно использовать команды iptables для сброса пакета RST или перенаправления на заглушку с определёнными условиями, подобранными индивидуально для каждого провайдера. Таким образом, мы можем обойти последствия срабатывания триггера запрета. Однако если пассивный DPI отправляет пакет RST так же и серверу, вы не сможете ничего с этим сделать. Ваша задача — предотвратить срабатывание триггера запрета, и одних только iptables будет недостаточно. Этот проект направлен на предотвращение срабатывания запрета, а не на устранение его последствий.

Активный DPI устанавливается непосредственно в провод и может дропать пакеты по различным критериям, включая распознаваниеTCP-потоков и блокировку любых пакетов, принадлежащих потоку.

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

https://github.com/bol-van/zapret

Автор предупреждает, что этот метод может не работать по причине:

Чтобы проверить, можно ли обойти DPI вашего интернет-провайдера, сначала убедитесь, что ваш провайдер не отравляет ответы DNS, включив опцию “Secure DNS (DNS over HTTPS)” в вашем браузере.

  • Chrome: Настройки → Конфиденциальность и безопасность → Использование безопасного DNS → С: NextDNS
  • Firefox: Настройки → Настройки сети → Включить DNS через HTTPS → Использовать провайдера: NextDNS
https://github.com/ValdikSS/GoodbyeDPI?ysclid=lze1osgn5j61486634

Я же пошел немного другим путем. У меня есть установленный Adguard Home и в нем я просто указал использовать только зашифрованные DNS методы получения информации. Как установить Adguard Home я рассказывал в этой статье: Установка Adguard Home и разблокировка Docker Hub, ClamAV и TMDB

В общем в конфигурации Adguard Home в настройках DNS должны быть указаны только защищенные соединения без обычных IP адресов.

https://dns.adguard-dns.com/dns-query
https://dns.quad9.net/dns-query
tls://dns.adguard.com
#Niderlandy
tls://dot.nl.ahadns.net
#CloudFlare
tls://1.1.1.1

Теперь начнем установку byedpi в контейнер docker на Synology. Открываем Container Manager, переходим в образы, действия, импорт и выбираем добавить с URL

В открывшееся окно вставляем URL https://hub.docker.com/r/tazihad/byedpi

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

После скачивания образа выбираем его и нажимаем запустить

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

Укажите порт 1080 вручную или тот который вам нужен. Менять можно только порт с лева, с права не меняйте.

Мотаем ниже и оставляем сеть bridge а в параметр команды можно вписать несколько вариантов. Я использовал такой:

--disorder 1 --fake 0 --ttl 1 -A torst --tlsrec 1+s --debug 1

Если знаете другие варианты, то пишите в комментариях.

Выглядеть это будет примерно так:

Проверяем что все сделали как требовалось и жмем выполнено

На вкладке контейнеры будет отображаться запущенный контейнер byedpi

Теперь открываем браузер. Я выбрал Firefox. Возможно не во всех браузерах это можно настроить. В общем нужно прописать прокси сервер Socks5. Где IP адрес это адрес вашего Synology NAS и порт 1080 или тот который вы указывали в настройках контейнера.

На этом все. Теперь можно смотреть YouTube через byedpi установленный на Synology NAS в контейнере docker и в теории все должно работать хорошо.

Ресурсов контейнер byedpi потребляет не много

Теперь вы знаете как установить byedpi в контейнер docker на Synology


Часть 2

Из комментария Владимира – https://bafista.ru/ustanovka-byedpi-v-kontejner-docker-na-synology/#comment-4758

YouTube

YouTube player

ВК

Все ребята, я разобрался как только YouTube во всей домашней сети (в том числе и с ТВ) завернуть в byedpi через свой роутер и нормально смотреть на всех девайсах

В adguard-home в Настройках DNS добавить строку ([/youtubei.googleapis.com/googlevideo.com/]https://dns.adguard-dns.com/dns-query) проанализировав ответы DNS по этим доменам, я выбрал просто оптимальный по ответу DNS (в помощь adguard-home, смотрим кол-во A записей в ответе и задержки) почему я включил этот пункт, т.к. у меня в списке DNS есть https://dns.controld.com/comss и его ответы по YouTube сервисам мягко сказать не дружелюбные.

Собрал контейнер byedpi через docker-compose (Можно в синолодже и в UI натыкать настройки, но мне так удобней), вот файл

version: “3”
services:
  byedpi:
    image: tazihad/byedpi:latest
    container_name: byedpi_app
    volumes:
      - ./host.crack:/host.crack
    command: --hosts /host.crack --disorder 1 --fake 0 --ttl 1 -A torst --tlsrec 1+s --debug 1 --auto=none
    ports:
      -  1080:1080/tcp
    restart: unless-stopped


Если обратили внимание, то в command появился файл host.crack в который записали домены, запросы к которым будут крякаться byedpi, я указал так

youtubei.googleapis.com
googlevideo.com
youtube.com
ytimg.com
youtu.be
ggpht.com


а инструкция –auto=none говорит, что остальные пакеты не крякаем
Т.е. данный контейнер будет хакать только пакеты адресованный в указанные выше домены.
Но этом подготовка на NAS Synolodgy завершена

Переходим к настройки роутера (у меня Keneetic, аналогичную манипуляцию можно провести и на других моделей с openWRT прошивкой и не только, см инструкции по своим роутерам):
Нужно поставить прокси клиент из приложения (для openwrt через opkg)Настроить подключение до нашего прокси byedpi (протокол socks5 + обязательно галочку Использовать для выхода в интернет) Создать новую политику доступа в приоритетах подключения, назовем Proxy и туда на 1 место помещаем наше новое подключение см п.2 и на 2 место наше Интернет подключение В новую политику доступа в Интернет включаем устройства домашней сети, на которых нужен БЫСТРЫЙ YouTube
И ВСЕ работает


Подписаться
Уведомить о
guest
169 Комментарий
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии