Skip to content

v2rayA

介绍

v2rayA 是一个以 Web 界面管理代理节点的客户端,支持 VMess、VLESS、Shadowsocks、Trojan、TUIC 等协议,并可在 Linux 上提供全局透明代理。Docker 镜像已集成 Xray 内核,不需要额外安装代理核心。

Docker Compose

以下配置适用于 Linux,并允许 v2rayA 管理宿主机的透明代理规则。

创建部署目录:

bash
mkdir -p ~/apps/v2raya/data
cd ~/apps/v2raya

创建 compose.yml

yaml
services:
  v2raya:
    image: mzz2017/v2raya:latest
    container_name: v2raya
    restart: unless-stopped
    privileged: true
    network_mode: host
    environment:
      V2RAYA_LOG_FILE: /tmp/v2raya.log
      V2RAYA_V2RAY_BIN: /usr/local/bin/xray
      V2RAYA_NFTABLES_SUPPORT: 'off'
      IPTABLES_MODE: legacy
      TZ: Asia/Shanghai
    volumes:
      - /lib/modules:/lib/modules:ro
      - /etc/resolv.conf:/etc/resolv.conf:ro
      - ./data:/etc/v2raya

./data 保存节点、订阅和路由等配置,重建或更新容器时必须保留。

防火墙相关环境变量需要与宿主机匹配:

  • 使用原生 nftables 时,将 V2RAYA_NFTABLES_SUPPORT 设置为 'on'
  • 使用 iptables 的 nft 后端时,将 IPTABLES_MODE 设置为 nftables
  • 使用传统 iptables 后端时,保留示例中的 offlegacy

可以使用以下命令查看 iptables 后端:

bash
iptables --version

启动服务:

bash
docker compose up -d
docker compose logs --tail 100 v2raya

访问 http://<服务器地址>:2017,首次进入时创建管理员账户,然后导入订阅或节点并配置代理模式。

仅提供代理端口

如果不需要全局透明代理,或宿主机不支持 host 网络模式,可以改用普通端口映射。该模式不需要特权容器和宿主机内核模块:

yaml
services:
  v2raya:
    image: mzz2017/v2raya:latest
    container_name: v2raya
    restart: unless-stopped
    ports:
      - '2017:2017'
      - '20170-20172:20170-20172'
    environment:
      V2RAYA_LOG_FILE: /tmp/v2raya.log
      V2RAYA_V2RAY_BIN: /usr/local/bin/xray
      TZ: Asia/Shanghai
    volumes:
      - ./data:/etc/v2raya

默认端口用途:

端口用途
2017Web 管理界面。
20170SOCKS5 代理。
20171HTTP 代理。
20172带 PAC 的 HTTP。

更新

更新前应备份 ./data。生产环境建议使用经过验证的固定版本标签,避免不可控升级。

bash
docker compose pull
docker compose up -d
docker compose logs --tail 100 v2raya

安全注意事项

  • 全局透明代理配置使用 privileged: true,容器将获得接近宿主机 root 的权限,只应使用可信镜像,并限制部署目录和 Docker 管理权限。
  • Web 管理界面应设置强密码,不要直接暴露到公网;需要远程访问时,应通过防火墙、VPN 或可信反向代理限制来源。
  • ./data 包含订阅地址、节点和路由配置,不应提交到公开仓库。
  • 启用透明代理会修改宿主机防火墙和路由规则。远程服务器上操作时,应保留独立的管理连接和恢复手段,避免配置错误后无法连接服务器。

参考

基于 MIT 许可发布