v2ray-web-manager

module
v3.0.4+incompatible Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2020 License: MIT

README

v2ray-web-manager

Build Status

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 或者其他具有相同功能
* java8 +
新手

一步一步跟着我从零安装

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

模式

2.维护与治理

数据库

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

升级

升级前先看更新日志

更新日志
    关闭 admin
    # ps -ef | grep admin-
    # kill [进程号]
    # ps -ef | grep v2ray-proxy-
    # kill [进程号]
优化
减少java 内存占用
  1. 使用其他jre 如:openj9-eclipse, 减低内存占用明显,并且不影响性能。

  2. 激进 java:JIT特性是提高java性能的重要编译器,其动态编译优化性能更甚于c++等一些静态编译语言。但是也是内存占有用的大户。 如果你需要减少内存占用,在运行java 命令上加 -Djava.compiler=NONE ,会大幅减少java内存占用(约30~50%),同时降低性能,大幅度增加启动时间。 出现一些动态代理的问题不要用。

测试

限速测试

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

测试1

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

架构

现在架构:

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 Acknowledgement: skywind3000@github for inventing the KCP protocol xtaci@github for translating to Golang
Package kcp - A Fast and Reliable ARQ Protocol Acknowledgement: skywind3000@github for inventing the KCP protocol xtaci@github for translating to Golang
src/main/proto/v2ray.com/core/transport/internet/websocket
Package websocket implements Websocket transport Websocket transport implements an HTTP(S) compliable, surveillance proof transport method with plausible deniability.
Package websocket implements Websocket transport Websocket transport implements an HTTP(S) compliable, surveillance proof transport method with plausible deniability.

Jump to

Keyboard shortcuts

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