Mac下给终端使用代理

很多科学上网的代理不是全局的,而很多命令行语言需要用代理来加速,这时候可以使用 proxychains-ng

安装proxychains-ng

$ brew install proxychains-ng

安装过程中如果出现问题,可以查

$ brew doctor

$ brew doctor | grep "问题信息"

查看解决办法。

配置config文件

安装完之后需要配置一个proxychains.conf文件,

它的位置可以在

  • ./proxychains.conf
  • $(HOME)/.proxychains/proxychains.conf
  • $(sysconfdir)/proxychains.conf 通常是(/etc/proxychains.conf)

也可以是写进环境变量PROXYCHAINS_CONF_FILE

如果不在上述地方里,也可以用-f参数加文件地址,如

proxychains4 -f /etc/proxychains-other.conf telnet targethost2.com

cofig文件的写法可以参照proxychains.conf进行设置,主要把最后一行的代理改为自己的代理就行了。

使用

需要通过代理使用命令时在前面加proxychains4即可

可以用下面的方法来测试是否设置成功(测试连接twitter)

proxychains4 curl twitter.com

如果嫌字符串长,可以在~/.bash_profile文件(bash)或~/.zshrc(zsh)里加一个别名

alias pc="proxychains4"

这样之后前面加pc就行

El Capitan下无法使用的解决方法

由于El Capitan引入了SIP机制(System Integrity Protection),安装上的proxychains-ng无法正常使用,一种解决办法是取消SIP机制,具体做法是:

  • 重启电脑,按住Command+R(直到出现苹果标志)进入Recovery Mode
  • 左上角菜单里找到实用工具 -> 终端
  • 输入csrutil disable回车
  • 重启Mac即可

如果想重新启动SIP机制重复上述步骤改用csrutil enable即可

结合curl

给终端上了代理之后,就可以用终端来进行下载,curl的命令如下

curl -o <file> <url>

这条命令可以下载url里的内容到file中。

然后,通过使用-L可以使地址重定向,使用-C可以进行断点续传,用--limit-rate 1000B可以限制下载速度不超过1000B/s。

需要授权时,使用

curl -u username:password URL

results matching ""

    No results matching ""