Skip to content

1. 配置环境变量

配置环境变量是最简单的方法之一,适用于命令行工具和程序使用代理。

配置HTTP/HTTPS代理

在你的~/.bashrc~/.bash_profile文件中添加以下行:

shell
export http_proxy=http://proxy_address:proxy_port
export https_proxy=https://proxy_address:proxy_port

取消代理 unset http_proxy unset https_proxy

配置SOCKS代理

shell
export ALL_PROXY=socks5://proxy_address:proxy_port

然后,重新加载配置文件:

source ~/.bashrc

取消代理 unset ALL_PROXY

2. 使用 proxychains

proxychains 是一个工具,它通过代理链(支持HTTP、SOCKS4、SOCKS5)重定向程序的连接。

安装 proxychains

在Debian/Ubuntu上:

sudo apt-get install proxychains

在centOS

sudo yum install proxychains

配置 proxychains

编辑 /etc/proxychains.conf 文件:

shell
# 选择动态链、随机链或静态链
# dynamic_chain
# random_chain
# 静态链(默认)
strict_chain

# 添加代理服务器
# 格式:类型 地址 端口 [用户名 密码]
# 例如:socks5 127.0.0.1 1080
socks5 127.0.0.1 1080

使用 proxychains

通过 proxychains 运行你的程序:

proxychains curl www.google.com

3. docker 配置代理

由于docker使用的systemd管理网络,所以通过export proxy 命令无法代理,

配置Docker守护进程

你也可以在Docker守护进程中配置代理,这样启动的所有容器都会继承这些代理设置。你可以在/etc/systemd/system/docker.service.d/http-proxy.conf中添加如下配置

创建目录/etc/systemd/system/docker.service.d,配置proxy.conf文件

mkdir -p /etc/systemd/system/docker.service.d vim /etc/systemd/system/docker.service.d/proxy.conf

把此内容放到proxy.conf中,docker就可以通过代理访问了。(巨坑,fuck GFW)

shell
[Service]
Environment="HTTP_PROXY=http://192.168.137.1:10809/"
Environment="HTTPS_PROXY=http://192.168.137.1:10809/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"


然后重新加载并重启Docker服务:

shell
sudo systemctl daemon-reload
sudo systemctl restart docker

最后更新于: