SOCKS5 与 HTTP 代理对比#
| SOCKS5 | HTTP 代理 | |
|---|---|---|
| 承载的协议 | 任何 TCP 协议 | HTTP 和 HTTPS(CONNECT 也能通过隧道承载其他 TCP 协议) |
| 是否理解请求 | 否 | 对于明文 HTTP 则是 |
| DNS 解析 | 在代理端(socks5h)或本地(socks5) | 完整 URL 请求由代理解析;主机名通过 CONNECT 发送 |
| 客户端支持 | 大多数工具;部分工具需要使用库 | 普遍支持 |
socks5 与 socks5h 对比#
在 cURL 和 Python 中,socks5:// 会在本机解析目标主机名,并将 IP 发送给代理;socks5h:// 会发送主机名,由出口进行解析。请使用 socks5h,让 DNS 查询保留在出口所在国家/地区,并避免向本地解析器泄露主机名。
socks5h://USER-cc-us:[email protected]:9001在 ProxShift 中如何运作#
ProxShift 网关通过端口 9001 使用 SOCKS5,凭据和用户名参数与 HTTP 相同;专用地址使用端口 8001。不支持 UDP ASSOCIATE 和 BIND:仅支持 TCP。
常见问题#
SOCKS5 比 HTTP 更快吗?
没有可衡量的速度差异。两者都会增加一跳;SOCKS5 的解析工作略少,但网络路径才是主要因素。应根据工具支持和 DNS 行为进行选择,而不是根据速度。