Linux终端代理设置

Linux终端代理设置

前提本地1080端口提供socks5代理

proxychains-ng

proxychains-ng(next generation)较原版增加的一个重要特性为跳过本地地址

1
2
3
4
5
6
7
8
9
# 安装
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ sudo make install
# 安装配置文件
$ sudo make install-config

# 修改配置文件
$ sudo nano /etc/proxychains.conf
1
2
3
4
5
6
7
[/etc/proxychains.conf]
去掉注释(我是在86行)
## connects to localhost.
localnet 127.0.0.0/255.0.0.0

文件最后加入
socks5 127.0.0.1 1080

测试安装配置是否成功

1
2
3
4
$ curl myip.ipip.net
当前 IP:xx.xx.xx.xx 来自于:中国 上海 上海 电信
$ proxychains4 curl myip.ipip.net
当前 IP:xx.xx.xx.xx 来自于:美国 加利福尼亚州 洛杉矶

privoxy

一般来讲,http代理会更方便一些,就是这里的privoxy

1
2
3
4
5
# 安装
$ sudo apt install privoxy

# 修改配置文件
$ sudo nano /etc/privoxy/config
1
2
3
4
[/etc/privoxy/config]
文件中加入下面两行(我是分别在line783,line1364加入的)
listen-address 127.0.0.1:8118
forward-socks5 / 127.0.0.1:1080 .
1
2
3
4
5
# 重启
$ systemctl restart privoxy.service

# 修改~/.bashrc文件
sudo nano ~/.bashrc
1
2
3
[/etc/privoxy/config]
文件最后添加下面一行
alias set-proxy='export http_proxy=127.0.0.1:8118;export https_proxy=127.0.0.1:8118;export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"'
1
2
3
4
5
# 重新载入.bashrc文件
$ source .bashrc

# 在当前终端设置代理(设置环境变量的值)
$ set-proxy

测试

1
$ curl www.google.com

注意事项:

  1. 设置变量后wgetcurl 会自动使用该代理
  2. ping 命令均不支持以上两种方式

参考链接:

proxychains-ng的Github地址

proxychains-ng配置详解

设置终端代理