LINUX.ORG.RU

Убыстрить ютуб

 , ,


5

5

Делаю по инструкции, blockcheck в конце выдал

* SUMMARY
ipv4 youtube.com curl_test_http : working without bypass
ipv4 youtube.com curl_test_https_tls12 : tpws --split-tls=sni
ipv4 youtube.com curl_test_https_tls12 : nfqws --dpi-desync=split2 --dpi-desync-split-pos=50

Please note this SUMMARY does not guarantee a magic pill for you to copy/paste and be happy.
Understanding how strategies work is very desirable.
This knowledge allows to understand better which strategies to prefer and which to avoid if possible, how to combine strategies.
Blockcheck does it's best to prioritize good strategies but it's not bullet-proof.
It was designed not as magic pill maker but as a DPI bypass test tool.

press enter to continue

Сделал

root@ryzen:/opt/zapret# ./install_easy.sh 
* checking system
system is based on systemd
* checking executables
found architecture "x86_64"
* checking privileges
* checking readonly system
* checking location
running from /opt/zapret
* checking DNS
system DNS is working
* checking virtualization
running on bare metal
* stopping zapret service
Failed to disable unit: Unit file zapret.service does not exist.
Failed to stop zapret.service: Unit zapret.service not loaded.

select firewall type :
1 : iptables
2 : nftables
your choice (default : iptables) : 
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) ? 

select MODE :
1 : tpws
2 : tpws-socks
3 : nfqws
4 : filter
5 : custom
your choice (default : tpws) : 1
selected : tpws

TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3 --oob"
do you want to edit the options (default : N) (Y/N) ? Y

..edited..
TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3 --oob --split-tls=sni"
do you want to edit the options (default : N) (Y/N) ? 
select LAN interface to operate in router mode. select NONE for local outgoing traffic only.
WARNING ! This installer will not configure routing, NAT, ... for you. Its your responsibility.
LAN interface :
1 : NONE
2 : enp25s0
3 : lo
4 : virbr0
5 : virbr0-nic
your choice (default : NONE) : 
selected : NONE
select WAN interface for tpws operations. select ANY to operate on any interface.
WAN interface :
1 : ANY
2 : enp25s0
3 : lo
4 : virbr0
5 : virbr0-nic
your choice (default : ANY) : 2
selected : enp25s0

enable http support (default : Y) (Y/N) ? 

enable https support (default : Y) (Y/N) ? 

select filtering :
1 : none
2 : ipset
3 : hostlist
4 : autohostlist
your choice (default : none) : 2
selected : ipset

do you want to auto download ip/host list (default : Y) (Y/N) ? 
1 : get_user.sh
2 : get_antifilter_ip.sh
3 : get_antifilter_ipsmart.sh
4 : get_antifilter_ipsum.sh
5 : get_antifilter_ipresolve.sh
6 : get_antifilter_allyouneed.sh
7 : get_reestr_resolve.sh
8 : get_reestr_preresolved.sh
9 : get_reestr_preresolved_smart.sh
your choice (default : get_antifilter_ipsmart.sh) : 
selected : get_antifilter_ipsmart.sh
* 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 1 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user.txt
mdig stats : 00:00:00 : domains=1 success=0 error=1
digging 0 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user-ipban.txt
mdig stats : 00:00:00 : domains=0 success=0 error=0
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  416k  100  416k    0     0   438k      0 --:--:-- --:--:-- --:--:--  437k
setting high oom kill priority
reloading ipset backend (forced-update)
Adding to ipset zapret : /opt/zapret/ipset/zapret-ip.txt
Adding to ipset zapret : /opt/zapret/ipset/zapret-ip-user.txt
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
Failed to disable unit: Unit file zapret-list-update.timer does not exist.
Failed to stop zapret-list-update.timer: Unit zapret-list-update.timer not loaded.
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

Получаю на ютубе

Ошибка. Повторите попытку позже. Идентификатор воспроизведения: ...

И ЛОР тоже не грузится.

Попробовал по-другому

root@ryzen:/opt/zapret# ./install_easy.sh      
* checking system
system is based on systemd
* checking executables
found architecture "x86_64"
* checking privileges
* checking readonly system
* checking location
running from /opt/zapret
* checking DNS
system DNS is working
* checking virtualization
running on bare metal
* stopping zapret service
Removed /etc/systemd/system/multi-user.target.wants/zapret.service.
Removed /etc/systemd/system/zapret.service.

select firewall type :
1 : iptables
2 : nftables
your choice (default : iptables) : 
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) ? 

select MODE :
1 : tpws
2 : tpws-socks
3 : nfqws
4 : filter
5 : custom
your choice (default : tpws) : 3
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

