[linux, BSD, MacOS, windows] zapret : средство противодействия DPI

Страницы :   Пред.  1, 2, 3 ... 39, 40, 41, 42  След.
Ответить
 

KarakAbama

Старожил

Стаж: 15 лет 4 месяца

Сообщений: 1261

KarakAbama · 28-Янв-25 12:08 (2 месяца 21 день назад)

Заранее извиняюсь, подскажите куда копать и что можно поставить на steam deck для подключения ютуба, возможно у кого-то уже есть опыт. Спасибо.
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 12 лет 11 месяцев

Сообщений: 1142

Dicrock · 28-Янв-25 12:59 (спустя 50 мин., ред. 28-Янв-25 12:59)

SPV82 писал(а):
Версия Андроида?
Старичёк 5.1
SPV82 писал(а):
Если мешает, то в термуксе есть тулза elf-cleaner для удаления неподдерживаемых ELF sections - можете попробовать прогнать бинарь через нее.
Не особо. Я банально aarh64 бинарь взял. Разницы никакой. Про elf-cleaner буду иметь ввиду, вот только с термуксом на старых вёдрах всё грустно.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 28-Янв-25 14:11 (спустя 1 час 11 мин., ред. 28-Янв-25 14:11)

На 5-м старичке в новом релизе с патчем по поводу клинера все еще так :
Цитата:
nfqws | head
WARNING: linker: head: unused DT entry: type 0x6ffffffe arg 0x32f8
WARNING: linker: head: unused DT entry: type 0x6fffffff arg 0x2
github version v70 (6fc4e75d890a3fdd79ea101502029d27a7a46d16)
zapret v70
    nfqws,tpws : проверка на модификацию листов не только по времени файла, но и по его размеру
    nfqws,tpws,ipset : возврат принудительной перезагрузки листов по сигналу HUP
    nfqws: ослабление сигнатуры распознавания wireguard протокола. len=148 and data[0]=1. Ранее проверялось начало пакета на байты 0x01000000.
    nfqws: применение seqovl в варианте split только к первому TCP сегменту запроса (TLS kyber)
    nfqws, blockcheck: runtime модификации TLS фейков через --dpi-desync-fake-tls-mod
    blockcheck: пакетный режим. переменные для задания ответов на все вопросы.
    blockcheck: параллельные запросы по попыткам
    install_easy: поддержка пакетного менеджера dnf
--dpi-desync-fake-tls-mod=padencap : Расширяется padding extension на размер передаваемого TLS Client Hello (включая многопакетный вариант с kyber). Если padding отсутствует, он добавляется в конец. Если присутствует - требуется, чтобы padding шел последним extension. Правятся все длины, чтобы создать видимость включения передаваемого TLS Client Hello в padding extension. Размер фейка не изменяется. Расчет идет на DPI, который не анализирует sequence numbers должным образом. Выполняется на каждый запрос. Работает в том числе с произвольными, но валидными, однопакетными TLS Client Hello фейками.
На некоторых провайдерах это обходит TLS1.3, но не 1.2
Цитата:
- checking winws --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=fake --dpi-desync-ttl=6
curl: (35) Recv failure: Connection reset by peer
UNAVAILABLE code=35
- checking winws --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=fake --dpi-desync-ttl=6 --dpi-desync-fake-tls=0x00000000
curl: (35) Recv failure: Connection reset by peer
UNAVAILABLE code=35
- checking winws --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=fake --dpi-desync-ttl=6 --dpi-desync-fake-tls-mod=rnd,rndsni,padencap
!!!!! AVAILABLE !!!!!
[Профиль]  [ЛС] 

Vladik-polosatik

Стаж: 14 лет 2 месяца

Сообщений: 743

Vladik-polosatik · 28-Янв-25 15:06 (спустя 54 мин.)

kx77
Для zapret-win-bundle изменений никаких, можно не обновлять?


Сообщения из этой темы [95 шт.] были выделены в отдельную тему Выделено из: [linux, BSD, MacOS, windows] zapret : средство противодействия DPI [5171734]
mpv777
[Профиль]  [ЛС] 

silentwatcher

Колония прокаженных

Стаж: 16 лет 6 месяцев

Сообщений: 451

silentwatcher · 28-Янв-25 21:10 (спустя 6 часов)

