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