Может ли данный способ оживить ech?
Создать свой comss dns и проксировать cloudflare-ech.com
Может ли данный способ оживить ech?
Создать свой comss dns и проксировать cloudflare-ech.com
нет, ech outer sni с днс не связан
Спасибо. Хорошо получилось. Вот только whois фейлится, если часто запросы отправлять. Зато результаты точнее, чем у системного whois. Системный whois почему-то для filezilla-project.org
возвращает netname: STUB-49-12SLASH15.
Могу рассказать как скомпилировать для Linux, там немного хитро. Ну, или спросите у ChatGPT.
Закатываю глаза: а если ещё и проверку http3?
Ну, с фейлами к ARIN я ничего сделать не смогу.
Насчет http3 не уверен. На данный момент утилита обращается только к ДНС и к whois сервису. Насколько мне известно, в них нет информации по поводу поддержки http3 ресурсом. Значит придется делать запрос непосредственно к целевому сайту. А он может быть заблочен или типа того. В итоге, чтобы получить плюс-минус объективный результат, придется сначала делать обычный запрос - чтобы узнать доступен ли сайт в принципе. Короче, морока. Не знаю, нужно ли такое переусложнение?
Насчет компиляции под линукс. У меня нет виртуалки или второй системы. Линукс есть на другом ноуте, но мне впадлу его включать. А выкладывать файл, который может даже не запустится ни у кого - ну такое. Надо всё-таки проверить работоспособность того, что накомпилировал. Поэтому и выкладываю только под винду.
Можно, конечно, загрузиться с флешки, но, опять-таки, мне впадлу.
Из под WSL собирается, писать код можно там же через vscode. Я собрал, но у меня выдает ошибку, но на Винде при этом работает .
DNS: https://dns.controld.com/comss
URL: intel.com
ERROR response received addr=https://dns.controld.com:443/comss proto=tcp status="requesting https://dns.controld.com:443/comss: Get \"https://dns.controld.com:443/comss?dns=AAABAAABAAAAAAAABWludGVsA2NvbQAAAQAB\": context deadline exceeded"
Critical error: can't finish DNS lookup: can't resolve 'intel.com': requesting https://dns.controld.com:443/comss: Get "https://dns.controld.com:443/comss?dns=AAABAAABAAAAAAAABWludGVsA2NvbQAAAQAB": context deadline exceeded
upd: а, всё норм, надо было таймауты подкрутить (timeout и timeout whois на шестерку выставил, хз норм нет, не шарю)
resolvee.zip (6,3 МБ)
Да скомпилить то я могу. Проблема в том, что мне надо включать другой комп, чтобы проверить работоспособность. Потому что непроверенное я выкладывать не хочу.
ну дык wsl тупо установить, go накатить туда, шо там проверять-то
Места нет на ноуте уже
Ведь прога может обращаться и к TLS резолверам и в обычных резолверах есть информация о http3, если отправить HTTPS запись.
dig -t https rutracker.org +short | grep h3
Если в ответе alpn=“h3,h2”, то h3 это оно.
Ну вот, например, ответ от резолвера. https://dns.google/resolve?name=www.google.com&rr_type=HTTPS&ecs=
На что тут смотреть? Я не вижу alpn=
Или это нужно именно DoT? DoH не сработает?
DoT и DoH необязательны, но и через них можно посмотреть. И через обычный DNS (UDP), если сделать HTTPS запись.
Видимо, dns.google возвращает не все записи. Вот, что dig показывает:
dig -t https rutracker.org
; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> -t https rutracker.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54838
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;rutracker.org
. IN HTTPS
;; ANSWER SECTION:
rutracker.org
. 263 IN HTTPS 1 . alpn=“h3,h2” ipv4hint=104.21.32.39,172.67.182.196 ech=AEX+DQBBNgAgACD74YZqyZEVewMdSfVXmeZegG6qwHUf9n++UZnZabTBLwAEAAEAAQASY2xvdWRmbGFyZS1lY2guY29tAAA= ipv6hint=2606:4700:3031::6815:2027,2606:4700:3034::ac43:b6c4
;; Query time: 215 msec
;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
;; WHEN: Sat Nov 09 18:34:15 +07 2024
;; MSG SIZE rcvd: 190
Более того, браузеры могут использовать запись из DNS и сразу коннектиться по HTTP3.
Нашел. Там действительно есть эта запись, даже от гугл.днс. А в браузере, через их сайт - нет. Странно.
Короче, хз. Вроде сделал, но alpn запись настолько редко встречается… Я её только у гугла и у сайтов с ech наблюдаю. Не уверен, что оно того вообще стоило.
ResolveAndWhois_1.3.zip (6,2 МБ)
Спасибо. http3 уже много где используется, но видимо не все анонсируют alpn. По идее, надо также отправлять запрос специальной сборкой curl:
curl --http3-only
Но это, конечно, сложно. Например, домен rr1---sn-aigl6nze.googlevideo.com
не имеет h3 записи, но по http3 соединяется.
Бывает даже, что главный сервер http3 не поддерживает, а его cdn соединяется. Например, v19-webapp-prime.tiktok.com
Но всё равно полезно знать хотя бы о явной поддержке http3 в dns. Ещё раз спасибо за труды.
Интересно, что tiktok.com
хостится на Amazon, www.tiktok.com
на Akamai, а v19-webapp-prime.tiktok.com
на Fastly.
А вообще-то информацию о h3 можно узнать из заголовков сервера при коннекте к нему.
Правда, эти два домена не возвращают их и там.
Так что есть 3 варианта:
Я, кстати, собрал uGet с libcurl/http3. Первая многопоточная качалка с поддержкой QUIC.
Всего-то вставил строчку curl_easy_setopt (curl, CURLOPT_HTTP_VERSION, 30);
в исходники и закомментил запрет проверки сертификатов.
Ждал помощи от ChatGPT, но у него лимиты истекли до следующих суток. В результате сам разобрался. Ну, конечно, ещё нужен shared curl с http3, у меня с quiche.
Самое главное нет размышлений на тему технологии создания своего “собственного” comss dns
Условия: есть арендованный зарубежный VPS.
Задача: создать свой DNS на базе VPS для открытия нужных сайтов прописанных в AdGuard Home такового вида:
[/example.com/example2.com/example3.com/]x.x.x.x
Вариант минимум - выдача адресов от DNS только для прописанных доменов на VPS для прокси. Для всех других сайтов DNS работать не будет.
Вариант максимум - выдача адресов от DNS как для прописанных доменов на VPS для прокси, так и для всех других сайтов только уже с реальными адресами без прокси.
То есть как сейчас работает сам comss.
Буду очень рад обсудить возможные способы реализации
Nginx sni proxy
Adguard home
уже оставлял сообщение в начале темы
Помогите пожалуйста разобраться.
Есть VPS с Adguard Home + Sing-Box.
В AGH прописано так:
94.140.14.14
94.140.15.15
[/canva.com/browserleaks.com/2ip.ua/2ip.ru/]127.0.0.1:443
В Sing-Box прописано так:
{
"dns": {
"servers": [
{
"address": "94.140.14.14",
"detour": "direct",
"strategy": "prefer_ipv4",
"tag": "dns-remote"
}
]
},
"inbounds": [
{
"domain_strategy": "prefer_ipv4",
"listen": "0.0.0.0",
"listen_port": 443,
"sniff": true,
"sniff_override_destination": true,
"tag": "direct-proxy",
"type": "direct"
}
],
"log": {
"level": "debug"
},
"outbounds": [
{
"tag": "direct",
"type": "direct"
},
{
"tag": "block",
"type": "block"
},
{
"tag": "dns-out",
"type": "dns"
}
],
"route": {
"final": "block",
"rules": [
{
"outbound": "dns-out",
"protocol": "dns"
},
{
"domain": [
"2ip.ru",
"2ip.ua",
"canva.com",
"browserleaks.com"
],
"outbound": "direct"
}
]
}
}
В Adguard Home уже на своем роутере прописано так:
[/2ip.ru/2ip.ua/browserleaks.com/canva.com/rutracker.org/]XX.XXX.XXX.XX (мой внешний IP VPS)
nslookup на роутере дает так:
traceroute to 2ip.ru (127.0.0.1), 30 hops max, 60 byte packets
1 localhost.localdomain (127.0.0.1) 0.058 ms 0.027 ms 0.026 ms
Почему AGH на VPS не передает запрос на Sing-Box, а отвечает точным адресом 127.0.0.1?