Zapret: обсуждение

Застали врасплох. Переходил на предыдущую версию. Опять вернулся на новую, поэтому задержался с ответом.
NFQWS_OPT:
–dpi-desync=fake,disorder2
–dpi-desync-autottl=2
–dpi-desync-fooling=md5sig
–new
–filter-tcp=443 ˂HOSTLIST˃
–dpi-desync=split
–dpi-desync-fooling=badseq
–wssize 1:6
MODE_FILTER :hostlist

Приставка заработала в такой конфигурации
NFQWS_OPT:–dpi-desync=split
–dpi-desync-fooling=badseq
–wssize 1:6

MODE_FILTER :hostlist
Правда,ничего больше из домашних девайсов не работает ,но хоть что-то…

Понятно, в ридмишки такого вроде нет.
А можешь пояснить как wssize не работает для хостлиста, но при этом работает с аутохост листом?
Имеется ввиду что недоступные сайты будут заполнять ауто лист? для чего, если он действует с самого начала соединения, когда еще нельзя принять решение о попадании в лист. Или что то другое имется ввиду?

Потому что hostlist, поэтому и не работает. Мне казалось уже все усвоили, что wssize и syndata с хостлистом не работает и не применяется на профилях, где есть хостлист и нет ауто-хостлиста.
Иначе бы это привело к неоднозначности алгоритма. --hostlist a --wssize 1:6 --new --hostlist b --wssize 2:4 --new --hostlist -c --new . при условии незнания хоста неясно применять ли и если да, то какой
Аналог суффикса - дописать --new --wssize 1:6
Суффикс именно это и делал

Имеется в виду, что если аутолист, то процессинг идет по нему вне зависимости от того , есть ли домен в этом самом листе. Потому что чтобы в аутолист что-то попало, нужно сначала попробовать без дурения. А если домен уже есть в аутолисте, то тем более надо выбирать этот профиль.
Возможно, здесь моя небольшая недодумка. Наверно, надо было при условии отсутствия имени хоста скипать даже autolist профиль и застревать на нем при наличии любого имени хоста. Но уже как сделано, так сделано. Менять значит ломать совместимость
В любом случае применение wssize никак не зависит от наличия чего-либо в хостлисте, потому что проверять нечего.

приходят новые люди и каждый раз наступают на эти грабли так и дальше будет, ридмишка очень большая, сходу там разобраться и к тому же всё запомнить фактически не реально для людей отдалённых от сетевых технологий.
Сделать бы какое-нибудь оповещение о нерабочих параметрах в строках было бы конечно мега круто, но я думаю тебе это не надо да и как это реализовать, если нет UI, оповещение в логах или в командной строке так же не поможет обычным пользователям, так что 0ая фаза так и будет мелькать, как и нерабочие параметры в udp которые полностью копируют с tcp.

то есть при аутохостлисте wssize начинает работать только если сайт недоступен? Я думал 0ая фаза сразу начинает применения даже если сайт доступен.

Будет и будет, я с этим уже смирился. Оно неизбежно. Везде соломку не подложишь, свои мозги всем не вставишь. Защита от дурака имеет свои пределы.

Нет, wssize начинает работать всегда , потому что его действие начинается прямо с SYN пакета и заканчивается либо пробеганием пакета с TLS ClientHello, либо plain http request, либо при наступлении условия --wssize-cutoff. Это такая длительная процедура терапии, не единомоментная.
В общем случае условия прекращения применения wssize могут смениться вместе с профилем, если мы работаем с произвольным протоколом, не основанном на http и tls.
Вопрос здесь именно в выборе профиля для пакета.
Если хоста у нас нет, то профили с hostlist не выбираются, но профиль с auto hostlist выбирается. И дальше начинает задействоваться его стратегия. Если там есть wssize, будет применен и он

Из тех , кто пользуется Вашей разработкой понимают, что они делают процентов 10. Остальные тупо копипастят конфиги у других. Я вхожу в эти 80%. Только вот все профили найденные в инете и из " коробки" у меня не работают. Я даже в Гугл раньше через VPN заходил. Тута IP “заграничный” , а “замедление” ЮТ похлесче ,чем в других регионах.

Я об этом пишу с самого начала. Что не получится просто так взять и …
Хакерская методика, борются с ней, не дают работать, условия разные везде, гарантий нет, нужно исследовать каждый случай. Нет одной таблетки.

А куда еще 10% потерялось? )
Как не горько это признавать, но вы правы. Постой пример в конфиге для дискорда:
--dpi-desync=fake --dpi-desync-udplen-increment=10 --dpi-desync-udplen-pattern=0xDEADBEEF

