如果我尝试使用以下命令启动 Chromium 或任何基于 Chromium 的浏览器:
[...] --proxy-server="socks5h://blablabla"
然后它无法加载任何页面。但是,如果我这样做,它就可以正常工作:
[...] --proxy-server="socks5://blablabla"
但是 SOCKS5H 和 SOCKS5 在一个重要方面略有不同。“H”不会通过绕过 DNS 查找的代理来泄露您的隐私,但 Chromium 不支持这一点?
我尝试的代理在其他方面都可以正常工作(例如通过 cURL),并且确实是 SOCKS5H。
“令人惊讶的是”,我在网上没有找到关于此事的任何信息。
给出的错误是这样的:
无法访问此网站 网页位于https://ifconfig.co/json可能暂时关闭或可能已永久移动到新的网址。ERR_NO_SUPPORTED_PROXIES
答案1
此约定源于curl
:socks5
使用时,域名在本地解析,解析后的 IP 传递给代理服务器。这通常是不可取的,因为它会泄露 DNS 请求,破坏使用代理的一些隐私等。这
socks5h
导致 curl 将域名逐字传递给 SOCKS 服务器并让服务器进行解析。
如今,大多数客户端程序都不在本地解析域名,因此该socks5h
协议已不再使用。对于此类客户端,socks5h
等同于socks5
,或者换句话说,socks5
实际上都是socks5h
。
显然,Firefox 就是这样一个客户端。