mirror of
https://github.com/XTLS/Xray-examples.git
synced 2024-11-22 08:31:29 +00:00
Add: gRPC
Co-Authored-By: EIKULG <34759969+EIKULG@users.noreply.github.com>
This commit is contained in:
parent
466abebfd9
commit
804c2e7cba
9
VLESS-GRPC/Caddyfile
Normal file
9
VLESS-GRPC/Caddyfile
Normal file
|
@ -0,0 +1,9 @@
|
|||
xx.com {
|
||||
@grpc {
|
||||
protocol grpc
|
||||
path # 填写你的 ServiceName
|
||||
}
|
||||
reverse_proxy /h2 h2c://127.0.0.1:2003
|
||||
root * /var/www
|
||||
file_server
|
||||
}
|
20
VLESS-GRPC/README.md
Normal file
20
VLESS-GRPC/README.md
Normal file
|
@ -0,0 +1,20 @@
|
|||
# VLESS-GRPC
|
||||
|
||||
## 原理图 (Caddy):
|
||||
Xray client <--- gRPC(TLS) ---> Caddy2 <--- gRPC(cleartext) ---> Xray server
|
||||
|
||||
## Nginx:
|
||||
|
||||
同时,您也可以选择使用 Nginx。示例配置片段如下(来自 @xiaoQzhuren):
|
||||
```conf
|
||||
# 填写你的 ServiceName
|
||||
location / {
|
||||
if ($request_method != "POST") {
|
||||
return 404;
|
||||
}
|
||||
client_max_body_size 0;
|
||||
grpc_read_timeout 1071906480m;
|
||||
grpc_pass grpc://127.0.0.1:2002;
|
||||
}
|
||||
|
||||
```
|
66
VLESS-GRPC/client.json
Normal file
66
VLESS-GRPC/client.json
Normal file
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
"log": {},
|
||||
"inbounds": [
|
||||
{
|
||||
"port": "1080",
|
||||
"protocol": "socks",
|
||||
"settings": {
|
||||
"auth": "noauth",
|
||||
"udp": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"port": "1081",
|
||||
"protocol": "http",
|
||||
"settings": {}
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"protocol": "vless",
|
||||
"settings": {
|
||||
"vnext": [
|
||||
{
|
||||
"address": "xx.com",
|
||||
"port": 443,
|
||||
"users": [
|
||||
{
|
||||
"id": "", //填写你的 UUID
|
||||
"encryption": "none"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "grpc",
|
||||
"security": "tls",
|
||||
"grpcSettings": {
|
||||
"serviceName": "" //填写你的 ServiceName
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "direct",
|
||||
"protocol": "freedom",
|
||||
"settings": {}
|
||||
},
|
||||
{
|
||||
"tag": "blocked",
|
||||
"protocol": "blackhole",
|
||||
"settings": {}
|
||||
}
|
||||
],
|
||||
"routing": {
|
||||
"domainStrategy": "IPOnDemand",
|
||||
"rules": [
|
||||
{
|
||||
"type": "field",
|
||||
"ip": [
|
||||
"geoip:private"
|
||||
],
|
||||
"outboundTag": "direct"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
50
VLESS-GRPC/server.json
Normal file
50
VLESS-GRPC/server.json
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"log": {
|
||||
"loglevel": "warning"
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"port": 2002,
|
||||
"listen": "127.0.0.1",
|
||||
"protocol": "vless",
|
||||
"settings": {
|
||||
"clients": [
|
||||
{
|
||||
"id": "" // 填写你的 UUID
|
||||
}
|
||||
],
|
||||
"decryption": "none"
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "grpc",
|
||||
"grpcSettings": {
|
||||
"serviceName": "" // 填写你的 ServiceName
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"tag": "direct",
|
||||
"protocol": "freedom",
|
||||
"settings": {}
|
||||
},
|
||||
{
|
||||
"tag": "blocked",
|
||||
"protocol": "blackhole",
|
||||
"settings": {}
|
||||
}
|
||||
],
|
||||
"routing": {
|
||||
"domainStrategy": "AsIs",
|
||||
"rules": [
|
||||
{
|
||||
"type": "field",
|
||||
"ip": [
|
||||
"geoip:private"
|
||||
],
|
||||
"outboundTag": "blocked"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue