proxychains4 使用教程

/ 默认分类 / 没有评论 / 5浏览

一、什么是 proxychains4?

proxychains4 是一个代理工具,可以强制任何程序通过代理访问网络,即使该程序本身不支持代理设置。

核心原理

程序 → proxychains4 拦截 → 代理服务器 → 目标网站

二、安装

# Ubuntu/Debian
apt update
apt install proxychains4 -y

# CentOS/RHEL
yum install proxychains4 -y

# macOS
brew install proxychains-ng

三、配置

1. 配置文件位置

/etc/proxychains4.conf          # 系统级配置
~/.proxychains/proxychains.conf # 用户级配置

2. 基础配置示例

# 编辑配置文件
vim /etc/proxychains4.conf

# 找到 [ProxyList] 部分,添加你的代理:
[ProxyList]
socks5 127.0.0.1 1080          # SOCKS5 代理
# http 127.0.0.1 8118          # HTTP 代理
# socks4 127.0.0.1 9050        # SOCKS4 代理

3. 常用配置选项

# 动态链(默认)- 代理按顺序使用,失败则跳过
dynamic_chain

# 严格链 - 必须按顺序全部通过
# strict_chain

# 随机链 - 随机选择代理
# random_chain

# DNS 代理(解决 DNS 污染)
proxy_dns

四、基本使用

命令格式

proxychains4 <你的命令>
# 或
proxychains4 <你的命令>

实际示例

1. 测试代理是否工作

# 查看当前 IP(应该显示代理服务器 IP)
proxychains4 curl https://ip.sb
proxychains4 curl https://httpbin.org/ip

2. Docker 拉取镜像

# 启动 SSH 代理
ssh -D 1080 -N -f user@your-server.com

# 通过代理拉取镜像
proxychains4 docker pull nginx:latest
proxychains4 docker pull ubuntu:22.04

3. Git 操作

# 克隆 GitHub 仓库
proxychains4 git clone https://github.com/xxx/xxx.git

# 推送代码
proxychains4 git push origin main

4. wget/curl 下载

# 下载文件
proxychains4 wget https://example.com/file.zip
proxychains4 curl -O https://example.com/file.zip

5. apt 包管理

# 更新软件源
proxychains4 apt update

# 安装软件
proxychains4 apt install htop -y

五、实战场景

场景1:通过跳板机拉取 Docker 镜像

# 1. 建立 SSH 隧道
ssh -D 1080 -N -f ubuntu@43.130.44.47

# 2. 测试连接
proxychains4 curl https://registry-1.docker.io/v2/

# 3. 拉取镜像
proxychains4 docker pull weishaw/sub2api:latest

# 4. 正常启动(不走代理)
docker compose up -d

场景2:访问内网资源

# 通过跳板机访问内网服务
ssh -D 1080 -N -f user@jump-server.com
proxychains4 curl http://10.0.0.100:8080/api

场景3:科学上网

# 配合 SS/SSR/V2Ray 使用
# 配置本地代理端口 1080
proxychains4 firefox          # 让浏览器走代理
proxychains4 telegram         # 让 Telegram 走代理

六、高级技巧

1. 代理链(多级代理)

# 配置多个代理
[ProxyList]
socks5 127.0.0.1 1080
http 192.168.1.100 3128
socks4 10.0.0.1 9050

2. 排除特定 IP

# 在配置文件中添加
localnet 127.0.0.0/255.0.0.0
localnet 192.168.0.0/255.255.0.0

3. 使用别名简化命令

# 添加到 ~/.bashrc
alias pc='proxychains4'
alias docker-pull='proxychains4 docker pull'

# 使用
pc curl https://google.com
docker-pull ubuntu:latest

七、常见问题解决

问题1:DNS 解析失败

# 启用 proxy_dns
vim /etc/proxychains4.conf
# 取消注释:proxy_dns

问题2:某些程序不走代理

# 使用完整路径
proxychains4 /usr/bin/docker pull nginx

# 或检查程序是否被编译为静态链接
ldd /usr/bin/docker

问题3:代理连接超时

# 增加超时时间
vim /etc/proxychains4.conf
# 修改:tcp_read_time_out 15000
#      tcp_connect_time_out 8000

八、对比其他方案

方案优点缺点
proxychains4强制代理、无需改程序配置性能略有损失
环境变量简单快速只支持 HTTP/HTTPS 代理
Docker 配置永久生效需要重启 Docker
系统代理全局生效影响所有程序

九、快速参考卡片

# 安装
apt install proxychains4 -y

# 配置(添加代理)
echo "socks5 127.0.0.1 1080" >> /etc/proxychains4.conf

# 测试
proxychains4 curl ip.sb

# 常用命令
proxychains4 docker pull <镜像>
proxychains4 git clone <仓库>
proxychains4 curl <网址>
proxychains4 wget <文件>

# 启动 SSH 代理配合使用
ssh -D 1080 -N -f user@server

总结

proxychains4 的核心价值:

一句话记住: 想让不支持代理的程序走代理,就用 proxychains4 你的命令