或者其他代理手段?
开发者层面,非用户层面。
当前使用 socks-proxy-agent 代理请求 结果发现 DNS 没过代理。
1
jitongxi 2019-04-29 13:02:17 +08:00
windows ? windows 的 dns 请求不走当前程序的,是一个独立的服务。
|
2
oyosc 2019-04-29 13:06:19 +08:00 1
建议你先查查什么是 DNS
|
3
1KN6sAqR0a57no6s 2019-04-29 13:16:30 +08:00 via Android
http 请求的话可以试试我这个 https://github.com/YUxiangLuo/node-socks5-http
|
4
northernlights 2019-04-29 16:02:21 +08:00
弄个虚拟机,搞个网关级别的代理吧。
|
5
whoami9894 2019-04-29 16:23:44 +08:00 via Android 1
udp 包为什么会走应用层代理
|
6
giuem 2019-04-29 16:32:06 +08:00 via iPhone 1
socks5h
|
7
momocraft 2019-04-29 16:33:23 +08:00
瀏覽器那個選項的意思是 "由代理服務器解析域名", 你其實不知道代理服務器是不是從 dns 獲得 ip
|
8
jinliming2 2019-04-29 17:48:41 +08:00 via iPhone 1
可以尝试 Google 或者 1.1.1.1 的 DNSoverHTTPS 接口,自己解析然后直接用,自己解析走的 HTTPS 就可以直接走代理了。
|
9
whoami9894 2019-04-29 18:04:48 +08:00 via Android 1
@whoami9894
我明白 lz 的意思了…… socks5 的控制报文里写域名,让 socks5 server 拿到后去解析 |
10
lzvezr 2019-04-29 18:18:22 +08:00 1
应该是挺麻烦, DNS 查询的时候可以传入一个 lookup 函数, 需要自己写, 不知道 npm 上有没有现成的
|
11
EridanusSora OP 结贴。
看了下 socks-proxy-agent 的源码。 https://github.com/TooTallNate/node-socks-proxy-agent/blob/d8152efd21d2c0d7a9d08588de61bbc59e6c3dde/index.js#L60 如果初始化的时候传入的是`socks5://xxx`这样的字符串,会判断成不适用`socks5h`,结果导致本地解析。 所以,要么使用`socks5h://xxx`,要么传入 object 显式指定 protocol。 注:使用`socks://xxx`也是默认使用`socks5h`。 |