vpn-manager

module
v0.0.0-...-fc1c416 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2021 License: MIT

README

v2ray-web-manager

Build Status reliability_rating bugs

v2ray-web-manager 项目包含admin管理端和proxy端,admin端提供管理功能。proxy端提供核心的流量控制、账号识别、流量转发功能, 同时支持多种转发流量模型(1对1,1对多)。

项目核心是工作在传输层的中间件,位于用户与v2ray链路之间。通过转发流量实现。理论上支持上层所有的协议,现适配了ws协议。

ssl/tls 支持使用nginx 等工具提供,也可以套cdn提供。

特征:

  • 流量控制(qos)-无敌的速率、流量、连接数控制 ,一切都可以灵活定制
  • 账号管理
  • 流量管理-到期自动断开、流量超标自动断开
  • 服务器管理
  • 公告管理
  • 分权限
  • 邀请码注册
  • 订阅
  • 等级
如果能帮助到你,请watch star Fork

前端项目

前端项目->v2ray-manager-console

简要视图

服务器配置 服务器

管理员帐号页面 管理员账号

普通用户看到页面 管理员账号

更多页面,请自己尝试。

1.开始使用

系统要求
* java8 以上
* 内存大于等于300M
* cpu vCPU 1核心
* nginx 或者其他具有相同功能
教程

一步一步跟着我从零安装

一步一步跟着我从零配置网站

中级-为服务提供tls(https/wss)支持

高级-模式

高级-实践集群模式

其他版本

从docker中开始

2.维护与治理

数据库

数据库-默认情况下会在 /opt/jar/db 生成admin.db 定时保存就好

升级

升级前先看更新日志

更新日志
    关闭 admin
    # ps -ef | grep admin-
    # kill [进程号]
    # ps -ef | grep v2ray-proxy-
    # kill [进程号]
重置管理员密码

根据配置文件重置密码或者创建新账号。

# x.y.z 为版本号,版本大于3.1.4提供支持
java -jar admin-x.y.z.jar --spring.config.location=/opt/jar/admin.yaml restpwd
优化
->内存占用情况<-
减少java 内存占用
  1. 使用其他jre 如:openj9-eclipse, 减低内存占用明显,并且不影响性能。

测试

限速测试

说明: 本地带宽下行50Mpbs,上行约8Mpbs。admin端限速2MB/S, 测试结果如图:

测试1

测试结果:下行16.36/8=2.1 刚刚好是admin端配置的2MB/S。

参与项目

  • 查看项目的 todo-list,如果你有能力并且有时间可以实现 欢迎 pull request
  • 任何issue/文档错误,你都可以pull request
  • 想法/优化/新功能,先讨论在pull request

架构

现在架构:

now

未来架构(不继续开发):

架构1

项目结构

  • common 公有
  • proxy 代理中间件-核心
    • 提供 账号解析支持
    • 提供 流量控制
    • 提供 流量上报
    • 提供 流量转发
  • v2ray-jdk v2ray rpc 支持包
  • vpn-admin 管理后台api 端
    • 提供 用户/账号等功能的管理

警告

请遵循你国家的法律下使用。仅供学习研究

License

This project is licensed under the MIT License

Directories

Path Synopsis
v2ray-jdk
src/main/proto/v2ray.com/core
Package core provides an entry point to use V2Ray core functionalities.
Package core provides an entry point to use V2Ray core functionalities.
src/main/proto/v2ray.com/core/app/dns
Package dns is an implementation of core.DNS feature.
Package dns is an implementation of core.DNS feature.
src/main/proto/v2ray.com/core/app/policy
Package policy is an implementation of core.PolicyManager feature.
Package policy is an implementation of core.PolicyManager feature.
src/main/proto/v2ray.com/core/app/proxyman
Package proxyman defines applications for managing inbound and outbound proxies.
Package proxyman defines applications for managing inbound and outbound proxies.
src/main/proto/v2ray.com/core/common
Package common contains common utilities that are shared among other packages.
Package common contains common utilities that are shared among other packages.
src/main/proto/v2ray.com/core/common/buf
Package buf provides a light-weight memory allocation mechanism.
Package buf provides a light-weight memory allocation mechanism.
src/main/proto/v2ray.com/core/common/crypto
Package crypto provides common crypto libraries for V2Ray.
Package crypto provides common crypto libraries for V2Ray.
src/main/proto/v2ray.com/core/common/dice
Package dice contains common functions to generate random number.
Package dice contains common functions to generate random number.
src/main/proto/v2ray.com/core/common/errors
Package errors is a drop-in replacement for Golang lib 'errors'.
Package errors is a drop-in replacement for Golang lib 'errors'.
src/main/proto/v2ray.com/core/common/net
Package net is a drop-in replacement to Golang's net package, with some more functionalities.
Package net is a drop-in replacement to Golang's net package, with some more functionalities.
src/main/proto/v2ray.com/core/common/session
Package session provides functions for sessions of incoming requests.
Package session provides functions for sessions of incoming requests.
src/main/proto/v2ray.com/core/proxy
Package proxy contains all proxies used by V2Ray.
Package proxy contains all proxies used by V2Ray.
src/main/proto/v2ray.com/core/proxy/blackhole
Package blackhole is an outbound handler that blocks all connections.
Package blackhole is an outbound handler that blocks all connections.
src/main/proto/v2ray.com/core/proxy/shadowsocks
Package shadowsocks provides compatible functionality to Shadowsocks.
Package shadowsocks provides compatible functionality to Shadowsocks.
src/main/proto/v2ray.com/core/proxy/socks
Package socks provides implements of Socks protocol 4, 4a and 5.
Package socks provides implements of Socks protocol 4, 4a and 5.
src/main/proto/v2ray.com/core/proxy/vmess
Package vmess contains the implementation of VMess protocol and transportation.
Package vmess contains the implementation of VMess protocol and transportation.
src/main/proto/v2ray.com/core/transport/internet/kcp
Package kcp - A Fast and Reliable ARQ Protocol
Package kcp - A Fast and Reliable ARQ Protocol
src/main/proto/v2ray.com/core/transport/internet/websocket
Package websocket implements Websocket transport
Package websocket implements Websocket transport

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL