pac 代理为什么终端不能用? window 上的 cmd 可以用么?

2017-11-13 15:44:20 +08:00
 XGHeaven

我一直有一个疑问,就是说为什么 macos 当中的终端不走 pac 代理?也就是说 pac 代理影响什么的连接?感觉同样是 http 请求,但是在有的软件里面会自动使用 pac 代理,而有的不会,需要手动进行设置。还有就是,window 上面的 cmd 会自动用 pac 代理么?

5147 次点击
所在节点    问与答
10 条回复
jyf007
2017-11-13 16:50:50 +08:00
proxychains-ng 要开 sip,别问我为什么知道,因为你也不知道我知道。
Hellert
2017-11-13 17:19:54 +08:00
windows 上要设置 http_proxy 和 https_proxy 全局环境变量,比如 go get,用的就是这两个环境变量,设置后才能挂上代理。
我也发现这个问题,ss 即使打开全局代理,仍然有些程序不走代理,尤其是命令行下的程序。
wwqgtxx
2017-11-13 17:30:35 +08:00
@Hellert 很正常,很多程序根本就不会检测 http_proxy 和 https_proxy 这两个环境变量的,这个是取决于程序用的 http 类库,很多语言集成的 http 类库,以及一些人自己写的小 http 类库是完全不会理这两个环境变量的
zhjits
2017-11-13 18:43:40 +08:00
你下载一个 PAC 文件,用记事本打开看看就知道了
XGHeaven
2017-11-14 00:40:37 +08:00
@Hellert 我也一直很好奇,为什么需要设置环境变量?当初 pac 设计的初衷不是为了方便进行代理么?为啥终端不走?还有就是 @wwqgtxx 提到的,我想起来一个新的问题,代理究竟是系统内核控制的还是应用控制的?感觉 pac 代理应该是由内核控制,但是有的应用不走,感觉又不像。但是一般情况下编码的时候确实没有看到那里配置能不能有代理。
XGHeaven
2017-11-14 00:43:11 +08:00
@jyf007 表示没懂 sip 是啥
wwqgtxx
2017-11-14 07:48:50 +08:00
@XGHeaven 在任何系统下,代理设置都是由应用决定是否采纳,所以要想真正的全局代理要不然劫持系统 socket api 要不然就是用虚拟网卡 tap/tun 来做
而 pac 一般情况下只会影响系统自带应用以及 chrome,其他程序基本上不会读取 pac 设置,而在终端下,几乎任何程序都不会理睬 pac 设置。
jisibencom
2017-11-14 08:10:16 +08:00
其它的不知道,像 XSHELL 之类的图形工具是可以设置前置代理的。

不知道 LINXU 下有没有类似的软件,那个什么 PAC 管理器真是太难装了,有可能还要装一大堆依赖,这点真不如 WIN 下的绿色软件来得痛快。
XGHeaven
2017-11-14 12:40:39 +08:00
@wwqgtxx 那 socks 代理算什么呢?是不是终端也不会理会 socks 代理?
wwqgtxx
2017-11-14 15:24:45 +08:00
@XGHeaven 算是个约定俗成,就像 c/c++/java 中的缩进,就算你不遵守也不会怎么样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/406002

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX