3proxy:轻量级免费代理服务器
用 C 编写的极小体积代理服务器,支持 HTTP、HTTPS、SOCKS、DNS、FTP 等多种代理协议。
- 浏览
- 2
- 访问
- 0
- 下载
- 0
- 版本
- v1.0.2
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
3proxy(又称 3APA3A 3proxy)是一个用 C 编写的轻量级免费代理服务器,作者为 Vladimir '3APA3A' Dubrovin,项目自 2002 年持续维护至今。它以极小的体积提供丰富的代理能力,可作为 HTTP/HTTPS、SOCKSv4/v5、FTP、POP3、SMTP、DNS、SNI 等多种代理服务,也能充当 TCP/UDP 端口映射器(端口转发)和 stunnel 的替代品。
程序采用多线程模型(不派生大量子进程),原生支持 32/64 位,可在 Windows、Linux、macOS、FreeBSD 等平台编译运行,并内置 Web 管理与统计界面、插件机制与完善的访问控制。
主要功能
- 多种代理协议:HTTP/1.1 代理(支持 keep-alive 与透明代理)、HTTPS(CONNECT)代理、SOCKSv4/4.5、SOCKSv5(含 UDP 与 BIND)、FTP 代理、POP3 代理、SMTP 代理、SNI 代理、DNS 代理。
- IPv4 / IPv6 双向互通:可作为 IPv4 与 IPv6 网络之间的代理,支持 Unix domain socket。
- 端口映射:TCP 与 UDP 端口转发。
- TLS/SSL:内置 TLS 服务端与客户端,可作为 HTTPS 类型代理或 stunnel 替代,支持 SSL 解密与证书伪装(通过插件)。
- 代理链与负载均衡:支持父代理、多跳代理链、随机父代理选择、回连代理(绕过防火墙),可按网卡做连接负载均衡,并可在不同代理类型之间转换(如客户端 HTTP 请求转为到父服务器的 SOCKSv5)。
- 访问控制:基于 ACL 按用户名、源 IP、目标 IP/主机名、目标端口、请求动作、星期与时段控制;支持按天/周/月的流量限额、带宽限制、连接数与速率限制;支持明文或加密密码、RADIUS 认证、DNS 主机名认证与认证缓存。
- 日志:可自定义日志格式,支持 stdout、文件、Syslog、ODBC、RADIUS 计费,支持日志轮转、字符过滤与按服务分文件。
- 扩展与运维:PCREPlugin 正则过滤、配置文件与 include、接口绑定、socket 选项、守护进程方式运行、配置文件变更自动重载;Unix 下支持 chroot、setuid/setgid 和信号重载;Windows 下可注册为服务。
安装与使用
官方在 GitHub Releases 提供 deb / rpm / Windows zip 二进制包,另提供签名 apt / dnf 仓库(current 与 lts 两个通道)以及 Docker 镜像。
Debian / Ubuntu 配置好仓库后可直接安装:
sudo apt update && sudo apt install 3proxy
Docker 最小交互镜像:
docker run --read-only -i -p 3129:3129 --name 3proxy docker.io/3proxy/3proxy:minimal
从源码编译(Linux,使用 Makefile):
ln -s Makefile.Linux Makefile
make
sudo make install
也可使用 CMake 构建:cmake .. && cmake --build . && sudo cmake --install .
Windows 下将程序安装为服务:
3proxy [path_to_config_file] --install
使用 Makefile.Linux 安装时,默认在主配置 /usr/local/3proxy/conf/3proxy.cfg(由 /etc/3proxy/conf/3proxy.cfg 软链)中配置;默认在 0.0.0.0:1080 启动 socks、在 0.0.0.0:3128 启动 proxy 并启用基础认证,默认不添加任何用户。可用 add3proxyuser username password [day_limit] [bandwidth] 添加用户。
注意事项
- README 中说明
Devel分支为 1.1 开发版、Experimental分支为 2.0 实验版,不建议用于生产环境;生产环境建议使用 Master(1.0)或 0.9 LTS 分支。 - Makefile.Linux 安装使用 chroot 配置,
/usr/local/3proxy/conf/3proxy.cfg中的路径均相对于 chroot 目录;CMake 安装不使用 chroot 配置,配置文件位于/etc/3proxy/3proxy.cfg。 - 除
:busybox外 Docker 镜像为 distroless,容器内没有 shell;SOCKSv5 UDPASSOC、SOCKSv5 BIND、FTP 代理等需要临时端口的场景需使用--network host或-P。 - 完整文档见 https://3proxy.org/ 与 GitHub Wiki。
本作品整理自 GitHub 开源项目 3proxy/3proxy,原作者 @3proxy。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.0.2当前版本
修复 DNS 代理可被伪造响应、TLS 分片导致 CPU 占满、SOCKS BIND 返回地址错误、半关闭连接响应截断、chroot 下时区与 syslog 失效等问题,修复内存泄漏,速度更快、CPU/内存占用更低。
评论