这是一份面向他人的 ip-proxy-controller Docker 安装教程。镜像采用“一容器跑全部”的方式,包含 Web 控制面板、代理端口、VPNGate 节点扫描、OpenVPN 自动拨号,以及面板内切换国家、查看节点、复制代理等功能。

镜像地址

ghcr.io/sumingfine/ip-proxy-controller:latest
  • Web 控制面板:2055
  • 代理端口:7920
  • 自动扫描 VPNGate 节点
  • 自动拨号 OpenVPN
  • 支持面板里切国家、看节点、复制代理

一、准备条件

服务器需要支持:

  • Docker
  • /dev/net/tun
  • privileged 容器权限

如果是普通 VPS,推荐使用 Debian / Ubuntu。如果是 Koyeb,必须开启:

Privileged: enabled

二、直接运行

把下面命令里的密码、Token 和服务器地址改掉后再运行:

docker run -d \
  --name ip-proxy-controller \
  --privileged \
  --restart unless-stopped \
  -p 2055:2055 \
  -p 7920:7920 \
  -v proxy_controller_data:/data \
  -v proxy_controller_workspace:/opt/proxy_lite \
  -e HOST=0.0.0.0 \
  -e PORT=2055 \
  -e DATABASE_PATH=/data/proxy_controller.sqlite3 \
  -e WEB_USER=admin \
  -e WEB_PASS=改成你的面板密码 \
  -e PROXY_USER=proxy \
  -e PROXY_PASS=改成你的代理密码 \
  -e AGENT_TOKEN=改成一串随机Token \
  -e PUBLIC_BASE_URL=http://你的服务器IP:2055 \
  ghcr.io/sumingfine/ip-proxy-controller:latest

打开面板:

http://你的服务器IP:2055

登录信息:

  • 用户名:admin
  • 密码:你设置的 WEB_PASS

三、Docker Compose 方式

新建 compose.yaml

services:
  ip-proxy-controller:
    image: ghcr.io/sumingfine/ip-proxy-controller:latest
    container_name: ip-proxy-controller
    privileged: true
    restart: unless-stopped
    ports:
      - "2055:2055"
      - "7920:7920"
    volumes:
      - proxy_controller_data:/data
      - proxy_controller_workspace:/opt/proxy_lite
    environment:
      HOST: 0.0.0.0
      PORT: 2055
      DATABASE_PATH: /data/proxy_controller.sqlite3
      WEB_USER: admin
      WEB_PASS: 改成你的面板密码
      PROXY_USER: proxy
      PROXY_PASS: 改成你的代理密码
      AGENT_TOKEN: 改成一串随机Token
      PUBLIC_BASE_URL: http://你的服务器IP:2055

volumes:
  proxy_controller_data:
  proxy_controller_workspace:

启动:

docker compose up -d

查看日志:

docker logs -f ip-proxy-controller

四、Koyeb 部署

在 Koyeb 选择 Docker Image:

Image: ghcr.io/sumingfine/ip-proxy-controller:latest

端口:

HTTP 2055
TCP 7920

环境变量:

HOST=0.0.0.0
PORT=2055
DATABASE_PATH=/data/proxy_controller.sqlite3
WEB_USER=admin
WEB_PASS=改成你的面板密码
PROXY_USER=proxy
PROXY_PASS=改成你的代理密码
AGENT_TOKEN=改成一串随机Token
PUBLIC_BASE_URL=https://你的-koyeb域名.koyeb.app

Koyeb 还要设置:

Privileged: enabled
Volume mount: /data
Min instances: 1
Max instances: 1
Scale to zero: disabled

如果 Koyeb 给了 TCP Proxy 地址,再补:

PROXY_ADVERTISE_HOST=Koyeb分配的TCP域名
PROXY_ADVERTISE_PORT=Koyeb分配的TCP端口

五、使用代理

面板里出现 Active 代理后,复制代理地址即可。格式类似:

socks5://proxy:你的代理密码@服务器IP:7920#JP_ActiveNode_x.x.x.x

也可以访问接口获取当前可用代理:

http://你的服务器IP:2055/api/proxies

六、常用维护命令

查看日志:

docker logs -f ip-proxy-controller

重启:

docker restart ip-proxy-controller

更新镜像:

docker pull ghcr.io/sumingfine/ip-proxy-controller:latest

docker stop ip-proxy-controller
docker rm ip-proxy-controller

然后重新执行安装命令即可。

提醒

  • WEB_PASSPROXY_PASSAGENT_TOKEN 请务必改成强密码或随机字符串。
  • 服务器必须支持 /dev/net/tunprivileged,否则 OpenVPN 拨号可能无法正常工作。
  • 如果部署在云平台,请确认平台允许 TCP 代理端口暴露。

把日子慢慢写下来。