A web GUI client of Project V which supports VMess, VLESS, SS, SSR, Trojan, Tuic and Juicity protocols. 🚀
Go to file
2019-11-19 07:38:53 +08:00
.github/ISSUE_TEMPLATE Update issue templates 2019-10-25 06:39:07 +08:00
gui fix: bugs 2019-11-19 07:31:50 +08:00
service fix: bugs 2019-11-19 07:31:50 +08:00
.dockerignore fix: most of bugs in docker due to restricted systemd access 2019-11-03 11:08:38 +08:00
.gitignore merge 2019-11-02 16:11:00 +08:00
.travis.yml chore: .travis.yml 2019-11-04 07:23:54 +08:00
CNAME Create CNAME 2019-10-21 15:42:41 +08:00
docker-compose.dev.yml fix: bugs 2019-11-19 07:31:50 +08:00
docker-compose.yml fix: bugs 2019-11-19 07:31:50 +08:00
Dockerfile fix: most of bugs in docker due to restricted systemd access 2019-11-03 11:08:38 +08:00
Dockerfile.dev fix: bugs 2019-11-19 07:31:50 +08:00
issue_template.md feat: complete essential functions 2019-10-25 05:14:30 +08:00
LICENSE Initial commit 2019-10-19 04:42:07 +08:00
package.json feat: share function complete 2019-11-01 06:24:14 +08:00
README.md docs: README 2019-11-19 07:38:53 +08:00
yarn.lock feat: share function complete 2019-11-01 06:24:14 +08:00

V2RayA

V2RayA 是 V2Ray 的一个 Web 客户端。

尽管 V2Ray 的客户端很多,但在 Linux 上好用的却寥寥无几。jiangxufeng/v2rayL 是目前 Linux 上较好的一个客户端,但暂时无法满足我对用户体验的较高要求,决定手撸一个。

虽然 V2RayA 是一个 Web 客户端,但它支持以 PWA(Progressive Web App)的方式享受桌面端应用的体验。食用方法

项目地址:https://github.com/mzz2017/V2RayA

前端 demo: https://v2raya.mzz.pub

Build Status

name docker image travis-ci
V2RayA Docker Cloud Build Status Travis (.org)

功能清单

目前已完成基本功能,项目正在逐步开发中。

已支持:

  • 全局透明代理(不支持 docker 模式)
  • V2Ray 服务控制
  • 导入 vmess、ss、订阅地址
  • websocket、kcp、tcp、http、tls、shadowsocks 全支持
  • 测试节点 Ping 时延
  • 二维码、地址分享
  • 同时开放 socks5、http、带 PAC 的 http 三个端口PAC 模式可选 GFWList、大陆白名单
  • 服务端启动自动检查 PAC、订阅更新
  • 多路复用、TCPFastOpen 支持

待开发:

  • 手动添加/修改节点
  • 测试节点 HTTP 时延
  • 自定义 PAC 路由规则
  • QUIC 协议支持
  • 端口号配置
  • 登陆与安全

界面截图

节点

订阅源

点击展开更多截图

设置

使用自定义PAC时可以配置路由规则

使用

如下使用方法:

  1. 不使用 docker

    如不使用 docker请确保已正确安装 v2ray-core

    官方提供了 Linux 下的一键安装脚本:

    运行下面的指令下载并安装 V2Ray。当 yum 或 apt-get 可用的情况下,此脚本会自动安装 unzip 和 daemon。这两个组件是安装 V2Ray 的必要组件。如果你使用的系统不支持 yum 或 apt-get请自行安装 unzip 和 daemon

    bash <(curl -L -s https://install.direct/go.sh)
    

    准备完毕后,可下载Releases启动 V2RayA 服务端

    或拉取源码,通过 golang 启动

    git clone https://github.com/mzz2017/V2RayA.git
    cd V2RayA/service
    sudo go run -mod=vendor main.go
    

    注意,尽管 golang 具有交叉编译的特性,但由于项目使用了 linux commands导致该方法不支持 windows。若想在 windows 体验,可借助 Docker 或 WSL。

  2. 拉取源码,使用 docker-compose 部署,在Web-GUI使用(或手动部署 Web-GUI。该方法不支持全局透明代理。

    git clone https://github.com/mzz2017/V2RayA.git
    cd V2RayA
    docker-compose up -d --build
    
  3. 使用 docker 命令部署,在Web-GUI使用(或手动部署 Web-GUI。该方法不支持全局透明代理。

    我们同步发行Docker 镜像,如果无法使用 docker-compose可以参考docker-compose.yml并使用 docker 命令自行搭建。

默认使用的四个端口分别为:

2017: V2RayA 后端端口

20170: SOCKS 协议

20171: HTTP 协议

20172: 带 PAC 的 HTTP 协议

在不同运行环境下程序表现将不同

由于 docker 容器对 systemd 的限制性,在 docker 中将采用 pid 共享进程命名空间volumes 共享存储空间,更新配置后通过结束进程触发 v2ray 容器的重启来更新配置,以无 inbounds 的配置代替断开连接,这是一种折中方案,会有如下影响:

  1. 在更换配置时略有卡顿
  2. 无法使用全局透明代理

在宿主环境下以 sudo 权限运行将不受此限制。

支持 Windows、MacOS 吗

目前仅在 Linux 进行过测试,并计划优先适配 Linux。目前尚未验证在 Windows 及 MacOS 上存在的问题。

实际上 Windows 和 MacOS 上已经存在很多优秀的 V2Ray 客户端,若无特殊需求,建议选择这些客户端。

已知问题

  • 在 windows 环境下无法监听 2017 端口。据了解Caddy 的 2015 端口也是不能监听的,后期将考虑支持自定义端口以解决问题。
  • 在使用 GoLand 进行开发时,如果开启了全局透明代理,由于程序捕获不了 GoLand 的结束 signal在程序退出后将无法恢复正常网络因此建议使用killall ___go_build_V2R来结束进程。如已中招重启系统即可。

注意

应用不会将任何用户数据保存在云端,所有用户数据存放在用户本地配置文件中。若服务端运行于 docker则当 docker 容器被清除时配置也将随之消失,请做好备份。

提供的GUI demo是由Render在本 Github 项目自动部署完成的,如果担心安全性可以自行部署。

不要将本项目用于不合法用途,作者仅将该项目用于学习研究和内网穿透的用途。

在 docker 环境中开发

docker-compose -f docker-compose.dev.yml up

gin 会监测文件改动并热重载,见codegangsta/gin

如果出现问题,可以尝试添加--build参数,或将 docker 离开 swarm 模式:docker swarm leave --force

感谢

hq450/fancyss

xlzd/quickdown

ToutyRater/v2ray-guide

txthinking/brook

相似项目

v2raywebui/V2RayWebUI

jiangxufeng/v2rayL

NoOne-hub/v2ray_client

协议

License: GPL v3