Начали блокировать wrong-seq (часть 1) или как пробить непробиваемое (часть 2)

Окей, мои тесты для домена pbs.twimg.com (картинки на твиттере?).
DNS подсовывает 2 айпишника, 151.101.84.159 и 192.229.233.50.
Просто -9 - оба домена курлятся.

Спойлер
C:\Users\1>curl -sv -o NUL https://pbs.twimg.com --resolve pbs.twimg.com:443:192.229.233.50
* Added pbs.twimg.com:443:192.229.233.50 to DNS cache
* Hostname pbs.twimg.com was found in DNS cache
*   Trying 192.229.233.50:443...
* Connected to pbs.twimg.com () port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [308 bytes data]
*  CAfile: C:\Users\1\AppData\Local\Microsoft\WinGet\Packages\cURL.cURL_Microsoft.Winget.Source_8wekyb3d8bbwe\curl-8.10.0_1-win64-mingw\bin\curl-ca-bundle.crt
*  CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [88 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [341 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [155 bytes data]
* TLSv1.3 (IN), TLS handshake, Unknown (8):
{ [15 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [4875 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; CN=*.twimg.com
*  start date: Jul  8 00:00:00 2024 GMT
*  expire date: Jul  7 23:59:59 2025 GMT
*  subjectAltName: host "pbs.twimg.com" matched cert's "*.twimg.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
*   Certificate level 0: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 2: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://pbs.twimg.com/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: pbs.twimg.com]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.10.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: pbs.twimg.com
> User-Agent: curl/8.10.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 400
< accept-ranges: bytes
< age: 220
< cache-control: no-cache, no-store, max-age=0
< date: Sun, 15 Sep 2024 00:34:13 GMT
< last-modified: Sun, 15 Sep 2024 00:30:33 GMT
< perf: 7402827104
< server: ECS (ska/F705)
< server-timing: x-cache;desc= 400-HIT,x-tw-cdn;desc=VZ
< strict-transport-security: max-age=631138519
< timing-allow-origin: https://twitter.com, https://mobile.twitter.com
< x-cache: 400-HIT
< x-connection-hash: 5b80e4acb6bcc52c14567b39dd0f43bed926ad3ff42252cd32dd5f6f52c2f0d7
< x-content-type-options: nosniff
< x-response-time: 103
< x-transaction-id: 3901a766fcc948bb
< x-tw-cdn: VZ
< x-tw-cdn: VZ
< x-tw-cdn: VZ
< content-length: 0
<
{ [0 bytes data]
* Connection #0 to host pbs.twimg.com left intact

C:\Users\1>curl -sv -o NUL https://pbs.twimg.com --resolve pbs.twimg.com:443:151.101.84.159
* Added pbs.twimg.com:443:151.101.84.159 to DNS cache
* Hostname pbs.twimg.com was found in DNS cache
*   Trying 151.101.84.159:443...
* Connected to pbs.twimg.com () port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [308 bytes data]
*  CAfile: C:\Users\1\AppData\Local\Microsoft\WinGet\Packages\cURL.cURL_Microsoft.Winget.Source_8wekyb3d8bbwe\curl-8.10.0_1-win64-mingw\bin\curl-ca-bundle.crt
*  CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [100 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [3055 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [300 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [37 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; CN=*.twimg.com
*  start date: Jun 24 00:00:00 2024 GMT
*  expire date: Jul 25 23:59:59 2025 GMT
*  subjectAltName: host "pbs.twimg.com" matched cert's "*.twimg.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
*   Certificate level 0: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 2: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://pbs.twimg.com/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: pbs.twimg.com]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.10.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: pbs.twimg.com
> User-Agent: curl/8.10.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 400
< perf: 7402827104
< cache-control: no-cache, no-store, max-age=0
< x-transaction-id: cce3ba376d4e162c
< timing-allow-origin: https://twitter.com, https://mobile.twitter.com
< strict-transport-security: max-age=631138519
< accept-ranges: bytes
< x-content-type-options: nosniff
< date: Sun, 15 Sep 2024 00:34:15 GMT
< x-cache: MISS, MISS
< x-tw-cdn: FT
< x-served-by: cache-lhr-egll1980068-LHR, cache-bma1666-BMA, cache-tw-ZZZ1
< server-timing: x-cache;desc=MISS, x-tw-cdn;desc=FT
< content-length: 0
<
{ [0 bytes data]
* Connection #0 to host pbs.twimg.com left intact

-9 --fake-gen 5 - один курлится, другой нет. Пролема связана с tls 1.2?

Спойлер
C:\Users\1>curl -sv -o NUL https://pbs.twimg.com --resolve pbs.twimg.com:443:151.101.84.159
* Added pbs.twimg.com:443:151.101.84.159 to DNS cache
* Hostname pbs.twimg.com was found in DNS cache
*   Trying 151.101.84.159:443...
* Connected to pbs.twimg.com () port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [308 bytes data]
*  CAfile: C:\Users\1\AppData\Local\Microsoft\WinGet\Packages\cURL.cURL_Microsoft.Winget.Source_8wekyb3d8bbwe\curl-8.10.0_1-win64-mingw\bin\curl-ca-bundle.crt
*  CApath: none
^C
C:\Users\1>curl -sv -o NUL https://pbs.twimg.com --resolve pbs.twimg.com:443:192.229.233.50
* Added pbs.twimg.com:443:192.229.233.50 to DNS cache
* Hostname pbs.twimg.com was found in DNS cache
*   Trying 192.229.233.50:443...
* Connected to pbs.twimg.com () port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [308 bytes data]
*  CAfile: C:\Users\1\AppData\Local\Microsoft\WinGet\Packages\cURL.cURL_Microsoft.Winget.Source_8wekyb3d8bbwe\curl-8.10.0_1-win64-mingw\bin\curl-ca-bundle.crt
*  CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [88 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [341 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [155 bytes data]
* TLSv1.3 (IN), TLS handshake, Unknown (8):
{ [15 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [4875 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; CN=*.twimg.com
*  start date: Jul  8 00:00:00 2024 GMT
*  expire date: Jul  7 23:59:59 2025 GMT
*  subjectAltName: host "pbs.twimg.com" matched cert's "*.twimg.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
*   Certificate level 0: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 2: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://pbs.twimg.com/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: pbs.twimg.com]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.10.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: pbs.twimg.com
> User-Agent: curl/8.10.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 400
< accept-ranges: bytes
< age: 124
< cache-control: no-cache, no-store, max-age=0
< date: Sun, 15 Sep 2024 00:32:37 GMT
< last-modified: Sun, 15 Sep 2024 00:30:33 GMT
< perf: 7402827104
< server: ECS (ska/F705)
< server-timing: x-cache;desc= 400-HIT,x-tw-cdn;desc=VZ
< strict-transport-security: max-age=631138519
< timing-allow-origin: https://twitter.com, https://mobile.twitter.com
< x-cache: 400-HIT
< x-connection-hash: 5b80e4acb6bcc52c14567b39dd0f43bed926ad3ff42252cd32dd5f6f52c2f0d7
< x-content-type-options: nosniff
< x-response-time: 103
< x-transaction-id: 3901a766fcc948bb
< x-tw-cdn: VZ
< x-tw-cdn: VZ
< x-tw-cdn: VZ
< content-length: 0
<
{ [0 bytes data]
* Connection #0 to host pbs.twimg.com left intact

Если подсунуть свой собственный фейк, то все работает (в т.ч. заблокированные ggc гуглвидео, т.к. брал от смежного домена). Тестил с пейлоадом от google earth, браузер лиса 130, квик и кибер выключены.

Спойлер

16030102930100028f030321379e6a640c0a8c2d079d9b7e0a4dcb3f484e05b88874405424107065be8921207bb250ba1e2a34c0edf4912caab401cc0b53a1a65ee65a9aee122292f7b53e5f0022130113031302c02bc02fcca9cca8c02cc030c00ac009c013c014009c009d002f00350100022400000015001300001065617274682e676f6f676c652e636f6d00170000ff01000100000a000e000c001d00170018001901000101000b00020100002300000010000e000c02683208687474702f312e310005000501000000000022000a000804030503060302030033006b0069001d00206ca38c787a687fff8caf55f3e5c6c070a4d895cea3deb34eed93bd26ba5860350017004104fe86e390f8f303d79d1bb58d3b81bd09ee29f7ad3efa7604bfcc87ffdab29d2527e7fdbaf2c47821e43435851c437de6ea66e7cb0e5343375081072fc7f71352002b00050403040303000d0018001604030503060308040805080604010501060102030201002d00020101001c00024001fe0d011900000100037f0020dab8fde49aad0c43473c588105e9ede434d4cc55df0d5309b2e6271db02e305f00ef83bcf7d0a8b5c7b3dbbd68bd450ff3de7f99807faa6c5d67d68ae10dd361d358385d6fdc4dba5aa5b55de185828c2e7bd53c99795289cddba4107f61a6dd24fdd94bae35908a0410734e0bb8ade5a96103696d200533290c33501e114206f323537c91f6e701f03b9487c28d33d89f82a3b2600963c6d6bd6e7e8cdc5d29d8add9b60097addedeaebfe35633d99205ef8b85293be99ffb7d75cb088012009aa51529d0c0cafb6ccfc5e4e84fb9c8581b75dce0465f2d4688a54ae2cc7146902cccd5d544e1afffcbb6748a168c7fc80364b4255c35843c22768e8f2b8dc75744b1b0f52a4682e5e537a2a9e82ee99a

-e2 --reverse-frag --wrong-seq в итоге использую. С wrong-chksum ломаются многие сайты. С -e1 тоже.

С --wrong-seq --fake-gen 5 отвалились заблокированные сайты с TLS 1.2
Просто с --wrong-seq все работает. Пробовал всякие опции вместо - fake-from-hex, увеличивал fake-resend ничего не помогает.

Дамп прилагаю
rezka_ag_tls12.pcapng (15,9 КБ)

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

--fake-gen 5 --fake-from-hex 160301FFFF01FFFFFF0303594F5552204144564552544953454D454E542048455245202D202431302F6D6F000000000009000000050003000000

Твиттер использует два типа серверов для контента - от edgecast и fastly. Попробуйте оба ByeDPI for NekoBox - #75 by meadow_seed

и пустые disorder2 не шлет, читайте внимательно, то что вы описали про жопа-пустой-голова-пустой - это disorder без 2-ки

Благодарю, все заработало. И ютуб и резка и видео на Х. Вопрос - надолго ли? Народ уже это значение HEX по всему инету растащил, думаю его бан - лишь вопрос времени

Так речь и шла про disorder. Читайте всю ветку постов.

Ну изменишь пакет на другую хрень.
Я ржу, откуда Валдик вытащил hex
image
Вдруг на той стороне кто захочет посмотреть пакет, весьма удивится :sweat_smile:

я прочитал ваш пост, там disorder2
их 2 дисордера
disorder и disorder2
я не к тому, что придираюсь, сложилось ощущение, что вы не поняли, что их 2
в первом есть фейк пакеты с пустыми данными, а во втором их нет, только обратная фрагментация

Еще актуально? 1_russia_blacklist_YOUTUBE.pcap (2,6 МБ)
На самом деле все ggc не отваливаются, поспешный вывод, просто на новых длинных видео бывают паузы по несколько минут.

Я в курсе что их два.

Ну, вроде, всё в порядке в вашем дампе, соединение есть, данные передаются.

Поначалу в логе браузера все соединения с нашими и зарубежными ggc красные. Через несколько минут один из локальных ggc начинает отвечать, видео оживает. С goodbyedpi.exe -e2 такого нет, т.к. зарубежные ggc доступны. Но возможно это мой частный случай. Просто буду использовать -e2

-6 сегодня (как обычно в 0:00 по Москве) тоже перестал работать.

Ну, кто пресетами пользуется, у того отлетает.
Уже давно все связанное с TCP очередями рискованно использовать, это слишком палевно.

После блокировки wrong-seq перестал работать и у меня Youtube. Покопался с настройками и Youtube заработал, настройки на скрине ниже

С этими настройками перестали работать часть заблокированных сайтов. Чтобы вернуть работу таким сайтам, надо включить wrong-seq или включить отправку фейков HTTP/HTTPS в значении 5 или включить авто-определение TTL. Однако с такими настроками Youtube перестаёт работать (работать начинает если включить отправку фейков HTTP/HTTPS в значении 2). То есть надо постоянно менять настройки, либо Youtube либо остальное.

Можно как то всё совместить ? Проблема думаю в TTL, только почему авто-определение TTL ломает Youtube (в первый день блокировки wrong-seq, автопределение помогало работать всем сайтам).

Скачай блокчек запрета, посмотри варианты и перенеси в gdpi.
То что у тебя это -e 2 -f 2 --reverse-frag. Этот конфиг работает уже давно.

Это к автору лаунчера, на обычной GDPI все давно работает с выходом новой версии

Заработала отлично с настройками 1_russia_blacklist_YOUTUBE_ALT

С 1_russia_blacklist_YOUTUBE тоже можно сказать работало, но некоторые сайты давали ошибку

Код ошибки: SSL_ERROR_PROTOCOL_VERSION_ALERT

    Страница, которую вы пытаетесь просмотреть, не может быть отображена, так как достоверность полученных данных не может быть проверена.
    Пожалуйста, свяжитесь с владельцами веб-сайта и сообщите им об этой проблеме.

Этот веб-сайт может не поддерживать протокол TLS 1.2 — минимальную версию, поддерживаемую Firefox.

Все верно, -9 из просто YOUTUBE содержит в себе --wrong-chksum который ломает некоторые сайты
В ALT используется -5 там нет этого параметра