Centos 7/Ubuntu 16 编译安装 Proxychains-ng

Linux 下代理一般是通过 http_proxy 和 https_proxy 这两个环境变量, 但是很多软件并不使用这两个变量, 导致流量无法走代理。 在不使用 vpn 的前提下, linux 并没有转发所有流量的真全局代理。但是可以用 proxychains-ng 为程序指定走代理, proxychains-ng 是 proxychains 的新版. ng 含义是 new generation

项目地址: rofl0r/proxychains-ng

主要有以下功能

  1. 支持 HTTP 或者 SOCKS4a/5 代理
  2. 认证
  3. 远端 dns 查询
  4. 多种代理模式

缺点

  1. 仅支持 TCP, 不支持 UDP/ICMP 转发
  2. 少部分程序和在后台运行的可能无法代理

安装 ProxyChains-NG

wget https://github.com/rofl0r/proxychains-ng/archive/v4.13.tar.gz -O Proxychains-ng-4.13.tar.gz
tar xzf Proxychains-ng-4.13.tar.gz
cd proxychains-ng
./configure --prefix=/usr --sysconfdir=/etc

# 如果不是 root 用户
./configure --prefix=$HOME/proxychains --sysconfdir=$HOME/proxychains

make 
make install
make install-config

# 如果不是 root 用户, 设置别名
alias pc='$HOME/proxychains/bin/proxychains4 -q'

配置 ProxyChains-NG

编辑配置文件 /etc/proxychains.conf

vim /etc/proxychains.conf

在文件最后将 socks4 127.0.0.1 9095 改为 socks5 127.0.0.1 1080

代理模式

Proxychains-ng支持多种代理模式:

  • dynamic_chain : 按照代理列表顺序自动选取可用代理
  • strict_chain : 按照代理列表顺序使用代理, 所有代理必须可用
  • round_robin_chain : 轮询模式, 自动跳过不可用代理
  • random_chain : 随机模式

使用方法

可以用 proxychains4 代理一个 shell, 在 shell 中执行的命令就会自动使用代理了, 例如

proxychains4 -q /bin/bash
最后更新于 2019-01-12
使用 Hugo 构建
主题 StackJimmy 设计