..edited..
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="--dpi-desync=split2 --dpi-desync-split-pos=50"
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) ? 
select WAN interface for nfqws operations. select ANY to operate on any interface.
WAN interface :
1 : ANY
2 : enp25s0
3 : lo
4 : virbr0
5 : virbr0-nic
your choice (default : enp25s0) : 2
selected : enp25s0

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 : N) (Y/N) ? 

enable https support (default : Y) (Y/N) ? 

enable quic support (default : N) (Y/N) ? 

select filtering :
1 : none
2 : ipset
3 : hostlist
4 : autohostlist
your choice (default : ipset) :  
selected : ipset

do you want to auto download ip/host list (default : Y) (Y/N) ? 
1 : get_user.sh
2 : get_antifilter_ip.sh
3 : get_antifilter_ipsmart.sh
4 : get_antifilter_ipsum.sh
5 : get_antifilter_ipresolve.sh
6 : get_antifilter_allyouneed.sh
7 : get_reestr_resolve.sh
8 : get_reestr_preresolved.sh
9 : get_reestr_preresolved_smart.sh
your choice (default : get_antifilter_ipsmart.sh) : 
selected : get_antifilter_ipsmart.sh
* 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 1 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user.txt
mdig stats : 00:00:00 : domains=1 success=0 error=1
digging 0 ipv4 domains : /opt/zapret/ipset/zapret-hosts-user-ipban.txt
mdig stats : 00:00:00 : domains=0 success=0 error=0
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  416k  100  416k    0     0   511k      0 --:--:-- --:--:-- --:--:--  511k
setting high oom kill priority
reloading ipset backend (forced-update)
Adding to ipset zapret : /opt/zapret/ipset/zapret-ip.txt
Adding to ipset zapret : /opt/zapret/ipset/zapret-ip-user.txt
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/zapret-list-update.timer.
Removed /etc/systemd/system/timers.target.wants/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

Та же самая ошибка на ютубе, но ЛОР есть.

cast dmitry237 ValdikSS

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

UPD

Убыстрить ютуб (комментарий)

UPD 2

Придумал, как убыстрить ютуб во всей квартире и навсегда

★★★

Последнее исправление: Dimez (всего исправлений: 5)

Я делал по видео-инструкции с https://t.me/thmUNIX, все по порядку, как там показано. С поиском оптимальной стратегии заняло больше часа. На двух ноутах стратегия была разная.

Выбирал nfqws, iptables, интерфейс любой, поддержку ipv6 (без нее тормозило)

Сейчас все работает без проблем.

dmitry237 ★★★★
()
Ответ на: комментарий от frunobulax

Я не хотел конпелять, сделал чуть по-другому.

wget https://github.com/hufrea/byedpi/releases/download/v0.12/byedpi-12-x86_64.tar.gz
sudo tar -xzf byedpi-12-x86_64.tar.gz -C /opt/ByeDPI/
cd /opt/ByeDPI/
./ciadpi-x86_64 --port 1080 --disorder 1 --fake 0 --ttl 1 -A torst --tlsrec 1+s --debug 1
Затем в браузере настроил прокси: SOCKS 5, Узел SOCKS 127.0.0.1, порт 1080.

Ускорилось!

damix9 ★★★
() автор топика

blockcheck тестирует заблокированные сайты. Если вы тестировали в тот момент, когда сайт был замедлен (или просто работал), то вы получили какие-то результаты в вакууме.

Тестируйте на rutracker.org, например.

ValdikSS ★★★★★
()

Не нравится вся эта куча скриптов от zapret, взял один tpws

zapret.service

[Unit]
Description=TPWS
After=network-online.target

[Service]
ExecStart=tpws --user=username --port=1088 --tlsrec=sni --split-pos=1
ExecReload=/bin/kill -HUP ${MAINPID}
ExecStartPost=nft-add
ExecStopPost=nft delete table ip zapret

[Install]
WantedBy=multi-user.target

nft-add

#!/bin/bash

