From 4c641266047bead6dad7d49f9fa7db7c10c30480 Mon Sep 17 00:00:00 2001 From: IRN-Kawakaze <41798687+IRN-Kawakaze@users.noreply.github.com> Date: Tue, 23 Jul 2024 03:42:06 +0800 Subject: [PATCH] Add SplitHTTP-HTTP3 config (#191) --- VLESS-TLS-SplitHTTP-H3/README.md | 8 +++++ VLESS-TLS-SplitHTTP-H3/client.json | 54 ++++++++++++++++++++++++++++++ VLESS-TLS-SplitHTTP-H3/server.json | 54 ++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 VLESS-TLS-SplitHTTP-H3/README.md create mode 100644 VLESS-TLS-SplitHTTP-H3/client.json create mode 100644 VLESS-TLS-SplitHTTP-H3/server.json diff --git a/VLESS-TLS-SplitHTTP-H3/README.md b/VLESS-TLS-SplitHTTP-H3/README.md new file mode 100644 index 0000000..3ea7bd9 --- /dev/null +++ b/VLESS-TLS-SplitHTTP-H3/README.md @@ -0,0 +1,8 @@ +# 原理图: +直连:Xray client <--- HTTP3 ---> Xray server +配合 CDN 使用:Xray client <--- HTTP3 ---> CDN <--- HTTP2 or HTTP/1.1 ---> Xray server + +注意: + +默认配置仅支持客户端通过 HTTP3 直连服务端,如需和 CDN 一同使用,请参照注释修改服务端的 alpn。 + diff --git a/VLESS-TLS-SplitHTTP-H3/client.json b/VLESS-TLS-SplitHTTP-H3/client.json new file mode 100644 index 0000000..2bb806d --- /dev/null +++ b/VLESS-TLS-SplitHTTP-H3/client.json @@ -0,0 +1,54 @@ +{ + "inbounds": [ + { + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "port": 10808, + "listen": "127.0.0.1", + "protocol": "socks", + "settings": { + "udp": true + } + } + ], + "outbounds": [ + { + "protocol": "vless", + "settings": { + "vnext": [ + { + "address": "example.com", // Change to your domain. + "port": 443, + "users": [ + { + "id": "UUID", // Change to your UUID. + "encryption": "none" + } + ] + } + ] + }, + "streamSettings": { + "network": "splithttp", + "security": "tls", + "splithttpSettings": { + "path": "/splithttp", + "host": "example.com" // Change to your domain. + }, + "tlsSettings": { + "serverName": "example.com", // Change to your domain. + "alpn": [ + "h3" + ] + } + } + } + ] +} + diff --git a/VLESS-TLS-SplitHTTP-H3/server.json b/VLESS-TLS-SplitHTTP-H3/server.json new file mode 100644 index 0000000..b70823c --- /dev/null +++ b/VLESS-TLS-SplitHTTP-H3/server.json @@ -0,0 +1,54 @@ +{ + "inbounds": [ + { + "sniffing": { + "enabled": true, + "destOverride": [ + "http", + "tls", + "quic" + ] + }, + "port": 443, + "listen": "0.0.0.0", + "protocol": "vless", + "settings": { + "clients": [ + { + "id": "UUID" // Change to your UUID. + } + ], + "decryption": "none" + }, + "streamSettings": { + "network": "splithttp", + "security": "tls", + "splithttpSettings": { + "path": "/splithttp", + "host": "example.com" // Change to your domain. + }, + "tlsSettings": { + "rejectUnknownSni": true, + "minVersion": "1.3", + "alpn": [ + "h3" // If you want to use with CDN, you need to change alpn to ["h2", "http/1.1"]. + ], + "certificates": [ + { + "ocspStapling": 3600, + "certificateFile": "/path/to/fullchain.pem", // Change to your fullchain file path. + "keyFile": "/path/to/privkey.pem" // Change to your private key file path. + } + ] + } + } + } + ], + "outbounds": [ + { + "tag": "direct", + "protocol": "freedom" + } + ] +} +