• Stars
    star
    332
  • Rank 124,089 (Top 3 %)
  • Language
    Rust
  • License
    GNU Affero Genera...
  • Created over 3 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Opinionated Lightweight Implementation of V2Ray, in Rust Programming Language

v2ray-rust

Rust dependency status License: AGPL v3

An Opinionated Lightweight Implementation of V2Ray, in Rust Programming Language

GUI Support

qv2ray

qv2ray

Features

  • Proxy chains
  • Full Cone UDP for Shadowsocks/Trojan/Direct
  • Fast route algorithm
    • Hybrid/Mph Domain matcher
    • Longest prefix match for CIDR route
  • ClientHello fingerprinting resistance
  • Easy configuration

Config example

# default_outbound = "cn"
enable_api_server = true
api_server_addr = "127.0.0.1:1999"

[[ss]]
addr = "127.0.0.1:9000"
password = "123456"
method = "chacha20-poly1305"
tag = "ss0"
[[ss]]
addr = "127.0.0.1:9001"
password = "123456"
method = "chacha20-poly1305"
tag = "ss1"
[[ss]]
addr = "127.0.0.1:9002"
password = "123456"
method = "chacha20-poly1305"
tag = "ss2"
[[ss]]
addr = "127.0.0.1:9004"
password = "123456"
method = "chacha20-poly1305"
tag = "ss3"

[[vmess]]
addr = "127.0.0.1:10002"
uuid = "b831381d-6324-4d53-ad4f-8cda48b30811"
method = "aes-128-gcm"
tag = "v"

[[trojan]]
addr = "127.0.0.1:10003"
password = "password"
tag = "t"

[[ws]]
uri = "ws://127.0.0.1:10002/?ed=2048"
tag = "w"

[[direct]]
tag = "d"

[[h2]]
tag = "h2"
hosts = ["example.org"]
path = "/test"

[[grpc]]
tag = "grpc"
host = "127.0.0.1:10002"
service_name = "gungungun"

[[outbounds]]
chain = ["grpc","v"]
#chain = ["h2","v"]
# chain = ["w","v","ss2"]
# chain = ["t","w","v"]
# chain = ["ss0","ss1","ss2","ss3"]
# chain = ["ss0","ss1","ss2","ss3","w","v"]
# chain = ["ss0"]
# debug
tag = "cn"

[[blackhole]]
tag = "b"


[[outbounds]]
chain = ["d"]
tag = "private"

[[inbounds]]
addr = "127.0.0.1:1087"
enable_udp = true
tag = "mixed"

# [[dokodemo]]
# addr = "127.0.0.1:12345"
# tproxy = true
[[ip_routing_rules]]
tag = "block"
# only block 192.168.0.1 and route 192.168.0.2-192.168.0.254 to other outbounds
cidr_rules = ["192.168.0.1/32"]

[[domain_routing_rules]]
tag = "block"
domain_rules = ["baidu.com"]


# If file path is not provided,
# v2ray-rs will read env varaiable `v2ray.location.asset` or `V2RAY_LOCATION_ASSET` or current exe dir
[[geosite_rules]]
tag = "cn"
# file_path = "your_custom_geosite_file_path"
rules = ["cn"]

# If file path is not provided,
# v2ray-rs will read env varaiable `v2ray.location.asset` or `V2RAY_LOCATION_ASSET` or current exe dir
[[geoip_rules]]
tag = "cn"
# file_path = "your_custom_geoip_file_path"
rules = ["cn"]

# If file path is not provided,
# v2ray-rs will read env varaiable `v2ray.location.asset` or `V2RAY_LOCATION_ASSET` or current exe dir
[[geoip_rules]]
tag="private"
# file_path = "your_custom_geoip_file_path"
rules = ["private"]


[[outbounds]]
chain = ["b"]
tag = "block"

# [[dokodemo]]
# addr = "127.0.0.1:12345"
# tproxy = true

Roadmap

🚧 Interested but not implemented yet Implemented Not Interested 🤔

geosite fast matcher

geoip fast matcher

Rust generator

socks5

  • socks5 Inbound
  • UDP support

http

  • http Inbound
  • mixed Inbound

Vmess

  • Vmess Aead Outbound
  • UDP support

Shadowsocks

  • Shadowsocks Outbound
  • UDP support

Trojan

  • Trojan
  • UDP support

VLESS

Chainable Steam

Chainable UDP

Stream settings

  • TLS
  • HTTP/2
  • WebSocket
  • WebSocket-0-rtt
  • gRPC
  • QUIC
  • DomainSocket
  • mKCP