kx77
я несколько раз прочитал текст про flow offloading тут https://github.com/bol-van/zapret/tree/master/docs#flow-offloading и всё равно не до конца понял. у меня вопрос насчёт этого
Цитата:
Не обязательно пропускать весь трафик через offload. Можно исключить из offload соединения, которые должны попасть на tpws или nfqws. OpenWrt не предусматривает выборочного управления offload. Поэтому скрипты zapret поддерживают свою систему выборочного управления offload в OpenWrt.
правильно ли я понимаю что если у меня в конфиге написано
Код:
--filter-tcp=443 --dpi-desync=*** --dpi-desync-split-pos=*** --hostlist=/opt/zapret/lists/yt.txt
и выбран вариант hardware/software flow offloading в установочном скрипте то flow offloading не применяется ко всем доменам перечисленным в файле /opt/zapret/lists/yt.txt а ко всему остальному трафику включая например торенты применяется? или для активации этой системы выборочного управления flow offloading надо сделать ещё какие-то телодвижения? в конфиг ещё что-то написать например.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 28-Янв-25 21:30 (спустя 20 мин., ред. 28-Янв-25 21:30)

Достаточно в конфиге FLOWOFFLOAD включить.
Тогда он сам сделает цепочку с offload и правила с exemption для первых пакетов соединения, чтобы nfqws успел отработать.
Потом оно падает на offload правило, и весь дальнейший сеанс улетает из netfilter в offload
Поэтому скорость не портится на всех соединениях. И запретных, и нет.
В оригинале в openwrt первый пакет запускает offload, а если через zapret - может быть 10-й.
[Профиль]  [ЛС] 

SPV82

Стаж: 17 лет

Сообщений: 212


SPV82 · 29-Янв-25 14:08 (спустя 16 часов)

kx77 писал(а):
87319319На 5-м старичке в новом релизе с патчем по поводу клинера все еще так :
Цитата:
nfqws | head
WARNING: linker: head: unused DT entry: type 0x6ffffffe arg 0x32f8
WARNING: linker: head: unused DT entry: type 0x6fffffff arg 0x2
github version v70 (6fc4e75d890a3fdd79ea101502029d27a7a46d16)
5.0 у меня нет, проверил на 5.1 - в v70 нет варнингов: https://imgur.com/DjTLmNi
[Профиль]  [ЛС] 

silentwatcher

Колония прокаженных

Стаж: 16 лет 6 месяцев

Сообщений: 451

silentwatcher · 31-Янв-25 12:03 (спустя 1 день 21 час)

kx77
есть ли возможность посмотреть версию запрета отдельным параметром? я сейчас запускаю команду
Код:
binaries/aarch64/nfqws | grep version
но может быть можно как-то отдельно это вытаскивать? пробовал
Код:
binaries/aarch64/nfqws --version
но такую опцию он не распознаёт, и в списке возможных опций такого нет.
[Профиль]  [ЛС] 

i-no

Стаж: 18 лет 11 месяцев

Сообщений: 31


i-no · 31-Янв-25 12:06 (спустя 2 мин.)

Код:
nfqws version
Без дабл дэша. Можно подрезать, если нужны только цифры и т.п.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 31-Янв-25 12:06 (спустя 35 сек., ред. 31-Янв-25 12:06)

silentwatcher писал(а):
есть ли возможность посмотреть версию запрета отдельным параметром?
nfqws | head -n 1
[Профиль]  [ЛС] 

silentwatcher

Колония прокаженных

Стаж: 16 лет 6 месяцев

Сообщений: 451

silentwatcher · 31-Янв-25 12:25 (спустя 18 мин.)

