From 2dc42bc0df8f22134d00e4c7f42ca556585b36fb Mon Sep 17 00:00:00 2001 From: Mohammad Reza Gharabaghi <40915667+mrgharabaghi@users.noreply.github.com> Date: Sun, 21 May 2023 17:45:45 +0100 Subject: [PATCH] Add gRPC over REALITY --- VLESS-gRPC-REALITY/README.ENG.md | 10 ++ VLESS-gRPC-REALITY/config_client.json | 128 ++++++++++++++++++++++++++ VLESS-gRPC-REALITY/config_server.json | 74 +++++++++++++++ 3 files changed, 212 insertions(+) create mode 100644 VLESS-gRPC-REALITY/README.ENG.md create mode 100644 VLESS-gRPC-REALITY/config_client.json create mode 100644 VLESS-gRPC-REALITY/config_server.json diff --git a/VLESS-gRPC-REALITY/README.ENG.md b/VLESS-gRPC-REALITY/README.ENG.md new file mode 100644 index 0000000..f865a6a --- /dev/null +++ b/VLESS-gRPC-REALITY/README.ENG.md @@ -0,0 +1,10 @@ +# gRPC over REALITY + +Generate `privateKey` and `publicKey`: +`xray x25519` + +Generate `uuid`: +`xray uuid` + +Generate `shortIds`: +`openssl rand -hex 8` diff --git a/VLESS-gRPC-REALITY/config_client.json b/VLESS-gRPC-REALITY/config_client.json new file mode 100644 index 0000000..ac2e8c1 --- /dev/null +++ b/VLESS-gRPC-REALITY/config_client.json @@ -0,0 +1,128 @@ +{ + "log": { + "access": "", + "error": "", + "loglevel": "warning" + }, + "inbounds": [ + { + "tag": "socks", + "port": 800, + "listen": "127.0.0.1", + "protocol": "socks", + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"], + "routeOnly": false + }, + "settings": { + "auth": "noauth", + "udp": true, + "allowTransparent": false + } + }, + { + "tag": "http", + "port": 801, + "listen": "127.0.0.1", + "protocol": "http", + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls"], + "routeOnly": false + }, + "settings": { + "auth": "noauth", + "udp": true, + "allowTransparent": false + } + } + ], + "outbounds": [ + { + "tag": "proxy", + "protocol": "vless", + "settings": { + "vnext": [ + { + "address": "1.2.3.4", // Server IPv4 + "port": 80, + "users": [ + { + "id": "drEwvgYhS15C", + "alterId": 0, + "email": "t@t.tt", + "security": "auto", + "encryption": "none", + "flow": "" + } + ] + } + ] + }, + "streamSettings": { + "network": "grpc", + "security": "reality", + "realitySettings": { + "serverName": "www.yahoo.com", + "fingerprint": "chrome", + "show": false, + "publicKey": "OBR2JYROQB8odK5glVW_KLnsWl3UZ-voyGq_9ihQgTI", + "shortId": "d49d578f280fd83a", + "spiderX": "" + }, + "grpcSettings": { + "serviceName": "", + "multiMode": false, + "idle_timeout": 60, + "health_check_timeout": 20, + "permit_without_stream": false, + "initial_windows_size": 0 + } + }, + "mux": { + "enabled": false, + "concurrency": -1 + } + }, + { + "tag": "direct", + "protocol": "freedom", + "settings": {} + }, + { + "tag": "block", + "protocol": "blackhole", + "settings": { + "response": { + "type": "http" + } + } + } + ], + "routing": { + "domainStrategy": "AsIs", + "rules": [ + { + "type": "field", + "inboundTag": ["api"], + "outboundTag": "api", + "enabled": true + }, + { + "id": "5708766234462982042", + "type": "field", + "outboundTag": "direct", + "ip": ["127.0.0.1", "192.168.1.1"], + "enabled": true + }, + { + "id": "4875564606963903266", + "type": "field", + "outboundTag": "proxy", + "domain": ["dns.digitalsize.net"], + "enabled": true + } + ] + } +} diff --git a/VLESS-gRPC-REALITY/config_server.json b/VLESS-gRPC-REALITY/config_server.json new file mode 100644 index 0000000..b151807 --- /dev/null +++ b/VLESS-gRPC-REALITY/config_server.json @@ -0,0 +1,74 @@ +{ + "log": { + "loglevel": "warning" + }, + "routing": { + "domainStrategy": "IPIfNonMatch", + "rules": [ + { + "type": "field", + "port": "80", + "network": "udp", + "outboundTag": "block" + }, + { + "type": "field", + "ip": ["geoip:private"], + "outboundTag": "block" + } + ] + }, + "inbounds": [ + { + "listen": "0.0.0.0", + "port": 80, + "protocol": "vless", + "settings": { + "clients": [ + { + "id": "drEwvgYhS15C", + "flow": "" + } + ], + "decryption": "none" + }, + "streamSettings": { + "network": "grpc", + "security": "reality", + "realitySettings": { + "show": false, + "dest": "www.yahoo.com:443", + "xver": 0, + "serverNames": ["www.yahoo.com", "news.yahoo.com"], + "privateKey": "kOsBHSgxhAfCeQIQyJvupiXTmQrMmsqi6y6Wc5OQZXc", + "shortIds": ["d49d578f280fd83a"] + }, + "grpcSettings": { + "serviceName": "" + } + }, + "sniffing": { + "enabled": true, + "destOverride": ["http", "tls", "quic"] + } + } + ], + "outbounds": [ + { + "protocol": "freedom", + "tag": "direct" + }, + { + "protocol": "blackhole", + "tag": "block" + } + ], + "policy": { + "levels": { + "0": { + "handshake": 2, + "connIdle": 120 + } + } + } +}