在OS X上配置iTerm和Git使用代理

8
我正在使用一个名为tether的应用程序,通过越狱的iphone成功连接到互联网。(我知道现在有更好的选择)
我的iphone连接到笔记本电脑的wifi“设备网络”。
在我的OS X网络设置中,有一个名为iphone的位置,并且代理配置为使用正确的IP和端口进行连接。
我可以使用Chrome浏览器完美地浏览http和https网页。
iTerm无法ping通谷歌。Git无法拉取。我已经搜索了很多天,没有找到任何“简单”的或者我能够理解的解决方法。感谢您的建议。
2个回答

12

命令行工具通常只支持HTTP代理。如果你想从SOCKS代理提供HTTP代理,可以使用Privoxy。设置好Privoxy之后,你就有了一个HTTP代理。在终端中,通常只需说出export http_proxy=ip:port这句话就足以为大多数应用程序提供服务。如需有关Git的指导,请参阅此处

但如果以上步骤对你来说太麻烦了,你还可以使用sshuttle。它能透明地将所有连接通过SOCKS代理传输。也就是说,你计算机上的所有连接都会被转发到代理上,此后你就不必再更改GUI应用程序的代理设置了。

我在Mac中使用Homebrew作为软件包管理器,Privoxy和sshuttle均可在其中获得。


1
可以同时使用吗?我使用 Privoxy 进行内容过滤,但是当我旅行时,我想使用 sshuttle 进行 VPN。我非常希望将它们链接在一起。 - henrikstroem
sshuttle 对于我的使用情况非常完美。 - CJ Thompson
我正在运行sshuttle。但我的终端仍未通过代理进行连接。 - linjiejun

0
现在我需要做的是导出代理设置,将代理设置写入.zshrc文件中,就像这样:
alias proxy='export all_proxy=socks5://127.0.0.1:7890'

当我想要使用代理时,只需在iTerm中运行proxy命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接