не совсем по теме запрета но всё же - можно ли командами баша вытаскивать с сайта гитхаба номер самой новой версии запрета?
мне хочется сделать баш-скрипт для крона который будет сравнивать цифру версии вытащенную через
Код:
binaries/aarch64/nfqws | grep version | awk 'NR==1{print $3}' | sed 's/v//g'
и цифру версии на гитхабе - и если цифра на гитхабе больше то будет автоматически скачивать новую версию через
Код:
service zapret stop
cd /opt
wget $(curl -s https://api.github.com/repos/bol-van/zapret/releases/latest  | jq -r '.assets[] | select(.name | contains ("openwrt")) | .browser_download_url') -O zapret-latest.tar.gz
tar -xvzf zapret-latest.tar.gz
rm -v zapret-latest.tar.gz
cp -vr $(find -maxdepth 1 -name zapret-v* -type d)/* zapret/
rm -rfv $(find -maxdepth 1 -name zapret-v* -type d)
service zapret restart
крайне желательно чтобы c гитхаба вытаскивалась именно цифра и только она - чтобы баш оба номера версии воспринимал как float/int и позволял их сравнить какая больше. можно ли так сделать?
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 31-Янв-25 12:53 (спустя 27 мин., ред. 31-Янв-25 12:53)

Дернуть
https://api.github.com/repos/bol-van/zapret/releases/latest
и распарсить через jq
в openwrt есть jsonfilter
[Профиль]  [ЛС] 

silentwatcher

Колония прокаженных

Стаж: 16 лет 6 месяцев

Сообщений: 451

silentwatcher · 31-Янв-25 16:07 (спустя 3 часа, ред. 31-Янв-25 16:07)

kx77
а если в версии запрета будет точка например 70.1 то сравнение будет работать как сравнение float чисел или это уже будет считаться строкой?
и ещё вопрос - если я сделаю такой скрипт на баше
Код:
my_cpu_architecture=$(uname --machine)
current_version_on_router=$(/opt/zapret/binaries/$my_cpu_architecture/nfqws | grep version | awk 'NR==1{print $3}' | sed 's/v//g')
latest_version_on_github=$(curl -s https://api.github.com/repos/bol-van/zapret/releases/latest  | jq -r '.name' | sed 's/v//g')
echo $latest_version_on_github
echo $current_version_on_router
то он будет работать на любой машине? я правильно понял что на все имена в папке zapret/binaries это имена архитектур взятые из
Код:
uname --machine
?
или вывод uname --machine не совпадает с именами папок и надо делать список кейсов?
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 31-Янв-25 19:06 (спустя 2 часа 59 мин., ред. 31-Янв-25 19:06)

лучше все-таки tag_name использовать в jq
сравнение - как напишешь
Код:

V_CURRENT=$(/opt/zapret/nfq/nfqws | sed -nre "s/^github version (v[0-9\.]+).*$/\1/p")
[ -z "$V_CURRENT" ] && {
echo not github ver
exit
}
V_GIT=$(curl -s https://api.github.com/repos/bol-van/zapret/releases/latest  | jq -r '.tag_name')
[ -z "$V_GIT" ] && {
echo cannot get ver from github
exit
}
[ "$V_GIT" = "$V_CURRENT" ] ||  {
echo VER MISMATCH
}
Но можно и проще сделать. Качнуть embedded вариант, распаковать, сравнить hash
[Профиль]  [ЛС] 

silentwatcher

Колония прокаженных

Стаж: 16 лет 6 месяцев

Сообщений: 451

silentwatcher · 31-Янв-25 21:26 (спустя 2 часа 19 мин.)

у меня в последнее время какие-то беды с гитхабом, если скачиваю несколько раз подряд то скорость падает до диалапной - то ли ркн то ли гитхабовский антиддос старается. поэтому мне хочется проверять версию не качая лишнего. сравнение строк и обновление при несовпадении мне не нравится тем что человек может сам соберёт запрет до релиза с более новой версией чтобы потестить а скрипт запустится по крону и снесёт собранную версию и установит более старую потому что версии не совпадают - поэтому хочется чтобы в переменных отведённых под версии были именно числа которых можно сравнить на меньше-больше а не просто на совпадение.
а есть ли команда которой можно однозначное установить где запущен скрипт - на пк или на роутере? или можно просто запускать
Код:
uname --machine
и если выдаст x86_64 то запускать
Код:
cd /opt
sudo wget $(curl -s https://api.github.com/repos/bol-van/zapret/releases/latest  | jq -r '.assets[]  | .browser_download_url' | grep zapret-v[0-9\.]*.tar.gz | head -n 1) -O zapret-latest.tar.gz
sudo tar -xvzf zapret*.tar.gz
sudo rm -v zapret-latest.tar.gz
sudo cp -vr $(find -maxdepth 1 -name zapret-v* -type d)/* zapret/
sudo rm -rfv $(find -maxdepth 1 -name zapret-v* -type d)
а если uname --machine выдаст всё что не равно x86_64 то можно запускать
Код:
cd /opt
wget $(curl -s https://api.github.com/repos/bol-van/zapret/releases/latest  | jq -r '.assets[] | select(.name | contains ("openwrt")) | .browser_download_url') -O zapret-latest.tar.gz
tar -xvzf zapret-latest.tar.gz
rm -v zapret-latest.tar.gz
cp -vr $(find -maxdepth 1 -name zapret-v* -type d)/* zapret/
rm -rfv $(find -maxdepth 1 -name zapret-v* -type d)
или бывают роутеры с x86_64 архитектурой?
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 31-Янв-25 21:39 (спустя 13 мин.)

Можно проверить на openwrt
см /etc/os-release
Зачем такая автоматия по обновлению ?
Может ведь что-то сломаться, в новом релизе могут появиться несовместимые изменения.
Стоит ли так слепо апдейтить ? И зачем, если текущее работает ?
[Профиль]  [ЛС] 

silentwatcher

Колония прокаженных

Стаж: 16 лет 6 месяцев

Сообщений: 451

silentwatcher · 31-Янв-25 22:44 (спустя 1 час 4 мин.)

если честно мне просто лень каждый раз скачивать и распаковывать всё руками. даже если я не буду сажать этот скрипт в крон он полезен уже тем что делает все телодвижения по обновлению за меня.
а если что-то сломается - не беда, на гитхабе лежат старые версии. я не могу вспомнить ни одного случая когда что-то именно сломалось, разве что на новый формат конфиг-файла пришлось переучиваться, и то это заняло пару минут.
кроме того я помню осень когда настройки блокировки менялись как минимум раз в день, я тогда даже создавал фичреквест с автоматизацией подбора способа обхода блокировки и вставления его в конфиг, потому что я тогда после работы не ложился в кровать ютуб смотреть а прогонял блокчек вручную по 40-50 минут пока он все варианты переберёт. может дойдут руки всё-таки слепить кадавра из баша и awk который будет прогонять блокчек с заданными параметрами, скидывать его вывод во временный файл, а потом awk будет доставать оттуда рабочую стратегию, вставлять в конфиг (жаль что в конфиге это всё в одну строку стало, если бы каждая --new стратегия начиналась с перевода строки как раньше то было бы гораздо проще через awk находить место куда вставить новые параметры обхода) и делать service zapret restart.
сейчас конечно они вроде успокоились и пока что ютуб больше месяца работает на одном наборе параметров обхода, но такое может начаться снова в любой момент как только отмашку дадут.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 01-Фев-25 10:32 (спустя 11 часов, ред. 01-Фев-25 10:32)

Сейчас можно и многими строками писать, только инсталятор это причешет под одну строку
Он берет одну строку, разделяет на строки по --new, выдает в редактор, затем снова упаковывает в одну.
Так было сделать проще через sed, а иначе там совсем грустно становилось. И так пришлось скрипт для sed писать на много строк.
[Профиль]  [ЛС] 

silentwatcher

Колония прокаженных

Стаж: 16 лет 6 месяцев

Сообщений: 451

silentwatcher · 01-Фев-25 12:00 (спустя 1 час 27 мин., ред. 01-Фев-25 12:00)

многими строками это как? в конфиг можно вставить много строк начинающихся с NFQWS_OPT= потом выполнить service zapret restart и всё в одну строку превратится? просто скрипт install_easy.sh не подойдёт потому что он интерактивный. хотя может быть есть в баше есть механизмы которые позволяют и в интерактивные скрипты вставлять некие предопределённые значения?
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 01-Фев-25 12:43 (спустя 42 мин.)

Конфиг правит только install_easy, остальные только его читают.
posix shell позволяет писать многострочные переменные
A="
privet
vasya
eto
petya"
[Профиль]  [ЛС] 

silentwatcher

Колония прокаженных

Стаж: 16 лет 6 месяцев

Сообщений: 451

silentwatcher · 01-Фев-25 14:33 (спустя 1 час 50 мин.)

ну то есть если я запущу
Код:
sed 's/--new /--new \n/g' /opt/zapret/config && service zapret restart
то у меня не сломается ничего? я имел в виду умеет ли не шелл а сам запрет свежей версии читать такие переменные?
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 01-Фев-25 15:39 (спустя 1 час 5 мин.)

шелл умеет, инсталятор умеет замещать такие переменные, но замещение идет на однострочный вариант
[Профиль]  [ЛС] 

silentwatcher

Колония прокаженных

Стаж: 16 лет 6 месяцев

Сообщений: 451

silentwatcher · 01-Фев-25 18:43 (спустя 3 часа)

не, я имел в виду вот что - по дефолту после --new стоит пробел, вот я вместо пробела поставил перевод строки а пробел удалил (вручную, без шелла, просто в nano открыл файл) и выполнил service zapret restart
то есть я инсталлятор не запускал, а перезапустил запрет средствами самой openwrt.
после такого параметры до и после перевода строки будут выполняться как раньше? не будет каких-нибудь сегфолтов или что-то в этом роде?
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 01-Фев-25 18:51 (спустя 8 мин.)

Шелл меняет переводы строк на пробел. Если сделать пример с васей-петей и потом echo $A, то будут все слова через пробел.
Если будут сегфолты - обязательно вылечим =)
[Профиль]  [ЛС] 

silentwatcher

Колония прокаженных

Стаж: 16 лет 6 месяцев

Сообщений: 451

silentwatcher · 01-Фев-25 21:46 (спустя 2 часа 54 мин., ред. 09-Фев-25 11:54)

весь день промучился с синтаксисом awk, сшил из кусков со стековерфлоу вот такого кадавра.
по идее он должен
1) доставать адрес ггц
2) запускать блокчек с именно этим адресом
3) сохранять вывод блокчека в файл
4) парсить вывод блокчека на предмет наличия работоспособной стратегии обхода
5) находить место в конфиге запрета где находится строка вида
--filter-tcp=443 СТАРАЯ_СТРАТЕГИЯ_ОБХОДА --hostlist=/opt/zapret/lists/yt.txt --new

6) менять старую стратегию на ту что он нашёл в файле с выводом блокчека
7) перезапускать запрет.
надеюсь кто-нибудь ещё его попробует потестировать, может я где-то ошибся, awk и sed я изучаю первый день.
скрытый текст
awk это совершенно жопоразрывающий язык с самым непонятным синтаксисом который я видел. хуже справочных материалов я не видел ни по чему другому.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 817


kx77 · 01-Фев-25 22:42 (спустя 56 мин., ред. 01-Фев-25 22:42)

Рекомендую дописать BATCH=1
Чтобы он никогда не просил надавить на конкретный или эни кей .
Если это не сделать, он в конце попросит нажать эни кей. Сделано для тех, кто открывает не в терминале, а из проводников
PARALLEL работает только с множественными попытками, стратегии или домены параллельно он не тестирует
[Профиль]  [ЛС] 

vlad_ns

Top Bonus 05* 10TB

Стаж: 15 лет 1 месяц

Сообщений: 1788

vlad_ns · 02-Фев-25 09:35 (спустя 10 часов)

Я тоже до определённого момента "мучился", что приходишь с работы, а ют не работает. Но автор сказал что стратегии не стабильны, при таком количестве попыток, у меня было две. Потом я увеличил по 4-х, стало намного лучше (можно сказать небо и земля). В принципе за месяц ещё не подводил способ. Единственное осталось (теперь изредка, реже чем спрашивал ранее), что видео на какой-то секунде перестаёт подгружаться, нужно обновить страницу.
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 12 лет 11 месяцев

Сообщений: 1142

Dicrock · 09-Фев-25 02:41 (спустя 6 дней)

Есть рабочая стратегия для мобильного МТС ? Что-то никак не могу пробиться через блокировки :|
[Профиль]  [ЛС] 

#silence#

Старожил

Стаж: 16 лет 6 месяцев

Сообщений: 1914

#silence# · 09-Фев-25 08:13 (спустя 5 часов)

Поставил последнюю версию 1.9, но она все равно предлагает обнову скачать при запуске. Что я делаю не так? Или у меня частично 1.4 подхватилась как-то?
[Профиль]  [ЛС] 

RogerWilko

Стаж: 15 лет 1 месяц

Сообщений: 11678

RogerWilko · 09-Фев-25 09:28 (спустя 1 час 15 мин.)

Dicrock писал(а):
87372940Есть рабочая стратегия для мобильного МТС ? Что-то никак не могу пробиться через блокировки :|
Для Android?
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error