О том, что это за символы, я писал здесь. Сначала через wireshark или спец. проги (есть на форуме) получаем фейк в виде бинарного .bin файла, открываем его в двоичном (HEX) редакторе и копируем последовательность байт в 16-ичном формате для вставки в текстовый конфиг + добавляем теги.
Начальный bin фейк можно получить, наблюдая за браузером в wireshark (сложнее, но эффективнее) или консольные проги, написанные форумчанами, могут создать фейк, если просто ввести адрес.
Без ПК будут проблемы.
Некоторым VPN сервисам могут мешать мусорные J пакеты (их тогда всё равно надо указывать, но с количеством 0). А ещё зависание может быть, когда меняются параметры ТСПУ (бывает несколько раз в сутки) или временно прерывается интернет у вас или засыпает Амнезия. Может случиться так, что в таких случаях, до ТСПУ не дойдёт фейк и он узнает, что это VPN соединение, имхо.
Warp без мусорных не работает, а proton работает, но сейчас в клиенты добавляют уже awg 2.0 и они не работают без мусорных (wg tunnel 4.3.1 ошибка выскакивает со значениями 0)
На разных провайдерах могут быть разные схемы борьбы с Протоном. В случае РТ всё довольно легко разрешается. Достаточно подставить в старые конфиги AWG новую строку I1 из генератора AWG Dikoz (первый и второй варианты), и все опять работает. Действительно, именно ozon.bin отвалился.
У меня работают разнообразные комбинации Протона. На голландском сервере подключение получается и только по I1, и в смеси с J, на норвежском в комбинации с мусорными J работает, а голый I1 нет.
А на МГТС ничего не работает.
Все без мусора работает на рт, просто Квик надо делать несколько разных от почты и от рутуба или другие искать , вчера тестировал в запрете 2 Протон, не нужны ему мусор , хватает i1-i4
Это именно proton там не работает или в целом amneziawg 1.5 и 2.0? Если awg, то печально, ведь из бесплатных “брендовых” без лимитов по трафику больше ничего не остается. Подписки не вариант (левые сервера и отваливаются постоянно). Конфиги с сайта vpnbook, tor.
на МГТС (у меня бюджетная организация) не работает именно Протон; AWG работает, но не с quic-фейками (поскольку quic полностью прибит), а с фейками sip-пакетов.
Есть hide.me еще. В бесплатной версии без лимита по трафику, но с лимитом по скорости где-то 1 МБ/c. Если не для ютуба, то сойдет) В паре с запретом пока работает
Привет всем. Подскажите, как получить i1 для AmneziaVPN? Есть список доменов в белой зоне с помощью wireshark доставал quic initial, также это делал с помощью тулзы payloadGen + правильно указываю нужны формат для амнезии через конвертер. Но ничего не работает с протоновскими серверами — единственное, что работает это вытащить i1 из другого конфигуратора warp, но хочется разобраться как самому их делать. Буду рад, если кто-то из добрых людей объяснит…
ИИ говорит, что он payload добил нулями. Все последние I1 из генератора DIkoz он признал годными quic-initial, но отметил, что это какие-то пустышки от Xray для сайта www.google.com, которые используются по умолчанию. На I1 от ozon.bin он не сразу, но признал его таковым. В общем, довольно осведомленный ИИ, но на мою просьбу выдать что-нибудь для, например, pochta.ru выдавал постоянно что-то не то именно по формату, каждый раз извинялся и в конце концов выдал мне вот этот код на питоне. Вставьте, говорит, его в какой-нибудь python-онлайн, и получите требуемое.
Это не будет работать. У quic initial есть четкая структура, недостаточно просто перекодировать сни из строки в хекс и присобачить его к дефолтному хедеру - сни должен быть в server_name extension, а тот, в свою очередь, в tls clienthello. Это не говоря уже об отсутствии контрольной суммы и всего остального содержимого крипто пейлоада.
Это полный бред.
Почитайте хотя бы как устроен quic.
Там используется tls client hello без record layer.
Он затем пакуется в CRYPTO frame (хроме нарезает случайно на 20 кусков , перемежая паддингами, остальные - нет)
Потом это хозяйство шифруется через aes-gcm. key material получается особым образом через hkdf.
Если в 1 пакет tls не влезает из-за кибер, то еще и разбивается на несколько пакетов, в каждом свои CRYPTO frames с offset. Еще и перемешано может быть кусками между пакетами. В первом - конец, во втором - начало
Вы так просто питончиком раз два три без либ нифига не сделаете
Вам придется полностью сконструировать все описанное, правильно зашифровать и добавить нужные заголовки. Какие-то промежуточные варианты бесполезны, если DPI сечет именно SNI. Он будет расшифровывать quic обратно по стандарту, и если там какой-то ИИшный бред с конкатенацией на питоне, он это не расшифрует и белый список не сработает
Из-за сложности процесса функции заменить SNI и нет в zapret
изначальная задача была определить по значению I1, какой там используется SNI. А то как-то получается вслепую, срабатывает новый bin-файл, а под что маскируемся неизвестно. Эта задача не имеет решения?
Теперь по поводу замены SNI. Вот в github-проекте usque автор реализовал в консольной программе возможность при подключении к endpoint’у Cloudflare заменять SNI на такой, чтобы пустили. Это отлично срабатывает. Значит один программист может взять у другого нужный код и вставить в свою программу? Там, правда, есть нюанс, использование сторонних библиотек. Но такой мегамозг как ИИ, мне кажется, при правильном указании направления может сделать это за человека.
Если руками, то перегоняем hex в bin, отсылаем netcat, ловим шарком, раскрываем дерево CRYPTO, находим SNI. Или можно прогнать это через nfqws с --debug. Он покажет. Точно так же неткатом.
Я не спорю - все решаемо. Только это сложно и имеет вопросы, на которые не понятно как ответить.
Одно дело конструировать quic initial с ноля, а другое дело заменять.
Заменять сложно из-за произвольной фрагментации. Как сохранять фрагментацию, еще и меж-пакетную при условии увеличения размера кусков ? Можно, конечно, избыток засовывать в последний кусок, а недостаток снимать с последних, потом с предпоследних.
Но муторно это все. Либо нарушать фрагментацию, пересобирать все 1 куском, но тогда замененный quic не будет похож по внутренней структуре на оригинал
Тянуть чужой код - не вариант, если нужно сохранить компактность и согласованность решения. Не вариант и тянуть тяжелые либы. привлекательность EXEшника 3 мб куда меньше, чем 300 кб, причем увеличение из-за некритической функции
Тем более безумием выглядит подтаскивание GO кода в C проект. Это сразу монстр выходит
Для конструирования своего QUIC пакета гораздо проще применять связку curl + netcat, чтобы записать это в файл. Скрипт делается довольно легко. Нет никаких проблем сразу это перегнать в конфиг amnezia - echo, printf, xxd в помощь