平常经常会有在终端上使用代理的需求, 然而连接 VPN
又太麻烦, 用完之后还需要关掉, 所以就发现了 proxychains-ng 这个工具, 具体介绍见它官网.
proxychains
从环境变量和配置文件中读取代理设置, 是按照以下顺序读取的:
- 如果变量
PROXYCHAINS_CONF_FILE
存在, 就使用其指定的文件 - 读取
./proxychains.conf
- 读取
$(HOME)/.proxychains/proxychains.conf
- 读取
$(sysconfdir)/proxychains.conf
, 通常就是/etc/proxychains.conf
当然也可以通过 -f
参数指定配置文件, 建议把 $(HOME)/.proxychains/proxychains.conf
作为默认配置文件.
添加代理规则的话, 就在配置文件中 [ProxyList]
的下面加上自己的代理, 默认添加的是 Tor
的代理, 没用 Tor
的话可以把它删掉.
下面是一些示例:
http
: 127.0.0.1 8080socks4
: socks4 127.0.0.1 7078socks5
: socks5 127.0.0.1 1080
proxychains
有三种模式, 分别是 dynamic_chain
, strict_chain
和 random_chain
.
dynamic_chain
: 按照列表中出现的代理服务器的先后顺序组成一条链,如果有代理服务器失效,则自动将其排除,但至少要有一个是有效的strict_chain
: 按照列表中出现的代理服务器的先后顺序组成一条链,要求所有的代理服务器都是有效的random_chain
: 列表中的任何一个代理服务器都可能被选择使用,这种方式很适合网络扫描操作(参数chain_len
只对random_chain
有效)
默认是 strict_chain
模式, 所以在添加代理时要保证每条规则都可用, 最好只写一条.
使用起来很简单, 在需要启动代理的程序前加上 proxychains
即可, 如:
- 下载
Google
首页:proxychains wget google.com