Sign inSign up

goordonchen/wireproxy

By goordonchen

Updated about 2 months ago

Image
0

560

goordonchen/wireproxy repository overview

WireProxy Docker 镜像

基于开源项目 windtf/wireproxy 构建的轻量级多架构 Docker 镜像。

WireProxy 是一个完全运行在用户空间的 WireGuard 客户端,可以通过 WireGuard 隧道提供 SOCKS5、HTTP 代理和静态隧道功能,无需在宿主机创建 WireGuard 网络接口。

镜像特点

  • 基于 Alpine Linux
  • 支持 linux/amd64
  • 支持 linux/arm64
  • 自动选择与服务器 CPU 架构匹配的镜像
  • 使用上游官方预编译二进制文件
  • 构建时校验上游 SHA256
  • 支持 Docker 自动重启
  • 不需要 NET_ADMINprivileged 权限

支持的标签

标签说明
latest当前推荐的稳定版本
v1.1.3WireProxy v1.1.3

拉取最新版:

docker pull goordonchen/wireproxy:latest

拉取固定版本:

docker pull goordonchen/wireproxy:v1.1.3

Docker 会根据宿主机架构自动选择 amd64arm64 镜像。

创建配置目录

mkdir -p /root/wireproxy

创建配置文件:

nano /root/wireproxy/wg.conf

配置示例:

[Interface]
Address = 10.14.0.2/16
PrivateKey = <你的WireGuard私钥>
DNS = 1.1.1.1

[Peer]
PublicKey = <WireGuard服务器公钥>
AllowedIPs = 0.0.0.0/0
Endpoint = example.com:51820

[Socks5]
BindAddress = 127.0.0.1:25344

请将以下内容替换为真实信息:

  • <你的WireGuard私钥>
  • <WireGuard服务器公钥>
  • example.com:51820
  • WireGuard 地址和 DNS

请勿公开或上传 WireGuard 私钥。

启动容器

推荐在 Linux 服务器上使用主机网络模式:

docker run -d \
  --name wireproxy \
  --network host \
  -v /root/wireproxy:/etc/wireproxy:ro \
  --restart unless-stopped \
  goordonchen/wireproxy:latest

说明:

  • --network host:容器直接使用宿主机网络
  • /root/wireproxy:宿主机配置目录
  • /etc/wireproxy:容器内配置目录
  • :ro:以只读方式挂载配置,防止容器修改配置
  • --restart unless-stopped:Docker 或服务器重启后自动运行

WireProxy 是 WireGuard 客户端,通常不需要在宿主机开放入站的 51820 端口,但必须允许访问配置文件中 Endpoint 指定的地址和 UDP 端口。

SOCKS5 监听范围

如果配置为:

[Socks5]
BindAddress = 127.0.0.1:25344

SOCKS5 代理只能由宿主机本地访问,这是更安全的默认设置。

如果需要让局域网其他设备访问,可以改为:

[Socks5]
BindAddress = 0.0.0.0:25344

使用 0.0.0.0 时,请务必通过防火墙限制访问来源,不要将未认证的 SOCKS5 端口直接暴露到公网。

查看运行状态

docker ps --filter name=wireproxy

查看日志:

docker logs --tail 100 wireproxy

持续查看日志:

docker logs -f wireproxy

测试代理

如果 SOCKS5 监听在 127.0.0.1:25344

curl --proxy socks5h://127.0.0.1:25344 https://api.ipify.org

也可以使用:

curl --proxy socks5h://127.0.0.1:25344 https://ifconfig.me

如果返回 WireGuard 服务器的出口 IP,说明代理运行正常。

查看 WireProxy 版本

docker run --rm goordonchen/wireproxy:latest -v

查看固定标签版本:

docker run --rm goordonchen/wireproxy:v1.1.3 -v

更新镜像

拉取最新版:

docker pull goordonchen/wireproxy:latest

删除旧容器:

docker rm -f wireproxy

重新创建:

docker run -d \
  --name wireproxy \
  --network host \
  -v /root/wireproxy:/etc/wireproxy:ro \
  --restart unless-stopped \
  goordonchen/wireproxy:latest

宿主机上的 /root/wireproxy/wg.conf 不会因为删除容器而丢失。

常见问题

容器不断重启

查看日志:

docker logs --tail 100 wireproxy

通常是以下原因:

  • wg.conf 不存在
  • 私钥或公钥错误
  • WireGuard Endpoint 无法访问
  • 配置文件格式错误
  • DNS 无法解析 Endpoint 域名
检查配置文件是否挂载成功
docker inspect wireproxy \
  --format '{{range .Mounts}}{{println .Source "->" .Destination}}{{end}}'
检查当前镜像架构
docker inspect goordonchen/wireproxy:latest \
  --format '{{.Os}}/{{.Architecture}}'

项目链接

本镜像为第三方构建镜像,WireProxy 项目版权和许可证归上游项目所有。

Tag summary

Content type

Image

Digest

sha256:6f5e44c5e

Size

7.7 MB

Last updated

about 2 months ago

docker pull goordonchen/wireproxy