.github/ISSUE_TEMPLATE | ||
gui | ||
service | ||
.dockerignore | ||
.gitignore | ||
.travis.yml | ||
CNAME | ||
docker-compose.dev.yml | ||
docker-compose.yml | ||
Dockerfile | ||
Dockerfile.dev | ||
issue_template.md | ||
LICENSE | ||
package.json | ||
README.md | ||
yarn.lock |
V2RayA
V2RayA是V2Ray的一个Web客户端。
尽管V2Ray的客户端很多,但在Linux上好用的却寥寥无几。jiangxufeng/v2rayL是目前Linux上较好的一个客户端,但暂时无法满足我对用户体验的较高要求,决定手撸一个。
虽然V2RayA是一个Web客户端,但它支持以PWA(Progressive Web App)的方式享受桌面端应用的体验。食用方法
项目地址:https://github.com/mzz2017/V2RayA
Build Status
name | docker image | travis-ci |
---|---|---|
V2RayA |
功能清单
目前支持订阅、导入等必要功能,暂不支持手动录入节点,项目正在逐步开发中。
已支持:
- V2Ray服务控制
- 导入vmess、ss、订阅地址
- websocket、kcp、tcp、http、tls、shadowsocks全支持
- 测试节点Ping时延
- 二维码、地址分享
- 自定义PAC模式(GFWList、大陆白名单、自定义路由规则)
待开发:
- 测试节点HTTP时延
- 自动更新订阅、PAC文件
- 多路复用、TCPFastOpen
- 手动添加/修改节点
- 登陆与安全
界面截图
节点
订阅源
点击展开更多截图
设置
使用自定义PAC时可以配置路由规则
使用
如下使用方法:
-
拉取源码,在本地用docker-compose部署service,在Web-GUI使用(或手动部署Web-GUI)。
git clone https://github.com/mzz2017/V2RayA.git cd V2RayA docker-compose up -d --build
-
拉取源码,使用docker命令部署,在Web-GUI使用(或手动部署Web-GUI)。
# TODO
-
不使用docker
git clone https://github.com/mzz2017/V2RayA.git cd V2RayA/service sudo go run -mod=vendor main.go
或直接使用Releases。注意,该方法不支持windows。
默认使用的四个端口分别为:
2017: V2RayA后端端口
20170: SOCKS协议
20171: HTTP协议
20172: 带PAC的HTTP协议
用户可通过docker将上述端口映射到本地的任意端口。
在不同运行环境下程序表现将不同
由于docker容器对systemd的限制性,在docker中将采用pid共享进程命名空间,volumes共享存储空间,更新配置后通过结束进程触发v2ray容器的重启来更新配置,以无inbounds的配置代替断开连接,这是一种折中方案,但不影响正常使用。
在宿主环境下以sudo权限运行将不受此限制。
支持Windows、MacOS吗
目前仅在Linux进行过测试,并计划优先适配Linux。目前尚未验证在Windows及MacOS上存在的问题。
实际上Windows和MacOS上已经存在很多优秀的V2Ray客户端,若无特殊需求,建议选择这些客户端。
已知问题
- 在windows环境下无法监听2017端口。据了解,Caddy的2015端口也是不能监听的,后期将考虑支持自定义端口以解决问题。
注意
应用不会将任何用户数据保存在云端,所有用户数据存放在用户本地的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
。