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