mirror of
https://github.com/XTLS/Xray-examples.git
synced 2024-11-26 02:21:27 +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