mirror of
https://github.com/ameshkov/dnslookup.git
synced 2026-04-27 14:36:05 +03:00
[GH-ISSUE #29] Can not use tls://94.140.14.14 in windows7 #24
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/dnslookup#24
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Lanius-collaris on GitHub (Jul 31, 2022).
Original GitHub issue: https://github.com/ameshkov/dnslookup/issues/29
./dnslookup github.com tls://94.140.14.14error:
@ameshkov commented on GitHub (Aug 3, 2022):
This is an old golang issue and I don't think they'll fix it since Windows 7 is not supported anymore
@sergeevabc commented on GitHub (Jun 7, 2025):
Андрей! Вы с языком Go на ты, ваши решения используют в разных проектах. Авось вы и могли бы создать патч, исправляющий ошибку при подключении по айпи?
Ведь все без исключения программы на Go не могут соединиться с DoH/DoT-серверами по айпишнику под Windows 7. Они там в своём зазеркалье вольны считать эту ОС сколь угодно устаревшей, но вообще-то мир живёт не по расписанию Microsoft, а та же утилита
digна языке С++ прекрасно соединяет.В частности, российские пользователи DNSCrypt жаловались на невозможность соединиться с Google и Yandex DoH. А всё потому, что разработчик поспешил убрать упоминание о доменах из штампов этих серверов, оставив голые айпишники.
Пожалуйста, не поленитесь заглянуть в код, оцените своим опытным взглядом.
@ameshkov commented on GitHub (Jun 9, 2025):
@sergeevabc да дело не в моем коде, а в том, что Go больше не поддерживает Windows 7.
Единственный вариант - использовать более старые версии программ, собранные более старыми версиями Go.
UPD: А, ну вы ж так и делаете. Ну неприятный баг, да. Если мне не изменяет память, по доменному имени соединять должно.
@sergeevabc commented on GitHub (Jun 9, 2025):
Андрей, кажется, вы прочитали написанное мной в спешке или с полуоткрытыми глазами, что бывает у делового человека утром в понедельник, но давайте попробуем ещё раз, ибо речь идёт о важном.
У Go существует давний косяк. Он заключается в том, что под Windows 7 нельзя подключиться к DoH/DoT-серверам по одному лишь айпишнику, нужно указывать домен. Иначе ошибка сертификата. Это не ваш косяк, не косяк вашей программы, это косяк Go. Но вы — опытный программист, который в силах разобраться в ситуации и тем самым сделать мир лучше. И я прошу вас если не исправить косяк, то хотя бы посмотреть код Go и сказать, сложно ли исправить.
@ameshkov commented on GitHub (Jun 9, 2025):
Он давно исправлен в новых версиях Go, которые с Win7 не работают. Я к сожалению не могу это исправить ВНЕ Go просто в самой программе.
@sergeevabc commented on GitHub (Jun 9, 2025):
Андрей, либо мы говорим о разных косяках, либо я не знаю, что и думать. Есть же свежий Go (сейчас это версия 1.24.4), который работает под Windows 7. Ниже с его помощью я компилирую любую Go-программу с сетевым компонентом, пытаюсь соединиться с DoH/DoT-сервером по айпишнику и получаю ошибку. Косяк!
Тоже самое я вижу, если взять старую версию программы, скомпилированную официально с помощью какого-нибудь Go 1.21. Тут налицо косяк. Помогите его найти, пожалуйста.
@ameshkov commented on GitHub (Jun 11, 2025):
Все, сейчас врубился.
Что можно попробовать если очень нужен именно IP-адрес в домене:
dnslookupвызывать с VERIFY=0 (но это не со всеми Go-программами поможет)::ffff:94.140.14.14@sergeevabc commented on GitHub (Jun 11, 2025):
Андрей, я уже писал, что существуют программы на других языках, которые без проблем подключаются к DoH-серверу по голому айпишнику под Windows 7.
C и C++
Проверяем утилиты curl и dig…
…и популярные браузеры Chrome (109) и Firefox (135).
Rust
Проверяем dns-over-https.
Python
Проверяем dnspython.
Вывод
Корректная работа упомянутых программ под Windows 7 убеждает меня в том, что языку Go либо недостаёт функциональности подключения к DoH/DoT-серверам по айпишнику, либо она реализована с ошибкой. Значит, это можно исправить именно в рамках сетевой (или крипто) библиотеки Go, не ссылаясь на API Windows.