# гугл ip + добавить ip местного GGC
snip="8.34.208.0/20,8.35.192.0/20,23.236.48.0/20,23.251.128.0/19,34.0.0.0/15,34.2.0.0/16,34.3.0.0/23,34.3.3.0/24,34.3.4.0/24,34.3.8.0/21,34.3.16.0/20,34.3.32.0/19,34.3.64.0/18,34.4.0.0/14,34.8.0.0/13,34.16.0.0/12,34.32.0.0/11,34.64.0.0/10,34.128.0.0/10,35.184.0.0/13,35.192.0.0/14,35.196.0.0/15,35.198.0.0/16,35.199.0.0/17,35.199.128.0/18,35.200.0.0/13,35.208.0.0/12,35.224.0.0/12,35.240.0.0/13,57.140.192.0/18,64.15.112.0/20,64.233.160.0/19,66.22.228.0/23,66.102.0.0/20,66.249.64.0/19,70.32.128.0/19,72.14.192.0/18,74.125.0.0/16,104.154.0.0/15,104.196.0.0/14,104.237.160.0/19,107.167.160.0/19,107.178.192.0/18,108.59.80.0/20,108.170.192.0/18,108.177.0.0/17,130.211.0.0/16,136.22.160.0/20,136.22.176.0/21,136.22.184.0/23,136.22.186.0/24,142.250.0.0/15,146.148.0.0/17,152.65.208.0/22,152.65.214.0/23,152.65.218.0/23,152.65.222.0/23,152.65.224.0/19,162.120.128.0/17,162.216.148.0/22,162.222.176.0/21,172.110.32.0/21,172.217.0.0/16,172.253.0.0/16,173.194.0.0/16,173.255.112.0/20,192.158.28.0/22,192.178.0.0/15,193.186.4.0/24,199.36.154.0/23,199.36.156.0/24,199.192.112.0/22,199.223.232.0/21,207.223.160.0/20,208.65.152.0/22,208.68.108.0/22,208.81.188.0/22,208.117.224.0/19,209.85.128.0/17,216.58.192.0/19,216.73.80.0/20,216.239.32.0/19"


nft create table ip zapret
nft add chain ip zapret pre "{type nat hook prerouting priority dstnat;}"
nft add rule ip zapret pre ip daddr "{ $snip }" tcp dport "{80,443}" counter redirect to :1088
nft add chain ip zapret out "{type nat hook output priority -100;}"
nft add rule ip zapret out ip daddr "{ $snip }" tcp dport "{80,443}" counter skuid != username redirect to :1088
yandrey
()
Ответ на: комментарий от damix9

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

blockcheck прогонять бесполезно. он не предназначен для детектирования замедления сайтов, а обращение напрямую к домену 2 уровня googlevideo.com не предусмотрено сайтом

ValdikSS ★★★★★
()
Ответ на: комментарий от anonymous

нахер этот ваш tls тогда нужен, если это там ещё не реализовано

Реализовано сначала в ESNI, затем в ECH, после чего выяснилось что всякие рекламные движки от всяких гуглов и мобильные операторы читают это же поле и если его шифровать то ой, ломается таргетинг по рекламе и тд. После чего это быстро, решительно выпилили из хрома.

Вариант, как это реализовать взад, я привел тут

Obezyan
()
Ответ на: комментарий от Obezyan

На опенврт уже все сделали, не надо ничего велосипедить. Домены по спискам собирает dnsmasq в ipset, далее mwan3 роутит этот ipset куда надо (хоть в тоннель, хоть в проксю с xtls-reality, хоть куда). А в качестве апстрима у dnsmasq трудится stubby с пачкой DoT-серверов для надежности.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

На опенврт уже все сделали, не надо ничего велосипедить.

У меня miktotik, я на RouterOS сначала маркировал пакеты по SNI в layer 7, настроил DoH от клаудфлары прям на нем и роутил в туннель. Т.е. сделал примерно то что вы описали, но потом меня забодала реклама на ютубе и я написал проксю (ессно на Go т.к. обезьяна) чтобы от нее избавится.

Obezyan
()
Ответ на: комментарий от Obezyan

Можно без L7, у мокротыков есть своя разновидность ipset’ов. Работает по тому же принципу, что на опенврт - днс их заполняет, файрвол список сует куда надо. Ну для мокротыка это тоннель, не знаю как там с shadowsocks и подобным обстоит.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

Можно без L7

Можно конечно, но зачем создавать списки если можно на лету разбирать SNI? Хотя, это дело вкуса. Жаль что микротик не позволяет менять ClientHello в пакете (хотя чисто технически - может) и это их принципиальная позиция.

Obezyan
()
Ответ на: комментарий от Obezyan

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

pekmop1024 ★★★★★
()
Ответ на: комментарий от Obezyan

Реализовано сначала в ESNI, затем в ECH, после чего выяснилось что всякие рекламные движки от всяких гуглов и мобильные операторы читают это же поле и если его шифровать то ой, ломается таргетинг по рекламе и тд. После чего это быстро, решительно выпилили из хрома.

У меня в Chrome 127 работает ECH на вот этой тестовой страничке: https://defo.ie/ech-check.php. Так что утверждение о том, что его выпилили, не верно.

maxcom ★★★★★
()
Последнее исправление: maxcom (всего исправлений: 1)
Ответ на: комментарий от maxcom

У меня в Chrome 127 работает ECH на вот этой тестовой страничке

У меня 126.0.6478.127 (Официальная сборка), (64 бит) - не работает, он физически выпилен.

Если же у вас работает то и ютуб работает без тормозов без всяких ухищрений. Ведь работает же?

Obezyan
()
Ответ на: комментарий от Obezyan

У меня 126.0.6478.127 (Официальная сборка), (64 бит) - не работает, он физически выпилен.

