diff --git a/Caddy+h2/Caddyfile b/Caddy+h2/Caddyfile
new file mode 100644
index 0000000..d55a735
--- /dev/null
+++ b/Caddy+h2/Caddyfile
@@ -0,0 +1,11 @@
+https://example.domain {
+ tls kiri_so@outlook.com
+ root /var/www/
+
+ proxy /test https://127.0.0.1:8443 {
+ header_upstream Host "example.domain"
+ header_upstream X-Forwarded-Proto "https"
+ insecure_skip_verify
+ }
+
+}
\ No newline at end of file
diff --git a/Caddy+h2/config_client.json b/Caddy+h2/config_client.json
new file mode 100755
index 0000000..e4e7ed5
--- /dev/null
+++ b/Caddy+h2/config_client.json
@@ -0,0 +1,111 @@
+{
+ "outbound": {
+ "streamSettings": {
+ "network": "h2",
+ "kcpSettings": null,
+ "httpSettings": {
+ "host": [
+ "example.domain"
+ ],
+ "path": "/test"
+ },
+ "tcpSettings": null,
+ "tlsSettings": {},
+ "security": "tls"
+ },
+ "tag": "agentout",
+ "protocol": "vmess",
+ "mux": {
+ "enabled": true
+ },
+ "settings": {
+ "vnext": [
+ {
+ "users": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "0cdf8a45-303d-4fed-9780-29aa7f54175e"
+ }
+ ],
+ "port": 443,
+ "address": "example.domain"
+ }
+ ]
+ }
+ },
+ "log": {
+ "access": "",
+ "loglevel": "info",
+ "error": ""
+ },
+ "outboundDetour": [
+ {
+ "tag": "direct",
+ "protocol": "freedom",
+ "settings": {
+ "response": null
+ }
+ },
+ {
+ "tag": "blockout",
+ "protocol": "blackhole",
+ "settings": {
+ "response": {
+ "type": "http"
+ }
+ }
+ }
+ ],
+ "inbound": {
+ "streamSettings": null,
+ "settings": {
+ "ip": "127.0.0.1",
+ "udp": true,
+ "clients": null,
+ "auth": "noauth"
+ },
+ "protocol": "socks",
+ "port": 1080,
+ "listen": "0.0.0.0"
+ },
+ "inboundDetour": null,
+ "routing": {
+ "settings": {
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "direct"
+ }
+ ],
+ "domainStrategy": "IPIfNonMatch"
+ },
+ "strategy": "rules"
+ },
+ "dns": {
+ "servers": [
+ "8.8.8.8",
+ "8.8.4.4",
+ "localhost"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/Caddy+h2/config_server.json b/Caddy+h2/config_server.json
new file mode 100755
index 0000000..7fa11b2
--- /dev/null
+++ b/Caddy+h2/config_server.json
@@ -0,0 +1,91 @@
+{
+ "outbound": {
+ "streamSettings": null,
+ "tag": null,
+ "protocol": "freedom",
+ "mux": null,
+ "settings": null
+ },
+ "log": {
+ "access": "/var/log/v2ray/access.log",
+ "loglevel": "error",
+ "error": "/var/log/v2ray/error.log"
+ },
+ "inboundDetour": null,
+ "inbound": {
+ "streamSettings": {
+ "network": "h2",
+ "kcpSettings": null,
+ "httpSettings": {
+ "host": [
+ "example.domain"
+ ],
+ "path": "/test"
+ },
+ "tcpSettings": null,
+ "tlsSettings": {
+ "certificates": [
+ {
+ "keyFile": "/path/to/example.domain.key",
+ "certificateFile": "/path/to/example.domain/fullchain.cer"
+ }
+ ]
+ },
+ "security": "tls"
+ },
+ "listen": null,
+ "protocol": "vmess",
+ "port": 8443,
+ "settings": {
+ "ip": null,
+ "udp": true,
+ "clients": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "0cdf8a45-303d-4fed-9780-29aa7f54175e"
+ }
+ ],
+ "auth": null
+ }
+ },
+ "outboundDetour": [
+ {
+ "tag": "blocked",
+ "protocol": "blackhole",
+ "settings": null
+ }
+ ],
+ "routing": {
+ "strategy": "rules",
+ "settings": {
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "blocked"
+ }
+ ],
+ "domainStrategy": null
+ }
+ },
+ "dns": null
+}
\ No newline at end of file
diff --git a/HTTP2/config_client.json b/HTTP2/config_client.json
new file mode 100755
index 0000000..e4e7ed5
--- /dev/null
+++ b/HTTP2/config_client.json
@@ -0,0 +1,111 @@
+{
+ "outbound": {
+ "streamSettings": {
+ "network": "h2",
+ "kcpSettings": null,
+ "httpSettings": {
+ "host": [
+ "example.domain"
+ ],
+ "path": "/test"
+ },
+ "tcpSettings": null,
+ "tlsSettings": {},
+ "security": "tls"
+ },
+ "tag": "agentout",
+ "protocol": "vmess",
+ "mux": {
+ "enabled": true
+ },
+ "settings": {
+ "vnext": [
+ {
+ "users": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "0cdf8a45-303d-4fed-9780-29aa7f54175e"
+ }
+ ],
+ "port": 443,
+ "address": "example.domain"
+ }
+ ]
+ }
+ },
+ "log": {
+ "access": "",
+ "loglevel": "info",
+ "error": ""
+ },
+ "outboundDetour": [
+ {
+ "tag": "direct",
+ "protocol": "freedom",
+ "settings": {
+ "response": null
+ }
+ },
+ {
+ "tag": "blockout",
+ "protocol": "blackhole",
+ "settings": {
+ "response": {
+ "type": "http"
+ }
+ }
+ }
+ ],
+ "inbound": {
+ "streamSettings": null,
+ "settings": {
+ "ip": "127.0.0.1",
+ "udp": true,
+ "clients": null,
+ "auth": "noauth"
+ },
+ "protocol": "socks",
+ "port": 1080,
+ "listen": "0.0.0.0"
+ },
+ "inboundDetour": null,
+ "routing": {
+ "settings": {
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "direct"
+ }
+ ],
+ "domainStrategy": "IPIfNonMatch"
+ },
+ "strategy": "rules"
+ },
+ "dns": {
+ "servers": [
+ "8.8.8.8",
+ "8.8.4.4",
+ "localhost"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/HTTP2/config_server.json b/HTTP2/config_server.json
new file mode 100755
index 0000000..bb8ecf1
--- /dev/null
+++ b/HTTP2/config_server.json
@@ -0,0 +1,91 @@
+{
+ "outbound": {
+ "streamSettings": null,
+ "tag": null,
+ "protocol": "freedom",
+ "mux": null,
+ "settings": null
+ },
+ "log": {
+ "access": "/var/log/v2ray/access.log",
+ "loglevel": "error",
+ "error": "/var/log/v2ray/error.log"
+ },
+ "inboundDetour": null,
+ "inbound": {
+ "streamSettings": {
+ "network": "h2",
+ "kcpSettings": null,
+ "httpSettings": {
+ "host": [
+ "example.domain"
+ ],
+ "path": "/test"
+ },
+ "tcpSettings": null,
+ "tlsSettings": {
+ "certificates": [
+ {
+ "keyFile": "/path/to/example.domain.key",
+ "certificateFile": "/path/to/example.domain/fullchain.cer"
+ }
+ ]
+ },
+ "security": "tls"
+ },
+ "listen": null,
+ "protocol": "vmess",
+ "port": 443,
+ "settings": {
+ "ip": null,
+ "udp": true,
+ "clients": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "0cdf8a45-303d-4fed-9780-29aa7f54175e"
+ }
+ ],
+ "auth": null
+ }
+ },
+ "outboundDetour": [
+ {
+ "tag": "blocked",
+ "protocol": "blackhole",
+ "settings": null
+ }
+ ],
+ "routing": {
+ "strategy": "rules",
+ "settings": {
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "blocked"
+ }
+ ],
+ "domainStrategy": null
+ }
+ },
+ "dns": null
+}
\ No newline at end of file
diff --git a/How_To_Choose.jpg b/How_To_Choose.jpg
new file mode 100755
index 0000000..ff5a6e6
Binary files /dev/null and b/How_To_Choose.jpg differ
diff --git a/MITM/client.json b/MITM/client.json
new file mode 100644
index 0000000..c7fcd03
--- /dev/null
+++ b/MITM/client.json
@@ -0,0 +1,194 @@
+{
+ "inbound": {
+ "allowPassive": true,
+ "listen": "127.0.0.1",
+ "port": 10854,
+ "protocol": "socks",
+ "settings": {
+ "auth": "noauth",
+ "udp": true
+ },
+ "tag": "vanillas"
+ },
+ "inboundDetour": [
+ {
+ "listen": "127.0.0.1",
+ "port": 10855,
+ "protocol": "http",
+ "settings": {},
+ "tag": "vanilla"
+ },
+ {
+ "listen": "0.0.0.0",
+ "port": 10856,
+ "tag": "mitm",
+ "protocol": "dokodemo-door",
+ "settings": {
+ "network": "tcp",
+ "timeout": 0,
+ "address": "kiri.moe",
+ "port": 443,
+ "followRedirect": true
+ },
+ "streamSettings": {
+ "security": "tls",
+ "tlsSettings": {
+ "allowInsecure": false,
+ "alpn": [
+ "http/1.1"
+ ],
+ "certificates": [
+ {
+ "usage": "issue",
+ "alpn": [
+ "http/1.1"
+ ],
+ "certificateFile": "/path/to/ca.cer",
+ "keyFile": "/path/to/ca.key"
+ }
+ ]
+ }
+ },
+ "sniffing": {
+ "enabled": false,
+ "destOverride": [
+ "http",
+ "tls"
+ ]
+ }
+ }
+ ],
+ "log": {
+ "access": "",
+ "error": "",
+ "loglevel": "info"
+ },
+ "outbound": {
+ "mux": {
+ "enabled": true
+ },
+ "protocol": "vmess",
+ "proxySettings": {
+ "tag": "proxy"
+ },
+ "settings": {
+ "vnext": [
+ {
+ "address": "YOUR_IP",
+ "port": 11451,
+ "users": [
+ {
+ "alterId": 16,
+ "id": "b4fe5665-cebe-d292-0e66-9139958200f4",
+ "level": 0,
+ "security": "auto"
+ }
+ ]
+ }
+ ]
+ },
+ "streamSettings": {
+ "network": "tcp",
+ "security": "none"
+ }
+ },
+ "outboundDetour": [
+ {
+ "protocol": "freedom",
+ "settings": {},
+ "tag": "direct"
+ },
+ {
+ "protocol": "freedom",
+ "settings": {
+ "redirect": "127.0.0.1:10856"
+ },
+ "tag": "reentry"
+ },
+ {
+ "mux": {
+ "enabled": true
+ },
+ "protocol": "vmess",
+ "proxySettings": {
+ "tag": "proxy"
+ },
+ "settings": {
+ "vnext": [
+ {
+ "address": "YOUR_IP",
+ "port": 11452,
+ "users": [
+ {
+ "alterId": 16,
+ "id": "b4fe5665-cebe-d292-0e66-9139958200f4",
+ "level": 0,
+ "security": "auto"
+ }
+ ]
+ }
+ ]
+ },
+ "streamSettings": {
+ "network": "tcp",
+ "security": "none"
+ },
+ "tag": "notouch"
+ }
+ ],
+ "routing": {
+ "settings": {
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "outboundTag": "direct",
+ "type": "field"
+ },
+ {
+ "inboundTag": [
+ "vanilla",
+ "vanillas"
+ ],
+ "port": "443",
+ "outboundTag": "reentry",
+ "type": "field"
+ },
+ {
+ "inboundTag": [
+ "vanilla",
+ "vanillas"
+ ],
+ "port": "0-442",
+ "outboundTag": "notouch",
+ "type": "field"
+ },
+ {
+ "inboundTag": [
+ "vanilla",
+ "vanillas"
+ ],
+ "port": "444-65535",
+ "outboundTag": "notouch",
+ "type": "field"
+ }
+ ]
+ },
+ "strategy": "rules"
+ }
+}
\ No newline at end of file
diff --git a/MITM/readme.md b/MITM/readme.md
new file mode 100644
index 0000000..ac99663
--- /dev/null
+++ b/MITM/readme.md
@@ -0,0 +1 @@
+如您对这个配置分类存在疑问,请移步
\ No newline at end of file
diff --git a/MITM/server.json b/MITM/server.json
new file mode 100644
index 0000000..831b25d
--- /dev/null
+++ b/MITM/server.json
@@ -0,0 +1,117 @@
+{
+ "inbound": {
+ "allowPassive": true,
+ "port": 11451,
+ "protocol": "vmess",
+ "settings": {
+ "clients": [
+ {
+ "alterId": 16,
+ "id": "b4fe5665-cebe-d292-0e66-9139958200f4",
+ "level": 1,
+ "security": "auto"
+ }
+ ]
+ },
+ "streamSettings": {
+ "network": "tcp",
+ "security": "none"
+ }
+ },
+ "inboundDetour": [
+ {
+ "allowPassive": true,
+ "port": 11452,
+ "tag": "notouch",
+ "protocol": "vmess",
+ "settings": {
+ "clients": [
+ {
+ "alterId": 16,
+ "id": "b4fe5665-cebe-d292-0e66-9139958200f4",
+ "level": 1,
+ "security": "auto"
+ }
+ ]
+ },
+ "streamSettings": {
+ "network": "tcp",
+ "security": "none"
+ }
+ }
+ ],
+ "log": {
+ "access": "",
+ "error": "",
+ "loglevel": "info"
+ },
+ "outbound": {
+ "protocol": "freedom",
+ "settings": {
+ "domainStrategy": "AsIs",
+ "timeout": 0
+ },
+ "streamSettings": {
+ "security": "tls",
+ "tlsSettings": {
+ "allowInsecure": false,
+ "alpn": [
+ "http/1.1"
+ ]
+ }
+ }
+ },
+ "outboundDetour": [
+ {
+ "protocol": "blackhole",
+ "settings": {},
+ "tag": "blocked"
+ },
+ {
+ "protocol": "freedom",
+ "tag": "nointercept",
+ "settings": {
+ "domainStrategy": "AsIs",
+ "timeout": 0
+ },
+ "streamSettings": {
+ "security": "none"
+ }
+ }
+ ],
+ "routing": {
+ "settings": {
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "outboundTag": "blocked",
+ "type": "field"
+ },
+ {
+ "inboundTag": [
+ "notouch"
+ ],
+ "outboundTag": "nointercept",
+ "type": "field"
+ }
+ ]
+ },
+ "strategy": "rules"
+ }
+}
\ No newline at end of file
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
index 39db056..2bb9861
--- a/README.md
+++ b/README.md
@@ -11,6 +11,13 @@
如果你在配置过程中遇到问题,请再看一遍文档,或是在Google搜索以求自己解决问题。当你确认你的问题无法独立解决时,你可以在v2ray的telegram群组里求助,或是在v2ray官方项目中提交issue。
遇事不决,请RTFM/STFW。
+
+**如何选取适合自己的配置**:
+![](How_To_Choose.jpg)
+附加说明:
+尽管websocket+TLS+Web可能称得上是现阶段最好的方案,但**绝对**不是推荐新手一上来就尝试的方案,更不是V2Ray唯一的用法。
+同时,你应当了解,每个地区的网络状况不同(主要指对不同协议的QoS程度),你可以将所有配置都尝试一遍来寻找最适合自己的,尽量少问、最好不问"为什么我的V2Ray这么慢?"这样的问题。
+
玩的愉快。
感谢Project V的所有开发人员,以及v2ray.fun的作者雨落无声。
diff --git a/Shadowsocks+mKcp/config_cilent.json b/Shadowsocks+mKcp/config_cilent.json
old mode 100644
new mode 100755
diff --git a/Shadowsocks+mKcp/config_server.json b/Shadowsocks+mKcp/config_server.json
old mode 100644
new mode 100755
diff --git a/TCP+TLS/config_client.json b/TCP+TLS/config_client.json
new file mode 100755
index 0000000..957a3fd
--- /dev/null
+++ b/TCP+TLS/config_client.json
@@ -0,0 +1,106 @@
+{
+ "dns": {
+ "servers": [
+ "8.8.8.8",
+ "8.8.4.4",
+ "localhost"
+ ]
+ },
+ "inbound": {
+ "listen": "0.0.0.0",
+ "port": 1080,
+ "protocol": "socks",
+ "settings": {
+ "auth": "noauth",
+ "clients": null,
+ "ip": "127.0.0.1",
+ "udp": true
+ },
+ "streamSettings": null
+ },
+ "inboundDetour": null,
+ "log": {
+ "access": "/var/log/v2ray/access.log",
+ "error": "/var/log/v2ray/error.log",
+ "loglevel": "info"
+ },
+ "outbound": {
+ "mux": {
+ "enabled": true
+ },
+ "protocol": "vmess",
+ "settings": {
+ "vnext": [
+ {
+ "address": "example.domain",
+ "port": 443,
+ "users": [
+ {
+ "alterId": 64,
+ "id": "0cdf8a45-303d-4fed-9780-29aa7f54175e",
+ "security": "none"
+ }
+ ]
+ }
+ ]
+ },
+ "streamSettings": {
+ "kcpSettings": null,
+ "network": "tcp",
+ "security": "tls",
+ "tcpSettings": null,
+ "tlsSettings": {},
+ "wsSettings": null
+ },
+ "tag": "agentout"
+ },
+ "outboundDetour": [
+ {
+ "protocol": "freedom",
+ "settings": {
+ "response": null
+ },
+ "tag": "direct"
+ },
+ {
+ "protocol": "blackhole",
+ "settings": {
+ "response": {
+ "type": "http"
+ }
+ },
+ "tag": "blockout"
+ }
+ ],
+ "routing": {
+ "settings": {
+ "domainStrategy": "IPIfNonMatch",
+ "rules": [
+ {
+ "domain": null,
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "outboundTag": "direct",
+ "port": null,
+ "type": "field"
+ }
+ ]
+ },
+ "strategy": "rules"
+ }
+}
\ No newline at end of file
diff --git a/TCP+TLS/config_server.json b/TCP+TLS/config_server.json
new file mode 100755
index 0000000..673edf3
--- /dev/null
+++ b/TCP+TLS/config_server.json
@@ -0,0 +1,86 @@
+{
+ "dns": null,
+ "inbound": {
+ "listen": null,
+ "port": 443,
+ "protocol": "vmess",
+ "settings": {
+ "auth": null,
+ "clients": [
+ {
+ "alterId": 64,
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9",
+ "security": "none"
+ }
+ ],
+ "ip": null,
+ "udp": true
+ },
+ "streamSettings": {
+ "kcpSettings": null,
+ "network": "tcp",
+ "security": "tls",
+ "tcpSettings": null,
+ "tlsSettings": {
+ "certificates": [
+ {
+ "certificateFile": "/path/to/example.domain/fullchain.cer",
+ "keyFile": "/path/to/example.domain.key"
+ }
+ ]
+ },
+ "wsSettings": null
+ }
+ },
+ "inboundDetour": null,
+ "log": {
+ "access": "/var/log/v2ray/access.log",
+ "error": "/var/log/v2ray/error.log",
+ "loglevel": "info"
+ },
+ "outbound": {
+ "mux": null,
+ "protocol": "freedom",
+ "settings": null,
+ "streamSettings": null,
+ "tag": null
+ },
+ "outboundDetour": [
+ {
+ "protocol": "blackhole",
+ "settings": null,
+ "tag": "blocked"
+ }
+ ],
+ "routing": {
+ "settings": {
+ "domainStrategy": null,
+ "rules": [
+ {
+ "domain": null,
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "outboundTag": "blocked",
+ "port": null,
+ "type": "field"
+ }
+ ]
+ },
+ "strategy": "rules"
+ }
+}
\ No newline at end of file
diff --git a/TCP/config_client.json b/TCP/config_client.json
old mode 100644
new mode 100755
index 4631914..4f9f35d
--- a/TCP/config_client.json
+++ b/TCP/config_client.json
@@ -14,15 +14,19 @@
"enabled": true
},
"settings": {
- "vnext": [{
- "users": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
- "port": 1234,
- "address": "Your_IP_Address"
- }]
+ "vnext": [
+ {
+ "users": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
+ "port": 1234,
+ "address": "Your_IP_Address"
+ }
+ ]
}
},
"log": {
@@ -30,7 +34,8 @@
"loglevel": "info",
"error": ""
},
- "outboundDetour": [{
+ "outboundDetour": [
+ {
"tag": "direct",
"protocol": "freedom",
"settings": {
@@ -62,29 +67,31 @@
"inboundDetour": null,
"routing": {
"settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "direct"
- }],
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "direct"
+ }
+ ],
"domainStrategy": "IPIfNonMatch"
},
"strategy": "rules"
@@ -96,4 +103,4 @@
"localhost"
]
}
-}
+}
\ No newline at end of file
diff --git a/TCP/config_server.json b/TCP/config_server.json
old mode 100644
new mode 100755
index ff95a6d..7edc5c2
--- a/TCP/config_server.json
+++ b/TCP/config_server.json
@@ -27,47 +27,53 @@
"settings": {
"ip": null,
"udp": true,
- "clients": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
+ "clients": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
"auth": null
}
},
- "outboundDetour": [{
- "tag": "blocked",
- "protocol": "blackhole",
- "settings": null
- }],
+ "outboundDetour": [
+ {
+ "tag": "blocked",
+ "protocol": "blackhole",
+ "settings": null
+ }
+ ],
"routing": {
"strategy": "rules",
"settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "blocked"
- }],
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "blocked"
+ }
+ ],
"domainStrategy": null
}
},
"dns": null
-}
+}
\ No newline at end of file
diff --git a/http/config_client.json b/http/config_client.json
old mode 100644
new mode 100755
index 308be18..27f3791
--- a/http/config_client.json
+++ b/http/config_client.json
@@ -57,15 +57,19 @@
"enabled": true
},
"settings": {
- "vnext": [{
- "users": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
- "port": 1234,
- "address": "Your_IP_Address"
- }]
+ "vnext": [
+ {
+ "users": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
+ "port": 1234,
+ "address": "Your_IP_Address"
+ }
+ ]
}
},
"log": {
@@ -73,7 +77,8 @@
"loglevel": "info",
"error": ""
},
- "outboundDetour": [{
+ "outboundDetour": [
+ {
"tag": "direct",
"protocol": "freedom",
"settings": {
@@ -105,29 +110,31 @@
"inboundDetour": null,
"routing": {
"settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "direct"
- }],
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "direct"
+ }
+ ],
"domainStrategy": "IPIfNonMatch"
},
"strategy": "rules"
@@ -139,4 +146,4 @@
"localhost"
]
}
-}
+}
\ No newline at end of file
diff --git a/http/config_server.json b/http/config_server.json
old mode 100644
new mode 100755
index 4ee60de..dfa20fd
--- a/http/config_server.json
+++ b/http/config_server.json
@@ -11,11 +11,13 @@
"loglevel": "info",
"error": "/var/log/v2ray/error.log"
},
- "outboundDetour": [{
- "tag": "blocked",
- "protocol": "blackhole",
- "settings": null
- }],
+ "outboundDetour": [
+ {
+ "tag": "blocked",
+ "protocol": "blackhole",
+ "settings": null
+ }
+ ],
"inbound": {
"streamSettings": {
"network": "tcp",
@@ -63,8 +65,7 @@
"reason": "OK",
"version": "1.1"
}
- },
- "connectionReuse": true
+ }
},
"tlsSettings": {},
"security": ""
@@ -72,11 +73,13 @@
"settings": {
"ip": null,
"udp": true,
- "clients": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
+ "clients": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
"auth": null
},
"protocol": "vmess",
@@ -86,32 +89,34 @@
"inboundDetour": null,
"routing": {
"settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "blocked"
- }],
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "blocked"
+ }
+ ],
"domainStrategy": null
},
"strategy": "rules"
},
"dns": null
-}
+}
\ No newline at end of file
diff --git a/mKcp 伪装微信视频流量/config_client.json b/mKcp 伪装微信视频流量/config_client.json
old mode 100644
new mode 100755
index c0c5db1..e92a562
--- a/mKcp 伪装微信视频流量/config_client.json
+++ b/mKcp 伪装微信视频流量/config_client.json
@@ -3,7 +3,7 @@
"streamSettings": {
"network": "kcp",
"kcpSettings": {
- "uplinkCapacity": 100,
+ "uplinkCapacity": 15,
"downlinkCapacity": 100,
"readBufferSize": 2,
"mtu": 1350,
@@ -27,15 +27,19 @@
"enabled": true
},
"settings": {
- "vnext": [{
- "users": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
- "port": 1234,
- "address": "Your_IP_Address"
- }]
+ "vnext": [
+ {
+ "users": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
+ "port": 1234,
+ "address": "Your_IP_Address"
+ }
+ ]
}
},
"log": {
@@ -43,7 +47,8 @@
"loglevel": "info",
"error": ""
},
- "outboundDetour": [{
+ "outboundDetour": [
+ {
"tag": "direct",
"protocol": "freedom",
"settings": {
@@ -75,29 +80,31 @@
"inboundDetour": null,
"routing": {
"settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "direct"
- }],
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "direct"
+ }
+ ],
"domainStrategy": "IPIfNonMatch"
},
"strategy": "rules"
@@ -109,4 +116,4 @@
"localhost"
]
}
-}
+}
\ No newline at end of file
diff --git a/mKcp 伪装微信视频流量/config_server.json b/mKcp 伪装微信视频流量/config_server.json
old mode 100644
new mode 100755
index bde7655..9edc1c8
--- a/mKcp 伪装微信视频流量/config_server.json
+++ b/mKcp 伪装微信视频流量/config_server.json
@@ -11,16 +11,18 @@
"loglevel": "info",
"error": "/var/log/v2ray/error.log"
},
- "outboundDetour": [{
- "tag": "blocked",
- "protocol": "blackhole",
- "settings": null
- }],
+ "outboundDetour": [
+ {
+ "tag": "blocked",
+ "protocol": "blackhole",
+ "settings": null
+ }
+ ],
"inbound": {
"streamSettings": {
"network": "kcp",
"kcpSettings": {
- "uplinkCapacity": 100,
+ "uplinkCapacity": 15,
"downlinkCapacity": 100,
"readBufferSize": 2,
"mtu": 1350,
@@ -41,11 +43,13 @@
"settings": {
"ip": null,
"udp": true,
- "clients": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
+ "clients": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
"auth": null
},
"protocol": "vmess",
@@ -55,32 +59,34 @@
"inboundDetour": null,
"routing": {
"settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "blocked"
- }],
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "blocked"
+ }
+ ],
"domainStrategy": null
},
"strategy": "rules"
},
"dns": null
-}
+}
\ No newline at end of file
diff --git a/mKcp/config_client.json b/mKcp/config_client.json
old mode 100644
new mode 100755
index 05ac94a..04e367b
--- a/mKcp/config_client.json
+++ b/mKcp/config_client.json
@@ -1,9 +1,9 @@
-`{
+{
"outbound": {
"streamSettings": {
"network": "kcp",
"kcpSettings": {
- "uplinkCapacity": 100,
+ "uplinkCapacity": 15,
"downlinkCapacity": 100,
"readBufferSize": 2,
"mtu": 1350,
@@ -109,4 +109,4 @@
"localhost"
]
}
-}`
+}
diff --git a/mKcp/config_server.json b/mKcp/config_server.json
old mode 100644
new mode 100755
index ba6e1aa..e163f1c
--- a/mKcp/config_server.json
+++ b/mKcp/config_server.json
@@ -20,7 +20,7 @@
"streamSettings": {
"network": "kcp",
"kcpSettings": {
- "uplinkCapacity": 100,
+ "uplinkCapacity": 15,
"downlinkCapacity": 100,
"readBufferSize": 2,
"mtu": 1350,
diff --git a/socks5-tls/config_client.json b/socks5-tls/config_client.json
new file mode 100644
index 0000000..5339657
--- /dev/null
+++ b/socks5-tls/config_client.json
@@ -0,0 +1,44 @@
+{
+ "log": {
+ "loglevel": "warning"
+ },
+ "inbound": {
+ "port": 6789,
+ "listen": "127.0.0.1",
+ "protocol": "socks",
+ "settings": {
+ "auth": "noauth",
+ "udp": false,
+ "ip": "127.0.0.1"
+ }
+ },
+ "outbound": {
+ "protocol": "socks",
+ "settings": {
+ "servers": [
+ {
+ "address": "you server",
+ "port": 443,
+ "users": [
+ {
+ "user": "hello",
+ "pass": "3.1415",
+ "level": 0
+ }
+ ]
+ }
+ ]
+ },
+ "streamSettings": {
+ "network": "tcp",
+ "security": "tls"
+ }
+ },
+ "policy": {
+ "levels": {
+ "0": {
+ "uplinkOnly": 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/socks5-tls/config_server.json b/socks5-tls/config_server.json
new file mode 100644
index 0000000..4dc7a0e
--- /dev/null
+++ b/socks5-tls/config_server.json
@@ -0,0 +1,75 @@
+{
+ "log": {
+ "access": "/var/log/v2ray/access.log",
+ "error": "/var/log/v2ray/error.log",
+ "loglevel": "warning"
+ },
+ "inbound": {
+ "port": 443,
+ "protocol": "socks",
+ "settings": {
+ "auth": "password",
+ "accounts": [
+ {
+ "user": "hello",
+ "pass": "3.1415"
+ }
+ ],
+ "udp": false,
+ "ip": "127.0.0.1",
+ "timeout": 0,
+ "userLevel": 0
+ },
+ "streamSettings": {
+ "network": "tcp",
+ "security": "tls",
+ "tlsSettings": {
+ "certificates": [
+ {
+ "certificateFile": "/etc/v2ray/v2ray.crt",
+ "keyFile": "/etc/v2ray/v2ray.key"
+ }
+ ]
+ }
+ }
+ },
+ "outbound": {
+ "protocol": "freedom",
+ "settings": {}
+ },
+ "outboundDetour": [
+ {
+ "protocol": "blackhole",
+ "settings": {},
+ "tag": "blocked"
+ }
+ ],
+ "routing": {
+ "strategy": "rules",
+ "settings": {
+ "rules": [
+ {
+ "type": "field",
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "outboundTag": "blocked"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/vmess/config_client.json b/vmess/config_client.json
new file mode 100644
index 0000000..bd272ec
--- /dev/null
+++ b/vmess/config_client.json
@@ -0,0 +1,74 @@
+{
+ "log": {
+ "error": "F:\\Program Files\\v2ray-v2.40-windows-64\\error.log",
+ "loglevel": "warning"
+ },
+ "inbound": {
+ "port": 1082,
+ "listen": "127.0.0.1",
+ "protocol": "socks",
+ "settings": {
+ "auth": "noauth",
+ "udp": true
+ }
+ },
+ "outbound": {
+ "protocol": "vmess",
+ "settings": {
+ "vnext": [
+ {
+ "address": "0.0.0.0",
+ "port": 1234,
+ "users": [
+ {
+ "id": "a90597c1-bab3-4217-ad6f-0838675c8633",
+ "alterId": 10
+ },
+ {
+ "id": "8856ea72-a67a-4651-98f0-ebb3bf4f07b1",
+ "level": 1,
+ "security": "aes-128-gcm",
+ "alterId": 12
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "outboundDetour": [
+ {
+ "protocol": "freedom",
+ "tag": "direct",
+ "settings": {}
+ }
+ ],
+ "routing": {
+ "strategy": "rules",
+ "settings": {
+ "domainStrategy": "IPOnDemand",
+ "rules": [
+ {
+ "type": "field",
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "outboundTag": "direct"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/vmess/config_server.json b/vmess/config_server.json
new file mode 100644
index 0000000..03b3a63
--- /dev/null
+++ b/vmess/config_server.json
@@ -0,0 +1,64 @@
+{
+ "log": {
+ "access": "/var/log/v2ray/access.log",
+ "error": "/var/log/v2ray/error.log",
+ "loglevel": "warning"
+ },
+ "inbound": {
+ "port": 1234,
+ "protocol": "vmess",
+ "settings": {
+ "clients": [
+ {
+ "id": "a90597c1-bab3-4217-ad6f-0838675c8633",
+ "alterId": 10
+ },
+ {
+ "id": "8856ea72-a67a-4651-98f0-ebb3bf4f07b1",
+ "level": 1,
+ "security": "aes-128-gcm",
+ "alterId": 12
+ }
+ ]
+ }
+ },
+ "outbound": {
+ "protocol": "freedom",
+ "settings": {}
+ },
+ "outboundDetour": [
+ {
+ "protocol": "blackhole",
+ "settings": {},
+ "tag": "blocked"
+ }
+ ],
+ "routing": {
+ "strategy": "rules",
+ "settings": {
+ "rules": [
+ {
+ "type": "field",
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "outboundTag": "blocked"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/websocket+Caddy+TLS(use header)/Caddyfile b/websocket+Caddy+TLS(use header)/Caddyfile
new file mode 100755
index 0000000..a66e5ff
--- /dev/null
+++ b/websocket+Caddy+TLS(use header)/Caddyfile
@@ -0,0 +1,17 @@
+https://example.domain * {
+ gzip
+ tls kiri_so@outlook.com
+ proxy / https://www.baidu.com
+ log / stdout "{request}"
+
+ rewrite {
+ if {host} is google.com
+ to /test
+ }
+
+ proxy /test localhost:1234 {
+ websocket
+ without /test
+ }
+}
+
diff --git a/websocket+Caddy+TLS(use header)/config_client.json b/websocket+Caddy+TLS(use header)/config_client.json
new file mode 100755
index 0000000..3e33037
--- /dev/null
+++ b/websocket+Caddy+TLS(use header)/config_client.json
@@ -0,0 +1,112 @@
+{
+ "outbound": {
+ "streamSettings": {
+ "network": "ws",
+ "kcpSettings": null,
+ "wsSettings": {
+ "headers": {
+ "host": "google.com"
+ },
+ "path": "/"
+ },
+ "tcpSettings": null,
+ "tlsSettings": {},
+ "security": "tls"
+ },
+ "tag": "agentout",
+ "protocol": "vmess",
+ "mux": {
+ "enabled": true,
+ "concurrency": 8
+ },
+ "settings": {
+ "vnext": [
+ {
+ "users": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
+ "port": 443,
+ "address": "example.domain"
+ }
+ ]
+ }
+ },
+ "log": {
+ "access": "",
+ "loglevel": "info",
+ "error": ""
+ },
+ "outboundDetour": [
+ {
+ "tag": "direct",
+ "protocol": "freedom",
+ "settings": {
+ "response": null
+ }
+ },
+ {
+ "tag": "blockout",
+ "protocol": "blackhole",
+ "settings": {
+ "response": {
+ "type": "http"
+ }
+ }
+ }
+ ],
+ "inbound": {
+ "streamSettings": null,
+ "settings": {
+ "ip": "127.0.0.1",
+ "udp": true,
+ "clients": null,
+ "auth": "noauth"
+ },
+ "protocol": "socks",
+ "port": 10086,
+ "listen": "0.0.0.0"
+ },
+ "inboundDetour": null,
+ "routing": {
+ "settings": {
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "direct"
+ }
+ ],
+ "domainStrategy": "IPIfNonMatch"
+ },
+ "strategy": "rules"
+ },
+ "dns": {
+ "servers": [
+ "8.8.8.8",
+ "8.8.4.4",
+ "localhost"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/websocket+Caddy+TLS/config_server.json b/websocket+Caddy+TLS(use header)/config_server.json
old mode 100644
new mode 100755
similarity index 52%
rename from websocket+Caddy+TLS/config_server.json
rename to websocket+Caddy+TLS(use header)/config_server.json
index b643120..4ddfb2e
--- a/websocket+Caddy+TLS/config_server.json
+++ b/websocket+Caddy+TLS(use header)/config_server.json
@@ -11,7 +11,8 @@
"loglevel": "info",
"error": "/var/log/v2ray/error.log"
},
- "outboundDetour": [{
+ "outboundDetour": [
+ {
"tag": "direct",
"protocol": "freedom",
"settings": null
@@ -28,10 +29,9 @@
"kcpSettings": null,
"wsSettings": {
"headers": {
- "host": "example.domain"
+ "host": "google.com"
},
- "path": "/test",
- "connectionReuse": true
+ "path": "/"
},
"tcpSettings": null,
"tlsSettings": {},
@@ -40,11 +40,13 @@
"settings": {
"ip": null,
"udp": true,
- "clients": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
+ "clients": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
"auth": null
},
"protocol": "vmess",
@@ -54,32 +56,34 @@
"inboundDetour": null,
"routing": {
"settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "blocked"
- }],
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "blocked"
+ }
+ ],
"domainStrategy": null
},
"strategy": "rules"
},
"dns": null
-}
+}
\ No newline at end of file
diff --git a/websocket+Caddy+TLS/Caddyfile b/websocket+Caddy+TLS(use path)/Caddyfile
old mode 100644
new mode 100755
similarity index 100%
rename from websocket+Caddy+TLS/Caddyfile
rename to websocket+Caddy+TLS(use path)/Caddyfile
diff --git a/websocket+Caddy+TLS/config_client.json b/websocket+Caddy+TLS(use path)/config_client.json
similarity index 55%
rename from websocket+Caddy+TLS/config_client.json
rename to websocket+Caddy+TLS(use path)/config_client.json
index 847340f..4069f52 100755
--- a/websocket+Caddy+TLS/config_client.json
+++ b/websocket+Caddy+TLS(use path)/config_client.json
@@ -4,9 +4,6 @@
"network": "ws",
"kcpSettings": null,
"wsSettings": {
- "headers": {
- "host": "example.domain"
- },
"path": "/test"
},
"tcpSettings": null,
@@ -20,15 +17,19 @@
"concurrency": 8
},
"settings": {
- "vnext": [{
- "users": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
- "port": 443,
- "address": "example.domain"
- }]
+ "vnext": [
+ {
+ "users": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
+ "port": 443,
+ "address": "example.domain"
+ }
+ ]
}
},
"log": {
@@ -36,7 +37,8 @@
"loglevel": "info",
"error": ""
},
- "outboundDetour": [{
+ "outboundDetour": [
+ {
"tag": "direct",
"protocol": "freedom",
"settings": {
@@ -68,29 +70,31 @@
"inboundDetour": null,
"routing": {
"settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "direct"
- }],
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "direct"
+ }
+ ],
"domainStrategy": "IPIfNonMatch"
},
"strategy": "rules"
@@ -102,4 +106,4 @@
"localhost"
]
}
-}
+}
\ No newline at end of file
diff --git a/websocket+Caddy+TLS(use path)/config_server.json b/websocket+Caddy+TLS(use path)/config_server.json
new file mode 100755
index 0000000..2714157
--- /dev/null
+++ b/websocket+Caddy+TLS(use path)/config_server.json
@@ -0,0 +1,86 @@
+{
+ "outbound": {
+ "streamSettings": null,
+ "tag": null,
+ "protocol": "freedom",
+ "mux": null,
+ "settings": null
+ },
+ "log": {
+ "access": "/var/log/v2ray/access.log",
+ "loglevel": "info",
+ "error": "/var/log/v2ray/error.log"
+ },
+ "outboundDetour": [
+ {
+ "tag": "direct",
+ "protocol": "freedom",
+ "settings": null
+ },
+ {
+ "tag": "blocked",
+ "protocol": "blackhole",
+ "settings": null
+ }
+ ],
+ "inbound": {
+ "streamSettings": {
+ "network": "ws",
+ "kcpSettings": null,
+ "wsSettings": {
+ "path": "/test"
+ },
+ "tcpSettings": null,
+ "tlsSettings": {},
+ "security": ""
+ },
+ "settings": {
+ "ip": null,
+ "udp": true,
+ "clients": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
+ "auth": null
+ },
+ "protocol": "vmess",
+ "port": 1234,
+ "listen": null
+ },
+ "inboundDetour": null,
+ "routing": {
+ "settings": {
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "blocked"
+ }
+ ],
+ "domainStrategy": null
+ },
+ "strategy": "rules"
+ },
+ "dns": null
+}
\ No newline at end of file
diff --git a/websocket+Nginx+TLS/Nginx.config b/websocket+Nginx+TLS/Nginx.config
new file mode 100755
index 0000000..542e82f
--- /dev/null
+++ b/websocket+Nginx+TLS/Nginx.config
@@ -0,0 +1,146 @@
+##
+# You should look at the following URL's in order to grasp a solid understanding
+# of Nginx configuration files in order to fully unleash the power of Nginx.
+# https://www.nginx.com/resources/wiki/start/
+# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
+# https://wiki.debian.org/Nginx/DirectoryStructure
+#
+# In most cases, administrators will remove this file from sites-enabled/ and
+# leave it as reference inside of sites-available where it will continue to be
+# updated by the nginx packaging team.
+#
+# This file will automatically load configuration files provided by other
+# applications, such as Drupal or Wordpress. These applications will be made
+# available underneath a path with that package name, such as /drupal8.
+#
+# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
+##
+
+# Default server configuration
+#
+#####兼容客户端Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8
+#####此文件的真身路径是 /etc/nginx/sites-available/default 如果你修改了 /etc/nginx/nginx.conf 中的内容,但
+#####/etc/nginx/sites-available/default 中的 参数 与 前者 重叠 那么 会 遵从 后者
+
+server {
+ #listen 80 default_server;
+ #listen [::]:80 default_server;
+
+ # SSL configuration
+ #
+ # listen 443 ssl default_server;
+ # listen [::]:443 ssl default_server;
+ #
+ # Note: You should disable gzip for SSL traffic.
+ # See: https://bugs.debian.org/773332
+ #
+ # Read up on ssl_ciphers to ensure a secure configuration.
+ # See: https://bugs.debian.org/765782
+ #
+ # Self signed certs generated by the ssl-cert package
+ # Don't use them in a production server!
+ #
+ # include snippets/snakeoil.conf;
+
+ listen 127.0.0.1:80 default_server;
+ server_name domain.Name;
+ return 301 https://$host/$request_uri;
+}
+
+
+server {
+ #listen 443 ssl http2;
+ #listen [::]:443 ssl;
+ #要开启HTTP/2需要nginx版本在1.10.0以上且需要openssl版本在1.0.2以上编译
+ #可以使用 nginx -V 检查
+ listen 127.0.0.1:443 ssl http2;
+
+ #证书配置
+ ssl_certificate PATH;
+ ssl_certificate_key PATH;
+ ssl_session_cache shared:SSL:10m;
+ ssl_session_timeout 5m;
+ ssl_session_tickets off;
+
+ #https://nginx.org/en/docs/http/ngx_http_ssl_module.html
+ ssl_protocols TLSv1.2;
+ ###openssl ciphers
+ ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; #屏蔽不安全的加密方式
+ ssl_prefer_server_ciphers on;
+
+
+ # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
+ #
+ ###测试前请使用较少的时间 此处以从 15768000 >>> 15
+ ###https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/
+ #add_header Strict-Transport-Security max-age=15;
+
+ #openssl dhparam out dhparam.pem 2048
+ #openssl dhparam out dhparam.pem 4096
+ #ssl_dhparam /home/acme/data/dhparam.pem;
+
+ # OCSP Stapling ---
+ # fetch OCSP records from URL in ssl_certificate and cache them
+ #有条件就开
+ #ssl_stapling on;
+ #ssl_stapling_verify on;
+
+ root /var/www/html;
+
+ # Add index.php to the list if you are using PHP
+ index index.html index.htm index.nginx-debian.html index.php tail.html ;
+
+ server_name _;
+
+
+ location /PATH/ {
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "upgrade";
+ proxy_set_header Host $http_host;
+
+ #host判断
+ if ($http_host = "domain.Name" ) {
+ #v 监听端口
+ proxy_pass http://127.0.0.1:10086;
+ }
+ }
+
+ # pass PHP scripts to FastCGI server
+ #
+ location ~ \.php$ {
+ include snippets/fastcgi-php.conf;
+ #
+ # # With php-fpm (or other unix sockets):
+ fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
+ # # With php-cgi (or other tcp sockets):
+ # fastcgi_pass 127.0.0.1:9000;
+ }
+
+ # deny access to .htaccess files, if Apache's document root
+ # concurs with nginx's one
+ #
+ #location ~ /\.ht {
+ # deny all;
+ #}
+}
+
+
+# Virtual Host configuration for example.com
+#
+# You can move that to a different file under sites-available/ and symlink that
+# to sites-enabled/ to enable it.
+#
+#server {
+# listen 80;
+# listen [::]:80;
+#
+# server_name example.com;
+#
+# root /var/www/example.com;
+# index index.html;
+#
+# location / {
+# try_files $uri $uri/ =404;
+# }
+#}
diff --git a/websocket+Nginx+TLS/config_client.json b/websocket+Nginx+TLS/config_client.json
new file mode 100755
index 0000000..073e55b
--- /dev/null
+++ b/websocket+Nginx+TLS/config_client.json
@@ -0,0 +1,145 @@
+{
+ "outbound": {
+ "protocol": "freedom",
+ "settings": {},
+ "tag": "direct"
+ },
+ "inboundDetour": [
+ {
+ "port": 1086,
+ "listen": "127.0.0.1",
+ "protocol": "socks",
+ "settings": {
+ "auth": "noauth",
+ "timeout": 300,
+ "udp": true
+ }
+ }
+ ],
+ "outboundDetour": [
+ {
+ "mux": {
+ "concurrency": 6,
+ "enabled": true
+ },
+ "protocol": "vmess",
+ "settings": {
+ "vnext": [
+ {
+ "users": [
+ {
+ "id": "97c0ec9c-dc4e-11e7-9296-cec278b6b50a",
+ //"level"字段与"policy"字段中的"levels"字段中的对应,默认值:0,注:需要core≥3.1
+ "level": 0,
+ "alterId": 0,
+ "security": "aes-128-cfb"
+ }
+ ],
+ "address": "domain.Name",
+ "port": 443
+ }
+ ]
+ },
+ "streamSettings": {
+ "tlsSettings": {
+ "allowInsecure": false
+ },
+ "wsSettings": {
+ "headers": {
+ "Host": "domain.Name"
+ },
+ "path": "/PATH/"
+ },
+ "network": "ws",
+ "security": "tls"
+ },
+ "tag": "proxy"
+ },
+ {
+ "protocol": "blackhole",
+ "settings": {},
+ "tag": "block"
+ }
+ ],
+ "dns": {
+ "servers": [
+ "8.8.8.8",
+ "8.8.4.4"
+ ]
+ },
+ "inbound": {
+ "port": 1087,
+ "listen": "127.0.0.1",
+ "protocol": "http",
+ "settings": {
+ "timeout": 300
+ }
+ },
+ // 注"policy"字段需要core≥3.1
+ "policy": {
+ "levels": {
+ "0": {
+ "uplinkOnly": 0,
+ "downlinkOnly": 0,
+ "connIdle": 150,
+ "handshake": 4
+ }
+ }
+ },
+ "routing": {
+ "settings": {
+ "rules": [
+ {
+ "type": "field",
+ "domain": [
+ "geosite:cn"
+ ],
+ "outboundTag": "direct"
+ },
+ {
+ "type": "field",
+ "domain": [
+ "google",
+ "facebook",
+ "youtube",
+ "twitter",
+ "instagram",
+ "gmail",
+ "domain:twimg.com",
+ "domain:t.co"
+ ],
+ "outboundTag": "proxy"
+ },
+ {
+ "type": "field",
+ "ip": [
+ "8.8.8.8/32",
+ "8.8.4.4/32",
+ "91.108.56.0/22",
+ "91.108.4.0/22",
+ "109.239.140.0/24",
+ "149.154.164.0/22",
+ "91.108.56.0/23",
+ "67.198.55.0/24",
+ "149.154.168.0/22",
+ "149.154.172.0/22"
+ ],
+ "outboundTag": "proxy"
+ },
+ {
+ "type": "field",
+ "ip": [
+ "192.168.0.0/16",
+ "10.0.0.0/8",
+ "172.16.0.0/12",
+ "127.0.0.0/8",
+ "geoip:cn"
+ ],
+ "outboundTag": "direct"
+ }
+ ],
+ "domainStrategy": "IPIfNonMatch"
+ },
+ "strategy": "rules"
+ }
+}
diff --git a/websocket+Nginx+TLS/config_server.json b/websocket+Nginx+TLS/config_server.json
new file mode 100755
index 0000000..2f8043f
--- /dev/null
+++ b/websocket+Nginx+TLS/config_server.json
@@ -0,0 +1,84 @@
+{
+ "log": {
+ "access": "/var/log/v2ray/access.log",
+ "error": "/var/log/v2ray/error.log",
+ //可能取值 "debug" "info" "warning" "error" 其中"debug"记录的数据最多,"error"记录的最少 "none"表示不记录任何内容 默认值为"warning"
+ "loglevel": "debug"
+ },
+ //注"policy"字段需要core≥3.1
+ "policy": {
+ "levels": {
+ "0": {
+ "uplinkOnly": 0,
+ "downlinkOnly": 0,
+ "connIdle": 150,
+ "handshake": 4
+ }
+ }
+ },
+ "inbound": {
+ //默认值为"0.0.0.0"
+ "listen": "127.0.0.1",
+ "port": 10086,
+ "protocol": "vmess",
+ "settings": {
+ "clients": [
+ {
+ "id": "7f43b638-dc47-11e7-9296-cec278b6b50a",
+ //"level"字段与"policy"字段中的"levels"字段中的对应,默认值:0,注:需要core≥3.1
+ "level": 0,
+ "alterId": 64
+ }
+ ]
+ },
+ "streamSettings": {
+ "network": "ws",
+ "security": "auto",
+ "wsSettings": {
+ "path": "/PATH/",
+ "headers": {
+ "Host": "domain.Name"
+ }
+ }
+ }
+ },
+ "outbound": {
+ "protocol": "freedom",
+ "settings": { }
+ },
+ "outboundDetour": [
+ {
+ "protocol": "blackhole",
+ "settings": { },
+ "tag": "blocked"
+ }
+ ],
+ "routing": {
+ "strategy": "rules",
+ "settings": {
+ "rules": [
+ {
+ "type": "field",
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "outboundTag": "blocked"
+ }
+ ]
+ }
+ }
+}
diff --git a/websocket+TLS/config_client.json b/websocket+TLS/config_client.json
index 8d8e2bd..0e33473 100755
--- a/websocket+TLS/config_client.json
+++ b/websocket+TLS/config_client.json
@@ -1,105 +1,111 @@
{
- "outbound": {
- "streamSettings": {
- "network": "ws",
- "kcpSettings": null,
- "wsSettings": {
- "headers": {
- "host": "example.domain"
- },
- "path": ""
- },
- "tcpSettings": null,
- "tlsSettings": {},
- "security": "tls"
- },
- "tag": "agentout",
- "protocol": "vmess",
- "mux": {
- "enabled": true,
- "concurrency": 8
- },
- "settings": {
- "vnext": [{
- "users": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
- "port": 443,
- "address": "example.domain"
- }]
- }
- },
- "log": {
- "access": "",
- "loglevel": "debug",
- "error": ""
- },
- "outboundDetour": [{
- "tag": "direct",
- "protocol": "freedom",
- "settings": {
- "response": null
- }
- },
+ "outbound": {
+ "streamSettings": {
+ "network": "ws",
+ "kcpSettings": null,
+ "wsSettings": {
+ "headers": {
+ "host": "example.domain"
+ },
+ "path": ""
+ },
+ "tcpSettings": null,
+ "tlsSettings": {},
+ "security": "tls"
+ },
+ "tag": "agentout",
+ "protocol": "vmess",
+ "mux": {
+ "enabled": true
+ },
+ "settings": {
+ "vnext": [
{
- "tag": "blockout",
- "protocol": "blackhole",
- "settings": {
- "response": {
- "type": "http"
- }
+ "users": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "0cdf8a45-303d-4fed-9780-29aa7f54175e"
}
+ ],
+ "port": 443,
+ "address": "example.domain"
}
- ],
- "inbound": {
- "streamSettings": null,
- "settings": {
- "ip": "127.0.0.1",
- "udp": true,
- "clients": null,
- "auth": "noauth"
- },
- "protocol": "socks",
- "port": 10086,
- "listen": "0.0.0.0"
- },
- "inboundDetour": null,
- "routing": {
- "settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "direct"
- }],
- "domainStrategy": "IPIfNonMatch"
- },
- "strategy": "rules"
- },
- "dns": {
- "servers": [
- "8.8.8.8",
- "8.8.4.4",
- "localhost"
- ]
+ ]
}
+ },
+ "log": {
+ "access": "",
+ "loglevel": "info",
+ "error": ""
+ },
+ "outboundDetour": [
+ {
+ "tag": "direct",
+ "protocol": "freedom",
+ "settings": {
+ "response": null
+ }
+ },
+ {
+ "tag": "blockout",
+ "protocol": "blackhole",
+ "settings": {
+ "response": {
+ "type": "http"
+ }
+ }
+ }
+ ],
+ "inbound": {
+ "streamSettings": null,
+ "settings": {
+ "ip": "127.0.0.1",
+ "udp": true,
+ "clients": null,
+ "auth": "noauth"
+ },
+ "protocol": "socks",
+ "port": 1080,
+ "listen": "0.0.0.0"
+ },
+ "inboundDetour": null,
+ "routing": {
+ "settings": {
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "direct"
+ }
+ ],
+ "domainStrategy": "IPIfNonMatch"
+ },
+ "strategy": "rules"
+ },
+ "dns": {
+ "servers": [
+ "8.8.8.8",
+ "8.8.4.4",
+ "localhost"
+ ]
+ }
}
diff --git a/websocket+TLS/config_server.json b/websocket+TLS/config_server.json
old mode 100644
new mode 100755
index c03bd40..d1692f4
--- a/websocket+TLS/config_server.json
+++ b/websocket+TLS/config_server.json
@@ -1,91 +1,91 @@
{
- "outbound": {
- "streamSettings": null,
- "tag": null,
- "protocol": "freedom",
- "mux": null,
- "settings": null
- },
- "log": {
- "access": "/var/log/v2ray/access.log",
- "loglevel": "info",
- "error": "/var/log/v2ray/error.log"
- },
- "outboundDetour": [{
- "tag": "blocked",
- "protocol": "blackhole",
- "settings": null
- }],
- "inbound": {
- "streamSettings": {
- "network": "kcp",
- "kcpSettings": {
- "uplinkCapacity": 100,
- "downlinkCapacity": 100,
- "readBufferSize": 2,
- "mtu": 1350,
- "header": {
- "type": "srtp",
- "request": null,
- "response": null
+ "outbound": {
+ "streamSettings": null,
+ "tag": null,
+ "protocol": "freedom",
+ "mux": null,
+ "settings": null
+ },
+ "log": {
+ "access": "/var/log/v2ray/access.log",
+ "loglevel": "error",
+ "error": "/var/log/v2ray/error.log"
+ },
+ "inboundDetour": null,
+ "inbound": {
+ "streamSettings": {
+ "network": "ws",
+ "kcpSettings": null,
+ "wsSettings": {
+ "headers": {
+ "host": "example.domain"
+ },
+ "path": ""
+ },
+ "tcpSettings": null,
+ "tlsSettings": {
+ "certificates": [
+ {
+ "keyFile": "/path/to/example.domain.key",
+ "certificateFile": "/path/to/example.domain/fullchain.cer"
+ }
+ ]
+ },
+ "security": "tls"
},
- "tti": 50,
- "congestion": false,
- "writeBufferSize": 2
- },
- "wsSettings": null,
- "tcpSettings": null,
- "tlsSettings": {
- "certificates": [{
- "keyFile": "/path/to/example.domain.key",
- "certificateFile": "/path/to/example.domain/fullchain.cer"
- }]
- },
- "security": "tls"
+ "listen": null,
+ "protocol": "vmess",
+ "port": 443,
+ "settings": {
+ "ip": null,
+ "udp": true,
+ "clients": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "0cdf8a45-303d-4fed-9780-29aa7f54175e"
+ }
+ ],
+ "auth": null
+ }
},
- "settings": {
- "ip": null,
- "udp": true,
- "clients": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
- "auth": null
+ "outboundDetour": [
+ {
+ "tag": "blocked",
+ "protocol": "blackhole",
+ "settings": null
+ }
+ ],
+ "routing": {
+ "strategy": "rules",
+ "settings": {
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "blocked"
+ }
+ ],
+ "domainStrategy": null
+ }
},
- "protocol": "vmess",
- "port": 443,
- "listen": null
- },
- "inboundDetour": null,
- "routing": {
- "settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "blocked"
- }],
- "domainStrategy": null
- },
- "strategy": "rules"
- },
- "dns": null
-}
+ "dns": null
+}
\ No newline at end of file
diff --git a/websocket/config_client.json b/websocket/config_client.json
old mode 100644
new mode 100755
index 0601fae..c522154
--- a/websocket/config_client.json
+++ b/websocket/config_client.json
@@ -19,15 +19,19 @@
"enabled": true
},
"settings": {
- "vnext": [{
- "users": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
- "port": 1234,
- "address": "Your_IP_Address"
- }]
+ "vnext": [
+ {
+ "users": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
+ "port": 1234,
+ "address": "Your_IP_Address"
+ }
+ ]
}
},
"log": {
@@ -35,7 +39,8 @@
"loglevel": "info",
"error": ""
},
- "outboundDetour": [{
+ "outboundDetour": [
+ {
"tag": "direct",
"protocol": "freedom",
"settings": {
@@ -67,29 +72,31 @@
"inboundDetour": null,
"routing": {
"settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "direct"
- }],
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "direct"
+ }
+ ],
"domainStrategy": "IPIfNonMatch"
},
"strategy": "rules"
@@ -101,4 +108,4 @@
"localhost"
]
}
-}
+}
\ No newline at end of file
diff --git a/websocket/config_server.json b/websocket/config_server.json
old mode 100644
new mode 100755
index f4e8e30..62e96a7
--- a/websocket/config_server.json
+++ b/websocket/config_server.json
@@ -20,8 +20,7 @@
"headers": {
"host": "example.domain"
},
- "path": "",
- "connectionReuse": true
+ "path": ""
},
"tcpSettings": null,
"tlsSettings": {},
@@ -33,47 +32,53 @@
"settings": {
"ip": null,
"udp": true,
- "clients": [{
- "alterId": 100,
- "security": "aes-128-gcm",
- "id": "e2b39869-7e9e-411b-a561-00904419bed9"
- }],
+ "clients": [
+ {
+ "alterId": 100,
+ "security": "aes-128-gcm",
+ "id": "e2b39869-7e9e-411b-a561-00904419bed9"
+ }
+ ],
"auth": null
}
},
- "outboundDetour": [{
- "tag": "blocked",
- "protocol": "blackhole",
- "settings": null
- }],
+ "outboundDetour": [
+ {
+ "tag": "blocked",
+ "protocol": "blackhole",
+ "settings": null
+ }
+ ],
"routing": {
"strategy": "rules",
"settings": {
- "rules": [{
- "ip": [
- "0.0.0.0/8",
- "10.0.0.0/8",
- "100.64.0.0/10",
- "127.0.0.0/8",
- "169.254.0.0/16",
- "172.16.0.0/12",
- "192.0.0.0/24",
- "192.0.2.0/24",
- "192.168.0.0/16",
- "198.18.0.0/15",
- "198.51.100.0/24",
- "203.0.113.0/24",
- "::1/128",
- "fc00::/7",
- "fe80::/10"
- ],
- "domain": null,
- "type": "field",
- "port": null,
- "outboundTag": "blocked"
- }],
+ "rules": [
+ {
+ "ip": [
+ "0.0.0.0/8",
+ "10.0.0.0/8",
+ "100.64.0.0/10",
+ "127.0.0.0/8",
+ "169.254.0.0/16",
+ "172.16.0.0/12",
+ "192.0.0.0/24",
+ "192.0.2.0/24",
+ "192.168.0.0/16",
+ "198.18.0.0/15",
+ "198.51.100.0/24",
+ "203.0.113.0/24",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10"
+ ],
+ "domain": null,
+ "type": "field",
+ "port": null,
+ "outboundTag": "blocked"
+ }
+ ],
"domainStrategy": null
}
},
"dns": null
-}
+}
\ No newline at end of file