Router

  • geosite
  • geoip

More Repositories

1

Qv2ray

⭐ Linux / Windows / macOS 跨平台 V2Ray 客户端 | 支持 VMess / VLESS / SSR / Trojan / Trojan-Go / NaiveProxy / HTTP / HTTPS / SOCKS5 | 使用 C++ / Qt 开发 | 可拓展插件式设计 ⭐
C++
16,386
star
2

QvPlugin-Trojan

在 Qv2ray 中使用 Trojan, 感谢 Trojan-Qt5 0.x
C++
346
star
3

QvPlugin-SSR

适用于 Qv2ray 的 ShadowSocksR 插件,使用此插件在 Qv2ray 中启用 SSR 功能
C++
311
star
4

QvPlugin-Trojan-Go

适用于 Qv2ray v2.6+ 的 Trojan-Go 插件
C++
251
star
5

mmp-go

Mega Multiplexer, a single port multi-service relay for shadowsocks. 中转机单端口转发多台shadowsocks服务器。
Go
185
star
6

QvPlugin-NaiveProxy

你们啊,N a i v e!
C++
183
star
7

gun

Toy gRPC Tunnel over CloudFlare (Proof of Concept)
Go
163
star
8

QvPlugin-SS

Shadowsocks SIP003 plugin for Qv2ray
C++
119
star
9

qv2ray.github.io

🌟 Qv2ray 项目官方文档 🌟 ,使用 Vuepress / Markdown, 欢迎帮助完善 & 提交 PR!
77
star
10

QvPlugin-Command

在 Qv2ray 状态改变时运行指定的程序!
C++
64
star
11

mochi

🍡Mochi: A Tasty Solution for Chinese Scoop Users
Shell
30
star
12

QvPlugin-Template

🔨 用于编写 Qv2ray 插件的模板项目, Template project to build a Qv2ray plugin.
C++
24
star
13

QNodeEditor

QNodeEditor
C++
19
star
14

rc4md5cry

rc4md5cry: denial of service for rc4-md5 shadowsocks nodes (shadowboom paper is pending)
Rust
17
star
15

mmp-rs

一沙一世界,一口通全球 🌏
Rust
14
star
16

shadowsocksr-uvw

A ShadowsocksR implementation in uvw
C++
14
star
17

Deprecation-Notice

有关 Qv2ray 主项目及插件不再进行维护的通知
14
star
18

debian

Debian Repository for Qv2ray
14
star
19

QvPlugin-Interface

Qv2ray 插件接口
C++
12
star
20

io_uring-zh-cn

Efficient IO with io_uring Chinese (Simplified) Translation
12
star
21

gun-lite

Same gRPC Tunnel, but without gRPC / Protobuf
Go
10
star
22

QJsonStruct

Convert ANY C++ structs into / from Qt QJsonStruct / QtJson 和 C++ 结构体互转
C++
9
star
23

DomainMatcher

Rust
8
star
24

shadowboom-paper

Shadowboom: A Practical “D”DoS Art on Shared Stateless Proxies
7
star
25

Plugin-Windows-Toolbar

It's a toolbar on Windows taskbar indicating Qv2ray status.
C++
5
star
26

debian-dev

Debian Repository for Qv2ray (development branch)
5
star
27

Plugin-Plasma-Toolbar

It's a toolbar on Plasma desktop indicating Qv2ray status.
QML
5
star
28

CIDRMatcher

Rust
3
star
29

QvRPCBridge

libqvb is a bridge for Qv2ray and v2ray-core to communicate with each other.
Go
3
star
30

shadowsocks-uvw

A shadowsocks client implementation in uvw
C++
3
star
31

QvAndroidCore

Android core library for Qv2ray
3
star
32

homebrew-qv2ray

Homebrew tap for Qv2ray
Ruby
2
star
33

Qv2ray-deps

Pre-built Qv2ray Dependencies
2
star
34

QvTodoBot

Python
2
star
35

69proxy

一生二,二生万物 / 6 and 9, yin and yang, get and post / Proof of Concept
2
star
36

QCron

Task scheduler using cron syntax in Qt
C++
2
star
37

PureSource

A C++ header-only helper library to remove comments from Json. (any c-style source code)
C++
1
star
38

CodeBrowser

Browse Qv2ray code online without setting up development environment!
Shell
1
star
39

QvUIStyles

Built-in UI styles for Qv2ray
CSS
1
star
40

qtbackport-script

Python
1
star