Skip to content

Instantly share code, notes, and snippets.

@jouyouyun
Created January 21, 2016 06:48
Show Gist options
  • Save jouyouyun/73f5f7e3da50e8cd3761 to your computer and use it in GitHub Desktop.
Save jouyouyun/73f5f7e3da50e8cd3761 to your computer and use it in GitHub Desktop.
Proxychains Introducation

Proxychains

平常经常会有在终端上使用代理的需求, 然而连接 VPN 又太麻烦, 用完之后还需要关掉, 所以就发现了 proxychains-ng 这个工具, 具体介绍见它官网.

配置

文件选择

proxychains 从环境变量和配置文件中读取代理设置, 是按照以下顺序读取的:

  1. 如果变量 PROXYCHAINS_CONF_FILE 存在, 就使用其指定的文件
  2. 读取 ./proxychains.conf
  3. 读取 $(HOME)/.proxychains/proxychains.conf
  4. 读取 $(sysconfdir)/proxychains.conf, 通常就是 /etc/proxychains.conf

当然也可以通过 -f 参数指定配置文件, 建议把 $(HOME)/.proxychains/proxychains.conf 作为默认配置文件.

代理规则

添加代理规则的话, 就在配置文件中 [ProxyList] 的下面加上自己的代理, 默认添加的是 Tor 的代理, 没用 Tor 的话可以把它删掉. 下面是一些示例:

  • http : 127.0.0.1 8080
  • socks4: socks4 127.0.0.1 7078
  • socks5: socks5 127.0.0.1 1080

代理模式

proxychains 有三种模式, 分别是 dynamic_chain, strict_chainrandom_chain .

  • dynamic_chain: 按照列表中出现的代理服务器的先后顺序组成一条链,如果有代理服务器失效,则自动将其排除,但至少要有一个是有效的
  • strict_chain : 按照列表中出现的代理服务器的先后顺序组成一条链,要求所有的代理服务器都是有效的
  • random_chain : 列表中的任何一个代理服务器都可能被选择使用,这种方式很适合网络扫描操作(参数 chain_len 只对 random_chain 有效)

默认是 strict_chain 模式, 所以在添加代理时要保证每条规则都可用, 最好只写一条.

使用

使用起来很简单, 在需要启动代理的程序前加上 proxychains 即可, 如:

  • 下载 Google 首页: proxychains wget google.com

可以配合 you-get 来下载 youtube 上的视频, 很不错.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment