Найти в Дзене
Warlock Invest

Решение как обойти замедление YouTube на Ubuntu, Linux Mint.

Существует несколько способов обойти замедление YouTube, но они не подошли на десктопную версию Linux Mint. Кроме использования VPN, но данный способ не безопасен (особенно бесплатные VPN).

На GitHub было найдено решение. https://github.com/bol-van/zapret

И так начнем устанавливать. Запускаем терминал. Логинемся под рутом

sudo su

Далее переходим в каталог

cd /opt
Потом клонируем с GitHub

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

Далее переходим в каталог

cd zapret

Далее запускам скрипт install_bin.sh и install_prereq.sh для установки и настройки необходимых пакетов

./install_bin.sh

./install_prereq.sh

Вас могут спросить о типе фаервола (iptables/nftables) и использовании ipv6. Это нужно для установки правильных пакетов в ОС, чтобы не устанавливать лишнее. Я выбрал iptables и запретил ipv6

Запустите blockcheck.sh. blockcheck.sh в начале проверяет DNS. Если выводятся сообщения о подмене адресов, то первым делом нужно решить эту проблему, иначе ничего не будет работать.
Решение проблемы DNS выходит за рамки проекта. Обычно она решается либо заменой DNS серверов от провайдера на публичные (1.1.1.1, 8.8.8.8), либо в случае перехвата провайдером обращений к сторонним серверам - через специальные средства шифрования DNS запросов, такие как dnscrypt, DoT, DoH.

./blockcheck.sh

Нас просят установить параметры, все оставляем по дефолту, кроме количества проверок. Рекомендую поставить не менее 3-х, желательно 5, если используете мобильного оператора для выхода в интернет.

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

ipv4 rutracker.org curl_test_http : tpws --split-http-req=method --oob
ipv4 rutracker.org curl_test_http : nfqws --dpi-desync=fake --dpi-desync-fooling=md5sig --dpi-desync-fake-http=0x00000000
ipv4 rutracker.org curl_test_https_tls12 : tpws not working
ipv4 rutracker.org curl_test_https_tls12 : nfqws --dpi-desync=fake,split2 --dpi-desync-ttl=12

Далее запускам скрипт install_easy.sh

./install_easy.sh

Далее спросят какой фаервол, выбираем iptables, т.е. - 1

select firewall type :
1 : iptables
2 : nftables
your choice (default : nftables) : 1
selected : iptables
* checking prerequisites
required utilities exist : curl ip6tables ipset iptables
* installing binaries
x86_64 is OK
installing binaries ...
linking : ../binaries/x86_64/ip2net => /opt/zapret/ip2net
linking : ../binaries/x86_64/mdig => /opt/zapret/mdig
linking : ../binaries/x86_64/nfqws => /opt/zapret/nfq
linking : ../binaries/x86_64/tpws => /opt/zapret/tpws
enable ipv6 support (default : N) (Y/N) ?
Оставляем по дефолту

Далее выбираем nfqws

select MODE :
1 : tpws
2 : tpws-socks
3 : nfqws
4 : filter
5 : custom
your choice (default : nfqws) :
selected : nfqws
NFQWS_OPT_DESYNC="--dpi-desync=fake --dpi-desync-ttl=0 --dpi-desync-ttl6=0 --dpi-desync-fooling=badsum"
NFQWS_OPT_DESYNC_HTTP=""
NFQWS_OPT_DESYNC_HTTPS=""
NFQWS_OPT_DESYNC_HTTP6=""
NFQWS_OPT_DESYNC_HTTPS6=""
NFQWS_OPT_DESYNC_QUIC="--dpi-desync=fake --dpi-desync-repeats=6"
NFQWS_OPT_DESYNC_QUIC6=""
do you want to edit the options (default : N) (Y/N) ? y
здесь нас просят отредактировать, соглашаемся - y

Откроется редактор и необходимо изменить параметры NFQWS_OPT_DESYNC_HTTP и NFQWS_OPT_DESYNC_HTTPS. Значения вставляем от теста полученного от blockcheck.sh, который сохраняли ранее в отдельный текстовый файл. Должно получится, типа такого

..edited..
NFQWS_OPT_DESYNC="--dpi-desync=fake --dpi-desync-ttl=0 --dpi-desync-ttl6=0 --dpi-desync-fooling=badsum"
NFQWS_OPT_DESYNC_HTTP="nfqws --dpi-desync=fake --dpi-desync-fooling=md5sig --dpi-desync-fake-http=0x00000000"
NFQWS_OPT_DESYNC_HTTPS="nfqws --dpi-desync=fake,split2 --dpi-desync-ttl=12"
NFQWS_OPT_DESYNC_HTTP6=""
NFQWS_OPT_DESYNC_HTTPS6=""
NFQWS_OPT_DESYNC_QUIC="--dpi-desync=fake --dpi-desync-repeats=6"
NFQWS_OPT_DESYNC_QUIC6=""
do you want to edit the options (default : N) (Y/N) ?
Далее выбираем WAN интерфейс и другие параметры

select WAN interface for nfqws operations. select ANY to operate on any interface.
WAN interface :
1 : ANY
2 : enp3s0
3 : lo
4 : wlp2s0
your choice (default : wlp2s0) :
selected : wlp2s0
enable http support (default : Y) (Y/N) ?
enable keep alive support only if DPI checks every outgoing packet for http signature
dont enable otherwise because it consumes more cpu resources
enable http keep alive support (default : Y) (Y/N) ?
enable https support (default : Y) (Y/N) ?
enable quic support (default : Y) (Y/N) ?
select filtering :
1 : none
2 : ipset
3 : hostlist
4 : autohostlist
your choice (default : none) :
selected : none
* installing zapret service
Created symlink /etc/systemd/system/multi-user.target.wants/zapret.service → /opt/zapret/init.d/systemd/zapret.service.
Created symlink /etc/systemd/system/zapret.service → /opt/zapret/init.d/systemd/zapret.service.
* downloading blocked ip/host list
setting high oom kill priority
clearing all known DNS caches
DNS is working
digging 6 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user-exclude.txt
mdig stats : 00:00:00 : domains=6 success=4 error=2
digging 0 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user-ipban.txt
mdig stats : 00:00:00 : domains=0 success=0 error=0
setting high oom kill priority
reloading ipset backend (forced-update)
Adding to ipset ipban : /opt/zapret/ipset/zapret-ip-user-ipban.txt
Adding to ipset nozapret : /opt/zapret/ipset/zapret-ip-exclude.txt
* installing zapret-list-update timer
Removed /etc/systemd/system/timers.target.wants/zapret-list-update.timer.
Removed /etc/systemd/system/zapret-list-update.timer.
Created symlink /etc/systemd/system/timers.target.wants/zapret-list-update.timer → /opt/zapret/init.d/systemd/zapret-list-update.timer.
Created symlink /etc/systemd/system/zapret-list-update.timer → /opt/zapret/init.d/systemd/zapret-list-update.timer.
* starting zapret service

press enter to continue

Ну вот и все! Жмем Ctrl+Shift+R на странице YouTube и наслаждаемся просмотром.