Не понимаю что значит выпилен. Откуда такие выводы?

Если же у вас работает то и ютуб работает без тормозов без всяких ухищрений. Ведь работает же?

Нет, без ухищрений не работает.

maxcom ★★★★★
()
Ответ на: комментарий от maxcom

Не понимаю что значит выпилен. Откуда такие выводы?

Нет флага #encrypted-client-hello в chrome://flags/

Обновился до 127, на вашем примере стало показывать SSL_ECH_STATUS: success, но флаг так и не появился (может убрали и включили по умолчанию?). В последний разу меня работал ECH на версии 121.

Нет, без ухищрений не работает.

Жаль, значит на стороне ютуба (googlevideo.com) ECH не поддерживается.

Obezyan
()
Ответ на: комментарий от SkyMaverick

Я скомппелял, закинул как systemd сервис, а в FF настроил на него FoxyProxy. Надо в Ютуб: ткнул FoxyProxy - есть Ютуб, не надо: ткнул - нормально работает дальше. Удобненько.

В FoxyProxy шаблоны есть. Достаточно один раз шаблон настроить, и тыкать ничего не придётся - proxy только для совпадающих с шаблонами адресов включаться будет.

QsUPt7S ★★
()
Ответ на: комментарий от QsUPt7S

Тогда придётся выяснять, какие-там адреса у CDN-ок Ютуба и чего там режут (скорей всего всё, но тем не менее), чтобы шаблоны задать.

А так, согласен, можно и так настроить - тоже будет работать. FoxyProxy - вообще, довольно удобная штука.

SkyMaverick ★★★★★
()
Ответ на: комментарий от Maxlinus

привет можно увидеть конфиг как это было реализовано на RouterOS

Привет, я уже снес его за не надобностью. Вам потребуется впн туннель на микротике куда заворачивать отмаркированный трафик т.к. менять Client Hello он не умеет, а роутить в туннель - ютуб будет с рекламой, что мне не интересно.

По памяти, логика примерно следующая:

  1. создаете Layer 7 Protocol
/ip firewall layer7-protocol add name=youtube regexp="^.*(googlevideo.com|i.ytimg.com|youtube.com).*$"
  1. маркируете пакеты по нему в отдельный список адресов:
/ip firewall mangle add action=add-dst-to-address-list address-list=youtube address-list-timeout=none-dynamic chain=prerouting layer7-protocol=youtube log=no log-prefix="" 
  1. теперь этот список адресов маркируете для роутинга в свой vpn туннель (например, присвоив метку to-vpn)
/ip firewall mangle add action=mark-routing chain=prerouting dst-address-list=youtube new-routing-mark=to-vpn
  1. присваиваете эту же метку (to-vpn) роуту в свой VPN шлюз
/ip route add dst-address=0.0.0.0/0 gateway=vpn routing-mark=to-vpn

Это все можно натыкать в winbox мышкой просто смотря примеры команд что я привел.

Obezyan
()

Придумал, как убыстрить ютуб во всей квартире и навсегда

Нужен роутер с поддержкой FTP и рут-правами и, возможно, вставленной в него флешкой.

Пусть ip роутера - 192.168.1.1.

  1. Включаем FTP в веб-интерфейсе, проверяем - nmap 192.168.1.1, в выводе должна быть строчка
    21/tcp   open     ftp
  2. Подключаемся к этому серверу и выкладываем на него файл byedpi.sh такого содержания
    #!/bin/sh
    nohup /mnt/rwdir/ciadpi-mips --port 1080 --disorder 1 --fake 0 --ttl 1 -A torst --tlsrec 1+s --conn-ip 0.0.0.0 > /dev/null 2>&1 &
    
    
    и файл распакованный из архива https://github.com/hufrea/byedpi/releases/download/v0.12/byedpi-12-mips.tar.gz
  3. Логинимся на роутер под рутом по телнету
  4. Копируем выложенные файлы куда-нибудь на роутер, где есть rw файловая система, у меня это /mnt/rwdir/.
  5. /mnt/rwdir/byedpi.sh
  6. Проверяем опять nmap'ом, должна появиться строчка
    1080/tcp open     socks
  7. Выбираем в браузере ручную настройку прокси:
    Узел SOCKS  192.168.1.1
    Порт        1080
                SOCKS 5
damix9 ★★★
() автор топика
Ответ на: комментарий от Obezyan

У меня miktotik, я на RouterOS сначала маркировал пакеты по SNI в layer 7, настроил DoH от клаудфлары прям на нем и роутил в туннель. Т.е. сделал примерно то что вы описали, но потом меня забодала реклама на ютубе и я написал проксю (ессно на Go т.к. обезьяна) чтобы от нее избавится.

Сколько флешь памяти на руотере и сколько получился бинарник на Go?

Aber ★★★★★
()