Никого тут ничего не смущает? Меня вот начало, с недавних пор, как я переключился с штудирования дурения TCP на аналогичное для UDP.

А ,что в общем можно сказать , что ЮТ на Zapret работает только с --wssize 1:6 и только на ТВ приставке. На компе под Виндой только первые 19 сек.,после перезапуска ролик можно просмотреть до конца. Старые Смарт ТВ ( Sams & LG) в полном ауте.

Остальные 10% только думают ,что они понимают ,что делают…

Да ну, милок, что ж за глупости ты удумал-то! Если хочешь, чтоб репозиторий вперёд не рос, так не храни там всякую часто меняющуюся требуху, блобы те же самые. Вообще, по-хорошему бы выкинуть оттуда и прочую мелочёвку вроде cygwin1.dll - меньше мусора, легче порядок навести.
Трунькай ты или ребейз делай, форс-пушь хоть сто раз - толку мало. Всё равно когда-нибудь весить он начнёт много мегабайт. Про мейнтейнеров - это всё ерунда, право слово. Есть код, а есть релизы, и это две большие разницы.
Репозиторий git ведь нужен разработчикам, кто там сам код правит, собирает, отлаживает. Ну, и для железок с хорошими ресурсами, где можно запуллить, собрать с -march=native -Os и радоваться. А для всех остальных, особенно с точки зрения безопасности, лучше релизы с бинарями давай. Вот украдёт кто твои пароли или ещё что случится - под тегами появится совсем не то, что ты ожидал. А с релизами да хешами коммитов спокойно - всё на месте останется.

Что до размера-то репозитория… ты ж сам теги оставил! Смотри сам:

$ git tag -l
v64
v65
v65.1
v66

А как думаешь, к каким коммитам эти теги привязаны? Правильно, к тем, что из master убрал, вместе со всей историей от начала веков. Хочешь облегчить репозиторий, так все теги сними, и локально, и на remote; рефлог подчисть, мусор собери, запушь, и будет тебе счастье - временно. Но пока блобы хранишь, беды всё равно не избежать…
А если хочешь дело как следует сделать, так возьми да верни историю назад, всё подчисть, и собери по-человечески, без блобов этих. Репозиторий как архивный пометь, название ему новое дай, и создавай свеженький - начиная с той версии, что больше разрастаться не будет. Вот тогда, глядишь, и порядок будет, и всем хорошо.

Для ТВ всегда надо начинать с curl теста на TLS 1.2.
Если он не проходит, значит старый ТВ скорее всего не заведется.
Дальше надо смотреть использует ли ТВ quic. Приложение ATV для трубы стандартное сильно отличается от обычного приложения для трубы. Мне его даже на VPN не удалось завести под эмулятором.

Вот только что человеку хотел написать - А что с квиком то? Он как бы точно есть на андроиде, да и браузер его по полной на ютубе использует. Если QUIC полностью заблочен (такое вообще где-нибудь бывает?) - так, думаю, как раз параметрами выше (только правильными) его можно разблокировать и пользоваться.

Окей, это немного проясняет ситуацию.
Но откуда в релизах будут появляться бинарики ? Их же нельзя туда залить самому ?
Надо писать actions. Который должен это собрать под кучу платформ, взять основное содержимое репы, добавить туда бинари в том виде, в котором они есть сейчас.
Мне постили всякие половинчатые решения для actions, но никто не сделал так, чтобы не ломать текущую логику. Они делали просто бинарики. Но накой они мне нужны сами по себе ?
Чтобы я теперь обьяснял всем, что нужно найти особые бинарики. А какие ? А куда положить ?

UPD. Тэги пересобрал руками по новым commit hash, релиз пересоздал на базе нового тэга.
Старые тэги в мусорку. Репа стала 18 мб

Так может для тех кто сам билдит, отлаживает и т.п. оставить все в этом репозитории, а все остальное - перекинуть в другой? В смылсе разделить никсовую и виндовую части. Многие же так делают.

Можно то можно, но этот новый репозиторий будет отличаться от старого только отсутствием C кода. Все остальное там быть должно. Шелл скрипты, иниты.
Придется поддерживать когерентность.
Мне кажется проще было бы сделать и правда через акшинс билд, но это сложно писать, я в этом вообще не разбираюсь. Пришлось бы щас заседать и изучать долго.
Там придется делать для разных архитектур linux, под BSD, macos, cygwin.
Если кто-то хотел бы действительно сделать полезное дело, кто шарит, это отдельная вполне независимая задача. Сильно бы помогло. Но только не так, как уже делали.