v3 boom
This commit is contained in:
@@ -9,10 +9,10 @@
|
|||||||
|
|
||||||
# ---- 说明 ----
|
# ---- 说明 ----
|
||||||
# 嗯……这个文件呢,是用来备份一些设置的
|
# 嗯……这个文件呢,是用来备份一些设置的
|
||||||
# 我懒...不想用 JQ 去解析 JSON....
|
#
|
||||||
# 那就把 V2Ray 配置文件的一些重要参数提取出来
|
mark=v3
|
||||||
# 然后..在修改 V2Ray 配置的时候再重写一下就 OK 啦...
|
#
|
||||||
# 嗯…笨笨的方法
|
#
|
||||||
|
|
||||||
# ---- V2Ray 传输协议 -----
|
# ---- V2Ray 传输协议 -----
|
||||||
v2ray_transport=1
|
v2ray_transport=1
|
||||||
@@ -21,7 +21,7 @@ v2ray_transport=1
|
|||||||
v2ray_port=2333
|
v2ray_port=2333
|
||||||
|
|
||||||
#---- UUID -----
|
#---- UUID -----
|
||||||
v2ray_id=23332333-2333-2333-2333-233boy233boy
|
v2ray_id=e55c8d17-2cf3-b21a-bcf1-eeacb011ed79
|
||||||
|
|
||||||
#---- alterId -----
|
#---- alterId -----
|
||||||
alterId=233
|
alterId=233
|
||||||
@@ -36,10 +36,10 @@ v2ray_dynamicPort_end=20000
|
|||||||
domain=233blog.com
|
domain=233blog.com
|
||||||
|
|
||||||
#---- caddy -----
|
#---- caddy -----
|
||||||
caddy_status=
|
caddy=
|
||||||
|
|
||||||
#---- Shadowsocks -----
|
#---- Shadowsocks -----
|
||||||
shadowsocks_status=
|
shadowsocks=
|
||||||
|
|
||||||
#---- Shadowsocks 端口 -----
|
#---- Shadowsocks 端口 -----
|
||||||
ssport=6666
|
ssport=6666
|
||||||
@@ -51,7 +51,7 @@ sspass=233blog.com
|
|||||||
ssciphers=chacha20-ietf
|
ssciphers=chacha20-ietf
|
||||||
|
|
||||||
#---- 屏蔽广告 -----
|
#---- 屏蔽广告 -----
|
||||||
blocked_ad_status=
|
ban_ad=
|
||||||
|
|
||||||
#---- 网站伪装 -----
|
#---- 网站伪装 -----
|
||||||
path_status=
|
path_status=
|
||||||
@@ -62,8 +62,26 @@ path=233blog
|
|||||||
#---- 伪装的网址 -----
|
#---- 伪装的网址 -----
|
||||||
proxy_site=https://liyafly.com
|
proxy_site=https://liyafly.com
|
||||||
|
|
||||||
|
#---- Socks -----
|
||||||
|
socks=
|
||||||
|
|
||||||
|
#---- Socks 端口-----
|
||||||
|
socks_port=233
|
||||||
|
|
||||||
#---- Socks 用户名 -----
|
#---- Socks 用户名 -----
|
||||||
username=233blog
|
socks_username=233blog
|
||||||
|
|
||||||
#---- Socks 密码 -----
|
#---- Socks 密码 -----
|
||||||
userpass=233blog.com
|
socks_userpass=233blog.com
|
||||||
|
|
||||||
|
#---- MTProto -----
|
||||||
|
mtproto=
|
||||||
|
|
||||||
|
#---- MTProto 端口-----
|
||||||
|
mtproto_port=233
|
||||||
|
|
||||||
|
#---- MTProto 用户密钥 -----
|
||||||
|
mtproto_secret=lalala
|
||||||
|
|
||||||
|
#---- 屏蔽 BT -----
|
||||||
|
ban_bt=true
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,48 +3,55 @@
|
|||||||
"error": "error.log",
|
"error": "error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"outbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"listen": "127.0.0.1",
|
"protocol": "vmess",
|
||||||
"protocol": "socks",
|
"settings": {
|
||||||
"settings": {
|
"vnext": [
|
||||||
"auth": "noauth",
|
{
|
||||||
"udp": true,
|
"address": "233blog.com",
|
||||||
"ip": "127.0.0.1"
|
"port": 2333,
|
||||||
}
|
"users": [
|
||||||
},
|
{
|
||||||
"outbound": {
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"protocol": "vmess",
|
"alterId": 233,
|
||||||
"settings": {
|
"security": "auto"
|
||||||
"vnext": [
|
}
|
||||||
{
|
]
|
||||||
"address": "233blog.com",
|
}
|
||||||
"port": 2333,
|
]
|
||||||
"users": [
|
},
|
||||||
{
|
"streamSettings": {
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
"network": "h2",
|
||||||
"alterId": 233,
|
"security": "tls",
|
||||||
"security": "auto"
|
"httpSettings": {
|
||||||
}
|
"host": [
|
||||||
]
|
"233blog.com"
|
||||||
|
],
|
||||||
|
"path": "/233blog"
|
||||||
}
|
}
|
||||||
]
|
},
|
||||||
},
|
"mux": {
|
||||||
"streamSettings": {
|
"enabled": true
|
||||||
"network": "h2",
|
|
||||||
"security": "tls",
|
|
||||||
"httpSettings": {
|
|
||||||
"host": [
|
|
||||||
"233blog.com"
|
|
||||||
],
|
|
||||||
"path": "/233blog"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mux": {
|
{
|
||||||
"enabled": true
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
"inboundDetour": [
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"protocol": "socks",
|
||||||
|
"settings": {
|
||||||
|
"auth": "noauth",
|
||||||
|
"udp": true,
|
||||||
|
"ip": "127.0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"port": 6666,
|
"port": 6666,
|
||||||
"listen": "127.0.0.1",
|
"listen": "127.0.0.1",
|
||||||
@@ -56,13 +63,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"outboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
"dns": {
|
||||||
"servers": [
|
"servers": [
|
||||||
"8.8.8.8",
|
"8.8.8.8",
|
||||||
@@ -71,44 +71,41 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"routing": {
|
"routing": {
|
||||||
"strategy": "rules",
|
"domainStrategy": "IPOnDemand",
|
||||||
"settings": {
|
"rules": [
|
||||||
"domainStrategy": "IPIfNonMatch",
|
{
|
||||||
"rules": [
|
"type": "field",
|
||||||
{
|
"ip": [
|
||||||
"type": "field",
|
"0.0.0.0/8",
|
||||||
"ip": [
|
"10.0.0.0/8",
|
||||||
"0.0.0.0/8",
|
"100.64.0.0/10",
|
||||||
"10.0.0.0/8",
|
"127.0.0.0/8",
|
||||||
"100.64.0.0/10",
|
"169.254.0.0/16",
|
||||||
"127.0.0.0/8",
|
"172.16.0.0/12",
|
||||||
"169.254.0.0/16",
|
"192.0.0.0/24",
|
||||||
"172.16.0.0/12",
|
"192.0.2.0/24",
|
||||||
"192.0.0.0/24",
|
"192.168.0.0/16",
|
||||||
"192.0.2.0/24",
|
"198.18.0.0/15",
|
||||||
"192.168.0.0/16",
|
"198.51.100.0/24",
|
||||||
"198.18.0.0/15",
|
"203.0.113.0/24",
|
||||||
"198.51.100.0/24",
|
"::1/128",
|
||||||
"203.0.113.0/24",
|
"fc00::/7",
|
||||||
"::1/128",
|
"fe80::/10",
|
||||||
"fc00::/7",
|
"geoip:cn"
|
||||||
"fe80::/10",
|
],
|
||||||
"geoip:cn"
|
"domain": [
|
||||||
],
|
"geosite:cn"
|
||||||
"domain": [
|
],
|
||||||
"geosite:cn"
|
"outboundTag": "direct"
|
||||||
],
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinasites",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinasites",
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinaip",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinaip",
|
}
|
||||||
"outboundTag": "direct"
|
]
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -3,78 +3,85 @@
|
|||||||
"error": "error.log",
|
"error": "error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"outbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"listen": "127.0.0.1",
|
"protocol": "vmess",
|
||||||
"protocol": "socks",
|
"settings": {
|
||||||
"settings": {
|
"vnext": [
|
||||||
"auth": "noauth",
|
{
|
||||||
"udp": true,
|
"address": "233blog.com",
|
||||||
"ip": "127.0.0.1"
|
"port": 2333,
|
||||||
}
|
"users": [
|
||||||
},
|
{
|
||||||
"outbound": {
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"protocol": "vmess",
|
"alterId": 233,
|
||||||
"settings": {
|
"security": "auto"
|
||||||
"vnext": [
|
}
|
||||||
{
|
]
|
||||||
"address": "233blog.com",
|
}
|
||||||
"port": 2333,
|
]
|
||||||
"users": [
|
},
|
||||||
{
|
"streamSettings": {
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
"network": "tcp",
|
||||||
"alterId": 233,
|
"tcpSettings": {
|
||||||
"security": "auto"
|
"header": {
|
||||||
}
|
"type": "http",
|
||||||
]
|
"request": {
|
||||||
}
|
"version": "1.1",
|
||||||
]
|
"method": "GET",
|
||||||
},
|
"path": [
|
||||||
"streamSettings": {
|
"/"
|
||||||
"network": "tcp",
|
|
||||||
"tcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "http",
|
|
||||||
"request": {
|
|
||||||
"version": "1.1",
|
|
||||||
"method": "GET",
|
|
||||||
"path": [
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
"headers": {
|
|
||||||
"Host": [
|
|
||||||
"www.cloudflare.com",
|
|
||||||
"www.amazon.com"
|
|
||||||
],
|
],
|
||||||
"User-Agent": [
|
"headers": {
|
||||||
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36",
|
"Host": [
|
||||||
"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
|
"www.cloudflare.com",
|
||||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36",
|
"www.amazon.com"
|
||||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0"
|
],
|
||||||
],
|
"User-Agent": [
|
||||||
"Accept": [
|
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36",
|
||||||
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
|
"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
|
||||||
],
|
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36",
|
||||||
"Accept-language": [
|
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0"
|
||||||
"zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4"
|
],
|
||||||
],
|
"Accept": [
|
||||||
"Accept-Encoding": [
|
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
|
||||||
"gzip, deflate, br"
|
],
|
||||||
],
|
"Accept-language": [
|
||||||
"Cache-Control": [
|
"zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4"
|
||||||
"no-cache"
|
],
|
||||||
],
|
"Accept-Encoding": [
|
||||||
"Pragma": "no-cache"
|
"gzip, deflate, br"
|
||||||
|
],
|
||||||
|
"Cache-Control": [
|
||||||
|
"no-cache"
|
||||||
|
],
|
||||||
|
"Pragma": "no-cache"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"mux": {
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mux": {
|
{
|
||||||
"enabled": true
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
"inboundDetour": [
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"protocol": "socks",
|
||||||
|
"settings": {
|
||||||
|
"auth": "noauth",
|
||||||
|
"udp": true,
|
||||||
|
"ip": "127.0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"port": 6666,
|
"port": 6666,
|
||||||
"listen": "127.0.0.1",
|
"listen": "127.0.0.1",
|
||||||
@@ -86,13 +93,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"outboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
"dns": {
|
||||||
"servers": [
|
"servers": [
|
||||||
"8.8.8.8",
|
"8.8.8.8",
|
||||||
@@ -101,44 +101,41 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"routing": {
|
"routing": {
|
||||||
"strategy": "rules",
|
"domainStrategy": "IPOnDemand",
|
||||||
"settings": {
|
"rules": [
|
||||||
"domainStrategy": "IPIfNonMatch",
|
{
|
||||||
"rules": [
|
"type": "field",
|
||||||
{
|
"ip": [
|
||||||
"type": "field",
|
"0.0.0.0/8",
|
||||||
"ip": [
|
"10.0.0.0/8",
|
||||||
"0.0.0.0/8",
|
"100.64.0.0/10",
|
||||||
"10.0.0.0/8",
|
"127.0.0.0/8",
|
||||||
"100.64.0.0/10",
|
"169.254.0.0/16",
|
||||||
"127.0.0.0/8",
|
"172.16.0.0/12",
|
||||||
"169.254.0.0/16",
|
"192.0.0.0/24",
|
||||||
"172.16.0.0/12",
|
"192.0.2.0/24",
|
||||||
"192.0.0.0/24",
|
"192.168.0.0/16",
|
||||||
"192.0.2.0/24",
|
"198.18.0.0/15",
|
||||||
"192.168.0.0/16",
|
"198.51.100.0/24",
|
||||||
"198.18.0.0/15",
|
"203.0.113.0/24",
|
||||||
"198.51.100.0/24",
|
"::1/128",
|
||||||
"203.0.113.0/24",
|
"fc00::/7",
|
||||||
"::1/128",
|
"fe80::/10",
|
||||||
"fc00::/7",
|
"geoip:cn"
|
||||||
"fe80::/10",
|
],
|
||||||
"geoip:cn"
|
"domain": [
|
||||||
],
|
"geosite:cn"
|
||||||
"domain": [
|
],
|
||||||
"geosite:cn"
|
"outboundTag": "direct"
|
||||||
],
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinasites",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinasites",
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinaip",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinaip",
|
}
|
||||||
"outboundTag": "direct"
|
]
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -3,53 +3,56 @@
|
|||||||
"error": "error.log",
|
"error": "error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"outbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"listen": "127.0.0.1",
|
"protocol": "vmess",
|
||||||
"protocol": "socks",
|
"settings": {
|
||||||
"settings": {
|
"vnext": [
|
||||||
"auth": "noauth",
|
{
|
||||||
"udp": true,
|
"address": "233blog.com",
|
||||||
"ip": "127.0.0.1"
|
"port": 2333,
|
||||||
}
|
"users": [
|
||||||
},
|
{
|
||||||
"outbound": {
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"protocol": "vmess",
|
"alterId": 233,
|
||||||
"settings": {
|
"security": "auto"
|
||||||
"vnext": [
|
}
|
||||||
{
|
]
|
||||||
"address": "233blog.com",
|
}
|
||||||
"port": 2333,
|
]
|
||||||
"users": [
|
},
|
||||||
{
|
"streamSettings": {
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
"network": "kcp",
|
||||||
"alterId": 233,
|
"kcpSettings": {
|
||||||
"security": "auto"
|
"uplinkCapacity": 100,
|
||||||
}
|
"downlinkCapacity": 100,
|
||||||
]
|
"congestion": true,
|
||||||
}
|
"header": {
|
||||||
]
|
"type": "none"
|
||||||
},
|
}
|
||||||
"streamSettings": {
|
|
||||||
"network": "kcp",
|
|
||||||
"kcpSettings": {
|
|
||||||
"mtu": 1350,
|
|
||||||
"tti": 50,
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": false,
|
|
||||||
"readBufferSize": 2,
|
|
||||||
"writeBufferSize": 2,
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"mux": {
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mux": {
|
{
|
||||||
"enabled": true
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
"inboundDetour": [
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"protocol": "socks",
|
||||||
|
"settings": {
|
||||||
|
"auth": "noauth",
|
||||||
|
"udp": true,
|
||||||
|
"ip": "127.0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"port": 6666,
|
"port": 6666,
|
||||||
"listen": "127.0.0.1",
|
"listen": "127.0.0.1",
|
||||||
@@ -61,13 +64,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"outboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
"dns": {
|
||||||
"servers": [
|
"servers": [
|
||||||
"8.8.8.8",
|
"8.8.8.8",
|
||||||
@@ -76,44 +72,41 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"routing": {
|
"routing": {
|
||||||
"strategy": "rules",
|
"domainStrategy": "IPOnDemand",
|
||||||
"settings": {
|
"rules": [
|
||||||
"domainStrategy": "IPIfNonMatch",
|
{
|
||||||
"rules": [
|
"type": "field",
|
||||||
{
|
"ip": [
|
||||||
"type": "field",
|
"0.0.0.0/8",
|
||||||
"ip": [
|
"10.0.0.0/8",
|
||||||
"0.0.0.0/8",
|
"100.64.0.0/10",
|
||||||
"10.0.0.0/8",
|
"127.0.0.0/8",
|
||||||
"100.64.0.0/10",
|
"169.254.0.0/16",
|
||||||
"127.0.0.0/8",
|
"172.16.0.0/12",
|
||||||
"169.254.0.0/16",
|
"192.0.0.0/24",
|
||||||
"172.16.0.0/12",
|
"192.0.2.0/24",
|
||||||
"192.0.0.0/24",
|
"192.168.0.0/16",
|
||||||
"192.0.2.0/24",
|
"198.18.0.0/15",
|
||||||
"192.168.0.0/16",
|
"198.51.100.0/24",
|
||||||
"198.18.0.0/15",
|
"203.0.113.0/24",
|
||||||
"198.51.100.0/24",
|
"::1/128",
|
||||||
"203.0.113.0/24",
|
"fc00::/7",
|
||||||
"::1/128",
|
"fe80::/10",
|
||||||
"fc00::/7",
|
"geoip:cn"
|
||||||
"fe80::/10",
|
],
|
||||||
"geoip:cn"
|
"domain": [
|
||||||
],
|
"geosite:cn"
|
||||||
"domain": [
|
],
|
||||||
"geosite:cn"
|
"outboundTag": "direct"
|
||||||
],
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinasites",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinasites",
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinaip",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinaip",
|
}
|
||||||
"outboundTag": "direct"
|
]
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
111
config/client/quic.json
Normal file
111
config/client/quic.json
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"error": "error.log",
|
||||||
|
"loglevel": "warning"
|
||||||
|
},
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"vnext": [
|
||||||
|
{
|
||||||
|
"address": "233blog.com",
|
||||||
|
"port": 2333,
|
||||||
|
"users": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
|
"alterId": 233,
|
||||||
|
"security": "auto"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "quic",
|
||||||
|
"quicSettings": {
|
||||||
|
"security": "aes-128-gcm",
|
||||||
|
"key": "",
|
||||||
|
"header": {
|
||||||
|
"type": "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mux": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"protocol": "socks",
|
||||||
|
"settings": {
|
||||||
|
"auth": "noauth",
|
||||||
|
"udp": true,
|
||||||
|
"ip": "127.0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"port": 6666,
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"protocol": "http",
|
||||||
|
"settings": {
|
||||||
|
"auth": "noauth",
|
||||||
|
"udp": true,
|
||||||
|
"ip": "127.0.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns": {
|
||||||
|
"servers": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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",
|
||||||
|
"geoip:cn"
|
||||||
|
],
|
||||||
|
"domain": [
|
||||||
|
"geosite:cn"
|
||||||
|
],
|
||||||
|
"outboundTag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "chinasites",
|
||||||
|
"outboundTag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "chinaip",
|
||||||
|
"outboundTag": "direct"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@@ -1,104 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"error": "error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"servers": [
|
|
||||||
{
|
|
||||||
"address": "233blog.com",
|
|
||||||
"port": 2333,
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"user": "233blog",
|
|
||||||
"pass": "233blog.com",
|
|
||||||
"level": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"mux": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"port": 6666,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "http",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"outboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"servers": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"strategy": "rules",
|
|
||||||
"settings": {
|
|
||||||
"domainStrategy": "IPIfNonMatch",
|
|
||||||
"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",
|
|
||||||
"geoip:cn"
|
|
||||||
],
|
|
||||||
"domain": [
|
|
||||||
"geosite:cn"
|
|
||||||
],
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinasites",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinaip",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -3,38 +3,45 @@
|
|||||||
"error": "error.log",
|
"error": "error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"outbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"listen": "127.0.0.1",
|
"protocol": "vmess",
|
||||||
"protocol": "socks",
|
"settings": {
|
||||||
"settings": {
|
"vnext": [
|
||||||
"auth": "noauth",
|
{
|
||||||
"udp": true,
|
"address": "233blog.com",
|
||||||
"ip": "127.0.0.1"
|
"port": 2333,
|
||||||
}
|
"users": [
|
||||||
},
|
{
|
||||||
"outbound": {
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"protocol": "vmess",
|
"alterId": 233,
|
||||||
"settings": {
|
"security": "auto"
|
||||||
"vnext": [
|
}
|
||||||
{
|
]
|
||||||
"address": "233blog.com",
|
}
|
||||||
"port": 2333,
|
]
|
||||||
"users": [
|
},
|
||||||
{
|
"mux": {
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
"enabled": true
|
||||||
"alterId": 233,
|
}
|
||||||
"security": "auto"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"mux": {
|
{
|
||||||
"enabled": true
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
"inboundDetour": [
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"protocol": "socks",
|
||||||
|
"settings": {
|
||||||
|
"auth": "noauth",
|
||||||
|
"udp": true,
|
||||||
|
"ip": "127.0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"port": 6666,
|
"port": 6666,
|
||||||
"listen": "127.0.0.1",
|
"listen": "127.0.0.1",
|
||||||
@@ -46,13 +53,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"outboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
"dns": {
|
||||||
"servers": [
|
"servers": [
|
||||||
"8.8.8.8",
|
"8.8.8.8",
|
||||||
@@ -61,44 +61,41 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"routing": {
|
"routing": {
|
||||||
"strategy": "rules",
|
"domainStrategy": "IPOnDemand",
|
||||||
"settings": {
|
"rules": [
|
||||||
"domainStrategy": "IPIfNonMatch",
|
{
|
||||||
"rules": [
|
"type": "field",
|
||||||
{
|
"ip": [
|
||||||
"type": "field",
|
"0.0.0.0/8",
|
||||||
"ip": [
|
"10.0.0.0/8",
|
||||||
"0.0.0.0/8",
|
"100.64.0.0/10",
|
||||||
"10.0.0.0/8",
|
"127.0.0.0/8",
|
||||||
"100.64.0.0/10",
|
"169.254.0.0/16",
|
||||||
"127.0.0.0/8",
|
"172.16.0.0/12",
|
||||||
"169.254.0.0/16",
|
"192.0.0.0/24",
|
||||||
"172.16.0.0/12",
|
"192.0.2.0/24",
|
||||||
"192.0.0.0/24",
|
"192.168.0.0/16",
|
||||||
"192.0.2.0/24",
|
"198.18.0.0/15",
|
||||||
"192.168.0.0/16",
|
"198.51.100.0/24",
|
||||||
"198.18.0.0/15",
|
"203.0.113.0/24",
|
||||||
"198.51.100.0/24",
|
"::1/128",
|
||||||
"203.0.113.0/24",
|
"fc00::/7",
|
||||||
"::1/128",
|
"fe80::/10",
|
||||||
"fc00::/7",
|
"geoip:cn"
|
||||||
"fe80::/10",
|
],
|
||||||
"geoip:cn"
|
"domain": [
|
||||||
],
|
"geosite:cn"
|
||||||
"domain": [
|
],
|
||||||
"geosite:cn"
|
"outboundTag": "direct"
|
||||||
],
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinasites",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinasites",
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinaip",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinaip",
|
}
|
||||||
"outboundTag": "direct"
|
]
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -3,41 +3,48 @@
|
|||||||
"error": "error.log",
|
"error": "error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"outbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"listen": "127.0.0.1",
|
"protocol": "vmess",
|
||||||
"protocol": "socks",
|
"settings": {
|
||||||
"settings": {
|
"vnext": [
|
||||||
"auth": "noauth",
|
{
|
||||||
"udp": true,
|
"address": "233blog.com",
|
||||||
"ip": "127.0.0.1"
|
"port": 2333,
|
||||||
}
|
"users": [
|
||||||
},
|
{
|
||||||
"outbound": {
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"protocol": "vmess",
|
"alterId": 233,
|
||||||
"settings": {
|
"security": "auto"
|
||||||
"vnext": [
|
}
|
||||||
{
|
]
|
||||||
"address": "233blog.com",
|
}
|
||||||
"port": 2333,
|
]
|
||||||
"users": [
|
},
|
||||||
{
|
"streamSettings": {
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
"network": "ws"
|
||||||
"alterId": 233,
|
},
|
||||||
"security": "auto"
|
"mux": {
|
||||||
}
|
"enabled": true
|
||||||
]
|
}
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"streamSettings": {
|
{
|
||||||
"network": "ws"
|
"protocol": "freedom",
|
||||||
},
|
"settings": {},
|
||||||
"mux": {
|
"tag": "direct"
|
||||||
"enabled": true
|
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
"inboundDetour": [
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"protocol": "socks",
|
||||||
|
"settings": {
|
||||||
|
"auth": "noauth",
|
||||||
|
"udp": true,
|
||||||
|
"ip": "127.0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"port": 6666,
|
"port": 6666,
|
||||||
"listen": "127.0.0.1",
|
"listen": "127.0.0.1",
|
||||||
@@ -49,13 +56,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"outboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
"dns": {
|
||||||
"servers": [
|
"servers": [
|
||||||
"8.8.8.8",
|
"8.8.8.8",
|
||||||
@@ -64,44 +64,41 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"routing": {
|
"routing": {
|
||||||
"strategy": "rules",
|
"domainStrategy": "IPOnDemand",
|
||||||
"settings": {
|
"rules": [
|
||||||
"domainStrategy": "IPIfNonMatch",
|
{
|
||||||
"rules": [
|
"type": "field",
|
||||||
{
|
"ip": [
|
||||||
"type": "field",
|
"0.0.0.0/8",
|
||||||
"ip": [
|
"10.0.0.0/8",
|
||||||
"0.0.0.0/8",
|
"100.64.0.0/10",
|
||||||
"10.0.0.0/8",
|
"127.0.0.0/8",
|
||||||
"100.64.0.0/10",
|
"169.254.0.0/16",
|
||||||
"127.0.0.0/8",
|
"172.16.0.0/12",
|
||||||
"169.254.0.0/16",
|
"192.0.0.0/24",
|
||||||
"172.16.0.0/12",
|
"192.0.2.0/24",
|
||||||
"192.0.0.0/24",
|
"192.168.0.0/16",
|
||||||
"192.0.2.0/24",
|
"198.18.0.0/15",
|
||||||
"192.168.0.0/16",
|
"198.51.100.0/24",
|
||||||
"198.18.0.0/15",
|
"203.0.113.0/24",
|
||||||
"198.51.100.0/24",
|
"::1/128",
|
||||||
"203.0.113.0/24",
|
"fc00::/7",
|
||||||
"::1/128",
|
"fe80::/10",
|
||||||
"fc00::/7",
|
"geoip:cn"
|
||||||
"fe80::/10",
|
],
|
||||||
"geoip:cn"
|
"domain": [
|
||||||
],
|
"geosite:cn"
|
||||||
"domain": [
|
],
|
||||||
"geosite:cn"
|
"outboundTag": "direct"
|
||||||
],
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinasites",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinasites",
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinaip",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinaip",
|
}
|
||||||
"outboundTag": "direct"
|
]
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -3,51 +3,58 @@
|
|||||||
"error": "error.log",
|
"error": "error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"outbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"listen": "127.0.0.1",
|
"protocol": "vmess",
|
||||||
"protocol": "socks",
|
"settings": {
|
||||||
"settings": {
|
"vnext": [
|
||||||
"auth": "noauth",
|
{
|
||||||
"udp": true,
|
"address": "233blog.com",
|
||||||
"ip": "127.0.0.1"
|
"port": 2333,
|
||||||
}
|
"users": [
|
||||||
},
|
{
|
||||||
"outbound": {
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"protocol": "vmess",
|
"alterId": 233,
|
||||||
"settings": {
|
"security": "auto"
|
||||||
"vnext": [
|
}
|
||||||
{
|
]
|
||||||
"address": "233blog.com",
|
}
|
||||||
"port": 2333,
|
]
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"alterId": 233,
|
|
||||||
"security": "auto"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "ws",
|
|
||||||
"security": "tls",
|
|
||||||
"tlsSettings": {
|
|
||||||
"serverName": "233blog.com"
|
|
||||||
},
|
},
|
||||||
"wsSettings": {
|
"streamSettings": {
|
||||||
"path": "/233blog",
|
"network": "ws",
|
||||||
"headers": {
|
"security": "tls",
|
||||||
"Host": "233blog.com"
|
"tlsSettings": {
|
||||||
|
"serverName": "233blog.com"
|
||||||
|
},
|
||||||
|
"wsSettings": {
|
||||||
|
"path": "/233blog",
|
||||||
|
"headers": {
|
||||||
|
"Host": "233blog.com"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"mux": {
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mux": {
|
{
|
||||||
"enabled": true
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
"inboundDetour": [
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"protocol": "socks",
|
||||||
|
"settings": {
|
||||||
|
"auth": "noauth",
|
||||||
|
"udp": true,
|
||||||
|
"ip": "127.0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"port": 6666,
|
"port": 6666,
|
||||||
"listen": "127.0.0.1",
|
"listen": "127.0.0.1",
|
||||||
@@ -59,13 +66,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"outboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
"dns": {
|
||||||
"servers": [
|
"servers": [
|
||||||
"8.8.8.8",
|
"8.8.8.8",
|
||||||
@@ -74,44 +74,41 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"routing": {
|
"routing": {
|
||||||
"strategy": "rules",
|
"domainStrategy": "IPOnDemand",
|
||||||
"settings": {
|
"rules": [
|
||||||
"domainStrategy": "IPIfNonMatch",
|
{
|
||||||
"rules": [
|
"type": "field",
|
||||||
{
|
"ip": [
|
||||||
"type": "field",
|
"0.0.0.0/8",
|
||||||
"ip": [
|
"10.0.0.0/8",
|
||||||
"0.0.0.0/8",
|
"100.64.0.0/10",
|
||||||
"10.0.0.0/8",
|
"127.0.0.0/8",
|
||||||
"100.64.0.0/10",
|
"169.254.0.0/16",
|
||||||
"127.0.0.0/8",
|
"172.16.0.0/12",
|
||||||
"169.254.0.0/16",
|
"192.0.0.0/24",
|
||||||
"172.16.0.0/12",
|
"192.0.2.0/24",
|
||||||
"192.0.0.0/24",
|
"192.168.0.0/16",
|
||||||
"192.0.2.0/24",
|
"198.18.0.0/15",
|
||||||
"192.168.0.0/16",
|
"198.51.100.0/24",
|
||||||
"198.18.0.0/15",
|
"203.0.113.0/24",
|
||||||
"198.51.100.0/24",
|
"::1/128",
|
||||||
"203.0.113.0/24",
|
"fc00::/7",
|
||||||
"::1/128",
|
"fe80::/10",
|
||||||
"fc00::/7",
|
"geoip:cn"
|
||||||
"fe80::/10",
|
],
|
||||||
"geoip:cn"
|
"domain": [
|
||||||
],
|
"geosite:cn"
|
||||||
"domain": [
|
],
|
||||||
"geosite:cn"
|
"outboundTag": "direct"
|
||||||
],
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinasites",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinasites",
|
},
|
||||||
"outboundTag": "direct"
|
{
|
||||||
},
|
"type": "chinaip",
|
||||||
{
|
"outboundTag": "direct"
|
||||||
"type": "chinaip",
|
}
|
||||||
"outboundTag": "direct"
|
]
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
202
config/server/dynamic/http.json
Normal file
202
config/server/dynamic/http.json
Normal file
@@ -0,0 +1,202 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"access": "/var/log/v2ray/access.log",
|
||||||
|
"error": "/var/log/v2ray/error.log",
|
||||||
|
"loglevel": "warning"
|
||||||
|
},
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"detour": {
|
||||||
|
"to": "dynamic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "tcp",
|
||||||
|
"tcpSettings": {
|
||||||
|
"header": {
|
||||||
|
"type": "http"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "vmess",
|
||||||
|
"port": "10000-20000",
|
||||||
|
"tag": "dynamic",
|
||||||
|
"settings": {
|
||||||
|
"default": {
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 32
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"allocate": {
|
||||||
|
"strategy": "random",
|
||||||
|
"concurrency": 2,
|
||||||
|
"refresh": 5
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "tcp",
|
||||||
|
"tcpSettings": {
|
||||||
|
"header": {
|
||||||
|
"type": "http",
|
||||||
|
"response": {
|
||||||
|
"version": "1.1",
|
||||||
|
"status": "200",
|
||||||
|
"reason": "OK",
|
||||||
|
"headers": {
|
||||||
|
"Content-encoding": [
|
||||||
|
"gzip"
|
||||||
|
],
|
||||||
|
"Content-Type": [
|
||||||
|
"text/html; charset=utf-8"
|
||||||
|
],
|
||||||
|
"Cache-Control": [
|
||||||
|
"no-cache"
|
||||||
|
],
|
||||||
|
"Vary": [
|
||||||
|
"Accept-Encoding"
|
||||||
|
],
|
||||||
|
"X-Frame-Options": [
|
||||||
|
"deny"
|
||||||
|
],
|
||||||
|
"X-XSS-Protection": [
|
||||||
|
"1; mode=block"
|
||||||
|
],
|
||||||
|
"X-content-type-options": [
|
||||||
|
"nosniff"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//include_ss
|
||||||
|
//include_socks
|
||||||
|
//include_mtproto
|
||||||
|
//include_config
|
||||||
|
//
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "tg-out"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns": {
|
||||||
|
"server": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.0.0.1",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
|
},
|
||||||
|
"sockopt": {
|
||||||
|
"tcpFastOpen": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
169
config/server/dynamic/kcp.json
Normal file
169
config/server/dynamic/kcp.json
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"access": "/var/log/v2ray/access.log",
|
||||||
|
"error": "/var/log/v2ray/error.log",
|
||||||
|
"loglevel": "warning"
|
||||||
|
},
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"detour": {
|
||||||
|
"to": "dynamic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "kcp"
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "vmess",
|
||||||
|
"port": "10000-20000",
|
||||||
|
"tag": "dynamic",
|
||||||
|
"settings": {
|
||||||
|
"default": {
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 32
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"allocate": {
|
||||||
|
"strategy": "random",
|
||||||
|
"concurrency": 2,
|
||||||
|
"refresh": 5
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "kcp",
|
||||||
|
"kcpSettings": {
|
||||||
|
"header": {
|
||||||
|
"type": "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//include_ss
|
||||||
|
//include_socks
|
||||||
|
//include_mtproto
|
||||||
|
//include_config
|
||||||
|
//
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "tg-out"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns": {
|
||||||
|
"server": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.0.0.1",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
|
},
|
||||||
|
"sockopt": {
|
||||||
|
"tcpFastOpen": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
171
config/server/dynamic/quic.json
Normal file
171
config/server/dynamic/quic.json
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"access": "/var/log/v2ray/access.log",
|
||||||
|
"error": "/var/log/v2ray/error.log",
|
||||||
|
"loglevel": "warning"
|
||||||
|
},
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"detour": {
|
||||||
|
"to": "dynamic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "quic"
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "vmess",
|
||||||
|
"port": "10000-20000",
|
||||||
|
"tag": "dynamic",
|
||||||
|
"settings": {
|
||||||
|
"default": {
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 32
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"allocate": {
|
||||||
|
"strategy": "random",
|
||||||
|
"concurrency": 2,
|
||||||
|
"refresh": 5
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "quic",
|
||||||
|
"quicSettings": {
|
||||||
|
"security": "aes-128-gcm",
|
||||||
|
"key": "",
|
||||||
|
"header": {
|
||||||
|
"type": "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//include_ss
|
||||||
|
//include_socks
|
||||||
|
//include_mtproto
|
||||||
|
//include_config
|
||||||
|
//
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "tg-out"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns": {
|
||||||
|
"server": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.0.0.1",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
|
},
|
||||||
|
"sockopt": {
|
||||||
|
"tcpFastOpen": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
161
config/server/dynamic/tcp.json
Normal file
161
config/server/dynamic/tcp.json
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"access": "/var/log/v2ray/access.log",
|
||||||
|
"error": "/var/log/v2ray/error.log",
|
||||||
|
"loglevel": "warning"
|
||||||
|
},
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"detour": {
|
||||||
|
"to": "dynamic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "tcp"
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "vmess",
|
||||||
|
"port": "10000-20000",
|
||||||
|
"tag": "dynamic",
|
||||||
|
"settings": {
|
||||||
|
"default": {
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 32
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"allocate": {
|
||||||
|
"strategy": "random",
|
||||||
|
"concurrency": 2,
|
||||||
|
"refresh": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//include_ss
|
||||||
|
//include_socks
|
||||||
|
//include_mtproto
|
||||||
|
//include_config
|
||||||
|
//
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "tg-out"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns": {
|
||||||
|
"server": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.0.0.1",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
|
},
|
||||||
|
"sockopt": {
|
||||||
|
"tcpFastOpen": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
164
config/server/dynamic/ws.json
Normal file
164
config/server/dynamic/ws.json
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"access": "/var/log/v2ray/access.log",
|
||||||
|
"error": "/var/log/v2ray/error.log",
|
||||||
|
"loglevel": "warning"
|
||||||
|
},
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"detour": {
|
||||||
|
"to": "dynamic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "ws"
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "vmess",
|
||||||
|
"port": "10000-20000",
|
||||||
|
"tag": "dynamic",
|
||||||
|
"settings": {
|
||||||
|
"default": {
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 32
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"allocate": {
|
||||||
|
"strategy": "random",
|
||||||
|
"concurrency": 2,
|
||||||
|
"refresh": 5
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "ws"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//include_ss
|
||||||
|
//include_socks
|
||||||
|
//include_mtproto
|
||||||
|
//include_config
|
||||||
|
//
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "tg-out"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns": {
|
||||||
|
"server": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.0.0.1",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
|
},
|
||||||
|
"sockopt": {
|
||||||
|
"tcpFastOpen": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,78 +1,157 @@
|
|||||||
{
|
{
|
||||||
"log": {
|
"log": {
|
||||||
"access": "/var/log/v2ray/access.log",
|
"access": "/var/log/v2ray/access.log",
|
||||||
"error": "/var/log/v2ray/error.log",
|
"error": "/var/log/v2ray/error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"inbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"protocol": "vmess",
|
"port": 2333,
|
||||||
"settings": {
|
"protocol": "vmess",
|
||||||
"udp": true,
|
"settings": {
|
||||||
"clients": [
|
"clients": [
|
||||||
{
|
{
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"alterId": 233
|
"alterId": 233
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "h2",
|
||||||
|
"httpSettings": {
|
||||||
|
"host": [
|
||||||
|
"233blog.com"
|
||||||
|
],
|
||||||
|
"path": "/233blog"
|
||||||
|
},
|
||||||
|
"security": "tls",
|
||||||
|
"tlsSettings": {
|
||||||
|
"certificates": [
|
||||||
|
{
|
||||||
|
"certificateFile": "/etc/v2ray/233boy/v2ray/config/233blog.com.cer",
|
||||||
|
"keyFile": "/etc/v2ray/233boy/v2ray/config/233blog.com.key"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//include_ss
|
||||||
|
//include_socks
|
||||||
|
//include_mtproto
|
||||||
|
//include_config
|
||||||
|
//
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "tg-out"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns": {
|
||||||
|
"server": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.0.0.1",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
},
|
},
|
||||||
"streamSettings": {
|
"sockopt": {
|
||||||
"network": "h2",
|
"tcpFastOpen": true
|
||||||
"httpSettings": {
|
}
|
||||||
"host": [
|
}
|
||||||
"233blog.com"
|
|
||||||
],
|
|
||||||
"path": "/233blog"
|
|
||||||
},
|
|
||||||
"security": "tls",
|
|
||||||
"tlsSettings": {
|
|
||||||
"certificates": [
|
|
||||||
{
|
|
||||||
"certificateFile": "/etc/v2ray/233boy/v2ray/config/233blog.com.cer",
|
|
||||||
"keyFile": "/etc/v2ray/233boy/v2ray/config/233blog.com.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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
@@ -1,91 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "h2",
|
|
||||||
"httpSettings": {
|
|
||||||
"host": [
|
|
||||||
"233blog.com"
|
|
||||||
],
|
|
||||||
"path": "/233blog"
|
|
||||||
},
|
|
||||||
"security": "tls",
|
|
||||||
"tlsSettings": {
|
|
||||||
"certificates": [
|
|
||||||
{
|
|
||||||
"certificateFile": "/etc/v2ray/233boy/v2ray/config/233blog.com.cer",
|
|
||||||
"keyFile": "/etc/v2ray/233boy/v2ray/config/233blog.com.key"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"udp": true,
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,96 +1,175 @@
|
|||||||
{
|
{
|
||||||
"log": {
|
"log": {
|
||||||
"access": "/var/log/v2ray/access.log",
|
"access": "/var/log/v2ray/access.log",
|
||||||
"error": "/var/log/v2ray/error.log",
|
"error": "/var/log/v2ray/error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"inbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"protocol": "vmess",
|
"port": 2333,
|
||||||
"settings": {
|
"protocol": "vmess",
|
||||||
"udp": true,
|
"settings": {
|
||||||
"clients": [
|
"clients": [
|
||||||
{
|
{
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"alterId": 233
|
"alterId": 233
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "tcp",
|
||||||
|
"tcpSettings": {
|
||||||
|
"header": {
|
||||||
|
"type": "http",
|
||||||
|
"response": {
|
||||||
|
"version": "1.1",
|
||||||
|
"status": "200",
|
||||||
|
"reason": "OK",
|
||||||
|
"headers": {
|
||||||
|
"Content-encoding": [
|
||||||
|
"gzip"
|
||||||
|
],
|
||||||
|
"Content-Type": [
|
||||||
|
"text/html; charset=utf-8"
|
||||||
|
],
|
||||||
|
"Cache-Control": [
|
||||||
|
"no-cache"
|
||||||
|
],
|
||||||
|
"Vary": [
|
||||||
|
"Accept-Encoding"
|
||||||
|
],
|
||||||
|
"X-Frame-Options": [
|
||||||
|
"deny"
|
||||||
|
],
|
||||||
|
"X-XSS-Protection": [
|
||||||
|
"1; mode=block"
|
||||||
|
],
|
||||||
|
"X-content-type-options": [
|
||||||
|
"nosniff"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//include_ss
|
||||||
|
//include_socks
|
||||||
|
//include_mtproto
|
||||||
|
//include_config
|
||||||
|
//
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "tg-out"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns": {
|
||||||
|
"server": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.0.0.1",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
},
|
},
|
||||||
"streamSettings": {
|
"sockopt": {
|
||||||
"network": "tcp",
|
"tcpFastOpen": true
|
||||||
"tcpSettings": {
|
}
|
||||||
"header": {
|
}
|
||||||
"type": "http",
|
|
||||||
"response": {
|
|
||||||
"version": "1.1",
|
|
||||||
"status": "200",
|
|
||||||
"reason": "OK",
|
|
||||||
"headers": {
|
|
||||||
"Content-encoding": [
|
|
||||||
"gzip"
|
|
||||||
],
|
|
||||||
"Content-Type": [
|
|
||||||
"text/html; charset=utf-8"
|
|
||||||
],
|
|
||||||
"Cache-Control": [
|
|
||||||
"no-cache"
|
|
||||||
],
|
|
||||||
"Vary": [
|
|
||||||
"Accept-Encoding"
|
|
||||||
],
|
|
||||||
"X-Frame-Options": [
|
|
||||||
"deny"
|
|
||||||
],
|
|
||||||
"X-XSS-Protection": [
|
|
||||||
"1; mode=block"
|
|
||||||
],
|
|
||||||
"X-content-type-options": [
|
|
||||||
"nosniff"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
@@ -1,154 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "tcp",
|
|
||||||
"tcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "http",
|
|
||||||
"response": {
|
|
||||||
"version": "1.1",
|
|
||||||
"status": "200",
|
|
||||||
"reason": "OK",
|
|
||||||
"headers": {
|
|
||||||
"Content-encoding": [
|
|
||||||
"gzip"
|
|
||||||
],
|
|
||||||
"Content-Type": [
|
|
||||||
"text/html; charset=utf-8"
|
|
||||||
],
|
|
||||||
"Cache-Control": [
|
|
||||||
"no-cache"
|
|
||||||
],
|
|
||||||
"Vary": [
|
|
||||||
"Accept-Encoding"
|
|
||||||
],
|
|
||||||
"X-Frame-Options": [
|
|
||||||
"deny"
|
|
||||||
],
|
|
||||||
"X-XSS-Protection": [
|
|
||||||
"1; mode=block"
|
|
||||||
],
|
|
||||||
"X-content-type-options": [
|
|
||||||
"nosniff"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "tcp",
|
|
||||||
"tcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "http",
|
|
||||||
"response": {
|
|
||||||
"version": "1.1",
|
|
||||||
"status": "200",
|
|
||||||
"reason": "OK",
|
|
||||||
"headers": {
|
|
||||||
"Content-encoding": [
|
|
||||||
"gzip"
|
|
||||||
],
|
|
||||||
"Content-Type": [
|
|
||||||
"text/html; charset=utf-8"
|
|
||||||
],
|
|
||||||
"Cache-Control": [
|
|
||||||
"no-cache"
|
|
||||||
],
|
|
||||||
"Vary": [
|
|
||||||
"Accept-Encoding"
|
|
||||||
],
|
|
||||||
"X-Frame-Options": [
|
|
||||||
"deny"
|
|
||||||
],
|
|
||||||
"X-XSS-Protection": [
|
|
||||||
"1; mode=block"
|
|
||||||
],
|
|
||||||
"X-content-type-options": [
|
|
||||||
"nosniff"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,109 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "tcp",
|
|
||||||
"tcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "http",
|
|
||||||
"response": {
|
|
||||||
"version": "1.1",
|
|
||||||
"status": "200",
|
|
||||||
"reason": "OK",
|
|
||||||
"headers": {
|
|
||||||
"Content-encoding": [
|
|
||||||
"gzip"
|
|
||||||
],
|
|
||||||
"Content-Type": [
|
|
||||||
"text/html; charset=utf-8"
|
|
||||||
],
|
|
||||||
"Cache-Control": [
|
|
||||||
"no-cache"
|
|
||||||
],
|
|
||||||
"Vary": [
|
|
||||||
"Accept-Encoding"
|
|
||||||
],
|
|
||||||
"X-Frame-Options": [
|
|
||||||
"deny"
|
|
||||||
],
|
|
||||||
"X-XSS-Protection": [
|
|
||||||
"1; mode=block"
|
|
||||||
],
|
|
||||||
"X-content-type-options": [
|
|
||||||
"nosniff"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"udp": true,
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,165 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "tcp",
|
|
||||||
"tcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "http",
|
|
||||||
"response": {
|
|
||||||
"version": "1.1",
|
|
||||||
"status": "200",
|
|
||||||
"reason": "OK",
|
|
||||||
"headers": {
|
|
||||||
"Content-encoding": [
|
|
||||||
"gzip"
|
|
||||||
],
|
|
||||||
"Content-Type": [
|
|
||||||
"text/html; charset=utf-8"
|
|
||||||
],
|
|
||||||
"Cache-Control": [
|
|
||||||
"no-cache"
|
|
||||||
],
|
|
||||||
"Vary": [
|
|
||||||
"Accept-Encoding"
|
|
||||||
],
|
|
||||||
"X-Frame-Options": [
|
|
||||||
"deny"
|
|
||||||
],
|
|
||||||
"X-XSS-Protection": [
|
|
||||||
"1; mode=block"
|
|
||||||
],
|
|
||||||
"X-content-type-options": [
|
|
||||||
"nosniff"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"udp": true,
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "tcp",
|
|
||||||
"tcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "http",
|
|
||||||
"response": {
|
|
||||||
"version": "1.1",
|
|
||||||
"status": "200",
|
|
||||||
"reason": "OK",
|
|
||||||
"headers": {
|
|
||||||
"Content-encoding": [
|
|
||||||
"gzip"
|
|
||||||
],
|
|
||||||
"Content-Type": [
|
|
||||||
"text/html; charset=utf-8"
|
|
||||||
],
|
|
||||||
"Cache-Control": [
|
|
||||||
"no-cache"
|
|
||||||
],
|
|
||||||
"Vary": [
|
|
||||||
"Accept-Encoding"
|
|
||||||
],
|
|
||||||
"X-Frame-Options": [
|
|
||||||
"deny"
|
|
||||||
],
|
|
||||||
"X-XSS-Protection": [
|
|
||||||
"1; mode=block"
|
|
||||||
],
|
|
||||||
"X-content-type-options": [
|
|
||||||
"nosniff"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
7
config/server/include/bt.json
Normal file
7
config/server/include/bt.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"protocol": [
|
||||||
|
"bittorrent"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
}
|
12
config/server/include/mtproto.json
Normal file
12
config/server/include/mtproto.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"port": 6666,
|
||||||
|
"tag": "tg-in",
|
||||||
|
"settings": {
|
||||||
|
"users": [
|
||||||
|
{
|
||||||
|
"secret": "bb8a7fbd7190e345024845f07373ec48"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
16
config/server/include/socks.json
Normal file
16
config/server/include/socks.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"protocol": "socks",
|
||||||
|
"port": 6666,
|
||||||
|
"settings": {
|
||||||
|
"auth": "password",
|
||||||
|
"accounts": [
|
||||||
|
{
|
||||||
|
"user": "v2ray66.com",
|
||||||
|
"pass": "233blog.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"udp": true,
|
||||||
|
"timeout": 0,
|
||||||
|
"userLevel": 1
|
||||||
|
}
|
||||||
|
}
|
11
config/server/include/ss.json
Normal file
11
config/server/include/ss.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"protocol": "shadowsocks",
|
||||||
|
"port": 6666,
|
||||||
|
"settings": {
|
||||||
|
"method": "chacha20-ietf",
|
||||||
|
"password": "233blog.com",
|
||||||
|
"network": "tcp,udp",
|
||||||
|
"level": 1,
|
||||||
|
"ota": false
|
||||||
|
}
|
||||||
|
}
|
@@ -1,75 +1,147 @@
|
|||||||
{
|
{
|
||||||
"log": {
|
"log": {
|
||||||
"access": "/var/log/v2ray/access.log",
|
"access": "/var/log/v2ray/access.log",
|
||||||
"error": "/var/log/v2ray/error.log",
|
"error": "/var/log/v2ray/error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"inbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"protocol": "vmess",
|
"port": 2333,
|
||||||
"settings": {
|
"protocol": "vmess",
|
||||||
"udp": true,
|
"settings": {
|
||||||
"clients": [
|
"clients": [
|
||||||
{
|
{
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"alterId": 233
|
"alterId": 233
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "kcp",
|
||||||
|
"kcpSettings": {
|
||||||
|
"header": {
|
||||||
|
"type": "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//include_ss
|
||||||
|
//include_socks
|
||||||
|
//include_mtproto
|
||||||
|
//include_config
|
||||||
|
//
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "blocked"
|
||||||
},
|
},
|
||||||
"streamSettings": {
|
|
||||||
"network": "kcp",
|
|
||||||
"kcpSettings": {
|
|
||||||
"mtu": 1350,
|
|
||||||
"tti": 50,
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": false,
|
|
||||||
"readBufferSize": 2,
|
|
||||||
"writeBufferSize": 2,
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"outboundDetour": [
|
|
||||||
{
|
{
|
||||||
"protocol": "blackhole",
|
"protocol": "freedom",
|
||||||
"settings": {},
|
"settings": {},
|
||||||
"tag": "blocked"
|
"tag": "direct"
|
||||||
}
|
},
|
||||||
],
|
{
|
||||||
"routing": {
|
"protocol": "mtproto",
|
||||||
"strategy": "rules",
|
"settings": {},
|
||||||
"settings": {
|
"tag": "tg-out"
|
||||||
"rules": [
|
}
|
||||||
{
|
],
|
||||||
"type": "field",
|
"dns": {
|
||||||
"ip": [
|
"server": [
|
||||||
"0.0.0.0/8",
|
"8.8.8.8",
|
||||||
"10.0.0.0/8",
|
"8.8.4.4",
|
||||||
"100.64.0.0/10",
|
"1.1.1.1",
|
||||||
"127.0.0.0/8",
|
"1.0.0.1",
|
||||||
"169.254.0.0/16",
|
"localhost"
|
||||||
"172.16.0.0/12",
|
]
|
||||||
"192.0.0.0/24",
|
},
|
||||||
"192.0.2.0/24",
|
"routing": {
|
||||||
"192.168.0.0/16",
|
"domainStrategy": "IPOnDemand",
|
||||||
"198.18.0.0/15",
|
"rules": [
|
||||||
"198.51.100.0/24",
|
{
|
||||||
"203.0.113.0/24",
|
"type": "field",
|
||||||
"::1/128",
|
"ip": [
|
||||||
"fc00::/7",
|
"0.0.0.0/8",
|
||||||
"fe80::/10"
|
"10.0.0.0/8",
|
||||||
],
|
"100.64.0.0/10",
|
||||||
"outboundTag": "blocked"
|
"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",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
|
},
|
||||||
|
"sockopt": {
|
||||||
|
"tcpFastOpen": true
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@@ -1,102 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "kcp"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "kcp"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"mtu": 1350,
|
|
||||||
"tti": 50,
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": false,
|
|
||||||
"readBufferSize": 2,
|
|
||||||
"writeBufferSize": 2,
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,88 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "kcp",
|
|
||||||
"kcpSettings": {
|
|
||||||
"mtu": 1350,
|
|
||||||
"tti": 50,
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": false,
|
|
||||||
"readBufferSize": 2,
|
|
||||||
"writeBufferSize": 2,
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"udp": true,
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,113 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "kcp"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"udp": true,
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "kcp"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"mtu": 1350,
|
|
||||||
"tti": 50,
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": false,
|
|
||||||
"readBufferSize": 2,
|
|
||||||
"writeBufferSize": 2,
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
149
config/server/quic.json
Normal file
149
config/server/quic.json
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"access": "/var/log/v2ray/access.log",
|
||||||
|
"error": "/var/log/v2ray/error.log",
|
||||||
|
"loglevel": "warning"
|
||||||
|
},
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 2333,
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "quic",
|
||||||
|
"quicSettings": {
|
||||||
|
"security": "aes-128-gcm",
|
||||||
|
"key": "",
|
||||||
|
"header": {
|
||||||
|
"type": "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//include_ss
|
||||||
|
//include_socks
|
||||||
|
//include_mtproto
|
||||||
|
//include_config
|
||||||
|
//
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "tg-out"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns": {
|
||||||
|
"server": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.0.0.1",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
|
},
|
||||||
|
"sockopt": {
|
||||||
|
"tcpFastOpen": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,62 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"auth": "password",
|
|
||||||
"accounts": [
|
|
||||||
{
|
|
||||||
"user": "233blog",
|
|
||||||
"pass": "233blog.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"udp": true,
|
|
||||||
"timeout": 0,
|
|
||||||
"userLevel": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,75 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"auth": "password",
|
|
||||||
"accounts": [
|
|
||||||
{
|
|
||||||
"user": "233blog",
|
|
||||||
"pass": "233blog.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"udp": true,
|
|
||||||
"timeout": 0,
|
|
||||||
"userLevel": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"udp": true,
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,60 +1,142 @@
|
|||||||
{
|
{
|
||||||
"log": {
|
"log": {
|
||||||
"access": "/var/log/v2ray/access.log",
|
"access": "/var/log/v2ray/access.log",
|
||||||
"error": "/var/log/v2ray/error.log",
|
"error": "/var/log/v2ray/error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"inbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"protocol": "vmess",
|
"port": 2333,
|
||||||
"settings": {
|
"protocol": "vmess",
|
||||||
"udp": true,
|
"settings": {
|
||||||
"clients": [
|
"clients": [
|
||||||
{
|
{
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"alterId": 233
|
"alterId": 233
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
},
|
"streamSettings": {
|
||||||
"outbound": {
|
"network": "tcp"
|
||||||
"protocol": "freedom",
|
},
|
||||||
"settings": {}
|
"sniffing": {
|
||||||
},
|
"enabled": true,
|
||||||
"outboundDetour": [
|
"destOverride": [
|
||||||
{
|
"http",
|
||||||
"protocol": "blackhole",
|
"tls"
|
||||||
"settings": {},
|
]
|
||||||
"tag": "blocked"
|
}
|
||||||
}
|
}
|
||||||
],
|
//include_ss
|
||||||
"routing": {
|
//include_socks
|
||||||
"strategy": "rules",
|
//include_mtproto
|
||||||
"settings": {
|
//include_config
|
||||||
"rules": [
|
//
|
||||||
{
|
],
|
||||||
"type": "field",
|
"outbounds": [
|
||||||
"ip": [
|
{
|
||||||
"0.0.0.0/8",
|
"protocol": "freedom",
|
||||||
"10.0.0.0/8",
|
"settings": {}
|
||||||
"100.64.0.0/10",
|
},
|
||||||
"127.0.0.0/8",
|
{
|
||||||
"169.254.0.0/16",
|
"protocol": "blackhole",
|
||||||
"172.16.0.0/12",
|
"settings": {},
|
||||||
"192.0.0.0/24",
|
"tag": "blocked"
|
||||||
"192.0.2.0/24",
|
},
|
||||||
"192.168.0.0/16",
|
{
|
||||||
"198.18.0.0/15",
|
"protocol": "freedom",
|
||||||
"198.51.100.0/24",
|
"settings": {},
|
||||||
"203.0.113.0/24",
|
"tag": "direct"
|
||||||
"::1/128",
|
},
|
||||||
"fc00::/7",
|
{
|
||||||
"fe80::/10"
|
"protocol": "mtproto",
|
||||||
],
|
"settings": {},
|
||||||
"outboundTag": "blocked"
|
"tag": "tg-out"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
}
|
"dns": {
|
||||||
}
|
"server": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.0.0.1",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
|
},
|
||||||
|
"sockopt": {
|
||||||
|
"tcpFastOpen": true
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@@ -1,82 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,73 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"udp": true,
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,93 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"udp": true,
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,63 +1,142 @@
|
|||||||
{
|
{
|
||||||
"log": {
|
"log": {
|
||||||
"access": "/var/log/v2ray/access.log",
|
"access": "/var/log/v2ray/access.log",
|
||||||
"error": "/var/log/v2ray/error.log",
|
"error": "/var/log/v2ray/error.log",
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"inbound": {
|
"inbounds": [
|
||||||
"port": 2333,
|
{
|
||||||
"protocol": "vmess",
|
"port": 2333,
|
||||||
"settings": {
|
"protocol": "vmess",
|
||||||
"udp": true,
|
"settings": {
|
||||||
"clients": [
|
"clients": [
|
||||||
{
|
{
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"alterId": 233
|
"alterId": 233
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "ws"
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//include_ss
|
||||||
|
//include_socks
|
||||||
|
//include_mtproto
|
||||||
|
//include_config
|
||||||
|
//
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "direct"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"settings": {},
|
||||||
|
"tag": "tg-out"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dns": {
|
||||||
|
"server": [
|
||||||
|
"8.8.8.8",
|
||||||
|
"8.8.4.4",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.0.0.1",
|
||||||
|
"localhost"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"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": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:epochtimes.com",
|
||||||
|
"domain:epochtimes.com.tw",
|
||||||
|
"domain:epochtimes.fr",
|
||||||
|
"domain:epochtimes.de",
|
||||||
|
"domain:epochtimes.jp",
|
||||||
|
"domain:epochtimes.ru",
|
||||||
|
"domain:epochtimes.co.il",
|
||||||
|
"domain:epochtimes.co.kr",
|
||||||
|
"domain:epochtimes-romania.com",
|
||||||
|
"domain:erabaru.net",
|
||||||
|
"domain:lagranepoca.com",
|
||||||
|
"domain:theepochtimes.com",
|
||||||
|
"domain:ntdtv.com",
|
||||||
|
"domain:ntd.tv",
|
||||||
|
"domain:ntdtv-dc.com",
|
||||||
|
"domain:ntdtv.com.tw",
|
||||||
|
"domain:minghui.org",
|
||||||
|
"domain:renminbao.com",
|
||||||
|
"domain:dafahao.com",
|
||||||
|
"domain:dongtaiwang.com",
|
||||||
|
"domain:falundafa.org",
|
||||||
|
"domain:wujieliulan.com",
|
||||||
|
"domain:ninecommentaries.com",
|
||||||
|
"domain:shenyun.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"inboundTag": ["tg-in"],
|
||||||
|
"outboundTag": "tg-out"
|
||||||
|
}
|
||||||
|
//include_ban_bt
|
||||||
|
//include_ban_ad
|
||||||
|
//include_rules
|
||||||
|
//
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"kcpSettings": {
|
||||||
|
"uplinkCapacity": 100,
|
||||||
|
"downlinkCapacity": 100,
|
||||||
|
"congestion": true
|
||||||
},
|
},
|
||||||
"streamSettings": {
|
"sockopt": {
|
||||||
"network": "ws"
|
"tcpFastOpen": true
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
@@ -1,88 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "ws"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "ws"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,76 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "ws"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"udp": true,
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,99 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbound": {
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "23332333-2333-2333-2333-233boy233boy",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "ws"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outbound": {
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
"inboundDetour": [
|
|
||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"udp": true,
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"udp": true,
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "ws"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
1362
install.sh
1362
install.sh
File diff suppressed because it is too large
Load Diff
6
src/ban_ad.sh
Normal file
6
src/ban_ad.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# ban ad
|
||||||
|
if [[ $ban_ad ]]; then
|
||||||
|
ban_ad_file="/etc/v2ray/233boy/v2ray/config/server/include/ad.json"
|
||||||
|
sed -i "/\/\/include_ban_ad/r $ban_ad_file" $v2ray_server_config
|
||||||
|
sed -i "s#//include_ban_ad#,#" $v2ray_server_config
|
||||||
|
fi
|
6
src/ban_bt.sh
Normal file
6
src/ban_bt.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# ban bt
|
||||||
|
if [[ $ban_bt ]]; then
|
||||||
|
ban_bt_file="/etc/v2ray/233boy/v2ray/config/server/include/bt.json"
|
||||||
|
sed -i "/\/\/include_ban_bt/r $ban_bt_file" $v2ray_server_config
|
||||||
|
sed -i "s#//include_ban_bt#,#" $v2ray_server_config
|
||||||
|
fi
|
71
src/bt.sh
Normal file
71
src/bt.sh
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
_ban_bt_main() {
|
||||||
|
if [[ $ban_bt ]]; then
|
||||||
|
local _info="$green已开启$none"
|
||||||
|
else
|
||||||
|
local _info="$red已关闭$none"
|
||||||
|
fi
|
||||||
|
_opt=''
|
||||||
|
while :; do
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 1. $none开启 BT 屏蔽"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 2. $none关闭 BT 屏蔽"
|
||||||
|
echo
|
||||||
|
echo -e "当前 BT 屏蔽状态: $_info"
|
||||||
|
echo
|
||||||
|
read -p "$(echo -e "请选择 [${magenta}1-2$none]:")" _opt
|
||||||
|
if [[ -z $_opt ]]; then
|
||||||
|
error
|
||||||
|
else
|
||||||
|
case $_opt in
|
||||||
|
1)
|
||||||
|
if [[ $ban_bt ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " 大胸弟...难不成你没有看到 (当前 BT 屏蔽状态: $_info) 这个帅帅的提示么.....还开启个鸡鸡哦"
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow BT 屏蔽 = $cyan开启$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
pause
|
||||||
|
backup_config +bt
|
||||||
|
ban_bt=true
|
||||||
|
config
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$green BT 屏蔽已开启...如果出现异常..那就关闭它咯$none"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
if [[ $ban_bt ]]; then
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow BT 屏蔽 = $cyan关闭$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
pause
|
||||||
|
backup_config -bt
|
||||||
|
ban_bt=''
|
||||||
|
config
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$red BT 屏蔽已关闭...不过你也可以随时重新开启 ...只要你喜欢$none"
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo -e " 大胸弟...难不成你没有看到 (当前 BT 屏蔽状态: $_info) 这个帅帅的提示么.....还关闭个鸡鸡哦"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
67
src/caddy-config.sh
Normal file
67
src/caddy-config.sh
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
local email=$(((RANDOM << 22)))
|
||||||
|
case $v2ray_transport in
|
||||||
|
4)
|
||||||
|
if [[ $is_path ]]; then
|
||||||
|
cat >/etc/caddy/Caddyfile <<-EOF
|
||||||
|
$domain {
|
||||||
|
tls ${email}@gmail.com
|
||||||
|
gzip
|
||||||
|
timeouts none
|
||||||
|
proxy / $proxy_site {
|
||||||
|
except /${path}
|
||||||
|
}
|
||||||
|
proxy /${path} 127.0.0.1:${v2ray_port} {
|
||||||
|
without /${path}
|
||||||
|
websocket
|
||||||
|
}
|
||||||
|
}
|
||||||
|
import sites/*
|
||||||
|
EOF
|
||||||
|
else
|
||||||
|
cat >/etc/caddy/Caddyfile <<-EOF
|
||||||
|
$domain {
|
||||||
|
tls ${email}@gmail.com
|
||||||
|
timeouts none
|
||||||
|
proxy / 127.0.0.1:${v2ray_port} {
|
||||||
|
websocket
|
||||||
|
}
|
||||||
|
}
|
||||||
|
import sites/*
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
if [[ $is_path ]]; then
|
||||||
|
cat >/etc/caddy/Caddyfile <<-EOF
|
||||||
|
$domain {
|
||||||
|
tls ${email}@gmail.com
|
||||||
|
gzip
|
||||||
|
timeouts none
|
||||||
|
proxy / $proxy_site {
|
||||||
|
except /${path}
|
||||||
|
}
|
||||||
|
proxy /${path} https://127.0.0.1:${v2ray_port} {
|
||||||
|
header_upstream Host {host}
|
||||||
|
header_upstream X-Forwarded-Proto {scheme}
|
||||||
|
insecure_skip_verify
|
||||||
|
}
|
||||||
|
}
|
||||||
|
import sites/*
|
||||||
|
EOF
|
||||||
|
else
|
||||||
|
cat >/etc/caddy/Caddyfile <<-EOF
|
||||||
|
$domain {
|
||||||
|
tls ${email}@gmail.com
|
||||||
|
timeouts none
|
||||||
|
proxy / https://127.0.0.1:${v2ray_port} {
|
||||||
|
header_upstream Host {host}
|
||||||
|
header_upstream X-Forwarded-Proto {scheme}
|
||||||
|
insecure_skip_verify
|
||||||
|
}
|
||||||
|
}
|
||||||
|
import sites/*
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
24
src/config.sh
Normal file
24
src/config.sh
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
# vmess
|
||||||
|
_load vmess-config.sh
|
||||||
|
|
||||||
|
# ban bt
|
||||||
|
_load ban_bt.sh
|
||||||
|
|
||||||
|
# ban ad
|
||||||
|
_load ban_ad.sh
|
||||||
|
|
||||||
|
# custom rules
|
||||||
|
_load custom_rules.sh
|
||||||
|
|
||||||
|
# ss
|
||||||
|
_load ss-config.sh
|
||||||
|
|
||||||
|
# socks
|
||||||
|
_load socks-config.sh
|
||||||
|
|
||||||
|
# mtproto
|
||||||
|
_load mtproto-config.sh
|
||||||
|
|
||||||
|
# custom config
|
||||||
|
_load custom_config.sh
|
6
src/custom_config.sh
Normal file
6
src/custom_config.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# custom config
|
||||||
|
if [[ -f /etc/v2ray/custom/config.json ]]; then
|
||||||
|
custom_config_file="/etc/v2ray/custom/config.json"
|
||||||
|
sed -i "/\/\/include_config/r $custom_config_file" $v2ray_server_config
|
||||||
|
sed -i "s#//include_config#,#" $v2ray_server_config
|
||||||
|
fi
|
6
src/custom_rules.sh
Normal file
6
src/custom_rules.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# custom rules
|
||||||
|
if [[ -f /etc/v2ray/custom/rules.json ]]; then
|
||||||
|
custom_rules_file="/etc/v2ray/custom/rules.json"
|
||||||
|
sed -i "/\/\/include_rules/r $custom_rules_file" $v2ray_server_config
|
||||||
|
sed -i "s#//include_rules#,#" $v2ray_server_config
|
||||||
|
fi
|
47
src/download-caddy.sh
Normal file
47
src/download-caddy.sh
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
_download_caddy_file() {
|
||||||
|
caddy_tmp="/tmp/install_caddy/"
|
||||||
|
caddy_tmp_file="/tmp/install_caddy/caddy.tar.gz"
|
||||||
|
[[ -d $caddy_tmp ]] && rm -rf $caddy_tmp
|
||||||
|
if [[ $sys_bit == "i386" || $sys_bit == "i686" ]]; then
|
||||||
|
local caddy_download_link="https://caddyserver.com/download/linux/386?license=personal"
|
||||||
|
else
|
||||||
|
local caddy_download_link="https://caddyserver.com/download/linux/amd64?license=personal"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $caddy_tmp
|
||||||
|
|
||||||
|
if ! wget --no-check-certificate -O "$caddy_tmp_file" $caddy_download_link; then
|
||||||
|
echo -e "$red 下载 Caddy 失败!$none" && exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
tar zxf $caddy_tmp_file -C $caddy_tmp
|
||||||
|
cp -f ${caddy_tmp}caddy /usr/local/bin/
|
||||||
|
|
||||||
|
if [[ ! -f /usr/local/bin/caddy ]]; then
|
||||||
|
echo -e "$red 安装 Caddy 出错!" && exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
_install_caddy_service() {
|
||||||
|
setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/caddy
|
||||||
|
|
||||||
|
if [[ $systemd ]]; then
|
||||||
|
cp -f ${caddy_tmp}init/linux-systemd/caddy.service /lib/systemd/system/
|
||||||
|
# sed -i "s/www-data/root/g" /lib/systemd/system/caddy.service
|
||||||
|
sed -i "s/on-abnormal/always/" /lib/systemd/system/caddy.service
|
||||||
|
systemctl enable caddy
|
||||||
|
else
|
||||||
|
cp -f ${caddy_tmp}init/linux-sysvinit/caddy /etc/init.d/caddy
|
||||||
|
# sed -i "s/www-data/root/g" /etc/init.d/caddy
|
||||||
|
chmod +x /etc/init.d/caddy
|
||||||
|
update-rc.d -f caddy defaults
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p /etc/ssl/caddy
|
||||||
|
|
||||||
|
if [ -z "$(grep www-data /etc/passwd)" ]; then
|
||||||
|
useradd -M -s /usr/sbin/nologin www-data
|
||||||
|
fi
|
||||||
|
chown -R www-data.www-data /etc/ssl/caddy
|
||||||
|
|
||||||
|
mkdir -p /etc/caddy/
|
||||||
|
}
|
73
src/download-v2ray.sh
Normal file
73
src/download-v2ray.sh
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
_get_latest_version() {
|
||||||
|
v2ray_latest_ver="$(curl -H 'Cache-Control: no-cache' -s https://api.github.com/repos/v2ray/v2ray-core/releases/latest | grep 'tag_name' | cut -d\" -f4)"
|
||||||
|
|
||||||
|
if [[ ! $v2ray_latest_ver ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " $red获取 V2Ray 最新版本失败!!!$none"
|
||||||
|
echo
|
||||||
|
echo -e " 请尝试执行如下命令: $green echo 'nameserver 8.8.8.8' >/etc/resolv.conf $none"
|
||||||
|
echo
|
||||||
|
echo " 然后再重新运行脚本...."
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_download_v2ray_file() {
|
||||||
|
_get_latest_version
|
||||||
|
[[ -d /tmp/v2ray ]] && rm -rf /tmp/v2ray
|
||||||
|
mkdir -p /tmp/v2ray
|
||||||
|
v2ray_tmp_file="/tmp/v2ray/v2ray.zip"
|
||||||
|
v2ray_download_link="https://github.com/v2ray/v2ray-core/releases/download/$v2ray_latest_ver/v2ray-linux-${v2ray_bit}.zip"
|
||||||
|
|
||||||
|
if ! wget --no-check-certificate -O "$v2ray_tmp_file" $v2ray_download_link; then
|
||||||
|
echo -e "
|
||||||
|
$red 下载 V2Ray 失败啦..可能是你的 VPS 网络太辣鸡了...请重试...$none
|
||||||
|
" && exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
unzip $v2ray_tmp_file -d "/tmp/v2ray/"
|
||||||
|
mkdir -p /usr/bin/v2ray
|
||||||
|
cp -f "/tmp/v2ray/v2ray" "/usr/bin/v2ray/v2ray"
|
||||||
|
chmod +x "/usr/bin/v2ray/v2ray"
|
||||||
|
cp -f "/tmp/v2ray/v2ctl" "/usr/bin/v2ray/v2ctl"
|
||||||
|
chmod +x "/usr/bin/v2ray/v2ctl"
|
||||||
|
}
|
||||||
|
|
||||||
|
_install_v2ray_service() {
|
||||||
|
if [[ $systemd ]]; then
|
||||||
|
cp -f "/tmp/v2ray/systemd/v2ray.service" "/lib/systemd/system/"
|
||||||
|
sed -i "s/on-failure/always/" /lib/systemd/system/v2ray.service
|
||||||
|
systemctl enable v2ray
|
||||||
|
else
|
||||||
|
apt-get install -y daemon
|
||||||
|
cp "/tmp/v2ray/systemv/v2ray" "/etc/init.d/v2ray"
|
||||||
|
chmod +x "/etc/init.d/v2ray"
|
||||||
|
update-rc.d -f v2ray defaults
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_update_v2ray_version() {
|
||||||
|
_get_latest_version
|
||||||
|
if [[ $v2ray_ver != $v2ray_latest_ver ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " $green 咦...发现新版本耶....正在拼命更新.......$none"
|
||||||
|
echo
|
||||||
|
_download_v2ray_file
|
||||||
|
do_service restart v2ray
|
||||||
|
echo
|
||||||
|
echo -e " $green 更新成功啦...当前 V2Ray 版本: ${cyan}$v2ray_latest_ver$none"
|
||||||
|
echo
|
||||||
|
echo -e " $yellow 温馨提示: 为了避免出现莫名其妙的问题...V2Ray 客户端的版本最好和服务器的版本保持一致$none"
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo -e " $green 木有发现新版本....$none"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_mkdir_dir() {
|
||||||
|
mkdir -p /var/log/v2ray
|
||||||
|
mkdir -p /etc/v2ray
|
||||||
|
}
|
17
src/init.sh
Normal file
17
src/init.sh
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
_rm() {
|
||||||
|
rm -rf "$@"
|
||||||
|
}
|
||||||
|
_cp() {
|
||||||
|
cp -f "$@"
|
||||||
|
}
|
||||||
|
_sed() {
|
||||||
|
sed -i "$@"
|
||||||
|
}
|
||||||
|
_mkdir() {
|
||||||
|
mkdir -p "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
_load() {
|
||||||
|
local _dir="/etc/v2ray/233boy/v2ray/src/"
|
||||||
|
. "${_dir}$@"
|
||||||
|
}
|
10
src/mtproto-config.sh
Normal file
10
src/mtproto-config.sh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# shadowsocks config
|
||||||
|
if [[ $mtproto ]]; then
|
||||||
|
mtproto_file="/etc/v2ray/233boy/v2ray/config/server/include/mtproto.json"
|
||||||
|
mtproto_file_tmp="/tmp/ss.json.tmp"
|
||||||
|
cp -f $mtproto_file $mtproto_file_tmp
|
||||||
|
sed -i "s/6666/$mtproto_port/; s/bb8a7fbd7190e345024845f07373ec48/$mtproto_secret/" $mtproto_file_tmp
|
||||||
|
sed -i "/\/\/include_mtproto/r $mtproto_file_tmp" $v2ray_server_config
|
||||||
|
sed -i "s#//include_mtproto#,#" $v2ray_server_config
|
||||||
|
rm -rf $mtproto_file_tmp
|
||||||
|
fi
|
288
src/mtproto.sh
Normal file
288
src/mtproto.sh
Normal file
@@ -0,0 +1,288 @@
|
|||||||
|
_view_mtproto_info() {
|
||||||
|
if [[ $mtproto ]]; then
|
||||||
|
_mtproto_info
|
||||||
|
else
|
||||||
|
_mtproto_ask
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
_mtproto_info() {
|
||||||
|
[[ -z $ip ]] && get_ip
|
||||||
|
echo
|
||||||
|
echo "---------- Telegram MTProto 配置信息 -------------"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 主机 (Hostname) = $cyan${ip}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 端口 (Port) = $cyan$mtproto_port$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 密钥 (Secret) = $cyan$mtproto_secret$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow Telegram 代理配置链接 = ${cyan}tg://proxy?server=${ip}&port=${mtproto_port}&secret=${mtproto_secret}$none"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
_mtproto_main() {
|
||||||
|
if [[ $mtproto ]]; then
|
||||||
|
|
||||||
|
while :; do
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 1. $none查看 Telegram MTProto 配置信息"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 2. $none修改 Telegram MTProto 端口"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 3. $none修改 Telegram MTProto 密钥"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 4. $none关闭 Telegram MTProto"
|
||||||
|
echo
|
||||||
|
read -p "$(echo -e "请选择 [${magenta}1-4$none]:")" _opt
|
||||||
|
if [[ -z $_opt ]]; then
|
||||||
|
error
|
||||||
|
else
|
||||||
|
case $_opt in
|
||||||
|
1)
|
||||||
|
_mtproto_info
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
change_mtproto_port
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
change_mtproto_secret
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
disable_mtproto
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
else
|
||||||
|
_mtproto_ask
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
_mtproto_ask() {
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e " $red大佬...你没有配置 Telegram MTProto $none...不过现在想要配置的话也是可以的 ^_^"
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
new_mtproto_secret=$(date | md5sum | cut -c-32)
|
||||||
|
while :; do
|
||||||
|
echo -e "是否配置 ${yellow}Telegram MTProto${none} [${magenta}Y/N$none]"
|
||||||
|
read -p "$(echo -e "(默认 [${cyan}N$none]):") " new_mtproto
|
||||||
|
[[ -z "$new_mtproto" ]] && new_mtproto="n"
|
||||||
|
if [[ "$new_mtproto" == [Yy] ]]; then
|
||||||
|
echo
|
||||||
|
mtproto=true
|
||||||
|
mtproto_port_config
|
||||||
|
pause
|
||||||
|
open_port $new_mtproto_port
|
||||||
|
backup_config +mtproto
|
||||||
|
mtproto_port=$new_mtproto_port
|
||||||
|
mtproto_secret=$new_mtproto_secret
|
||||||
|
config
|
||||||
|
clear
|
||||||
|
_mtproto_info
|
||||||
|
break
|
||||||
|
elif [[ "$new_mtproto" == [Nn] ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " $green已取消配置 Telegram MTProto ....$none"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
else
|
||||||
|
error
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
}
|
||||||
|
disable_mtproto() {
|
||||||
|
echo
|
||||||
|
|
||||||
|
while :; do
|
||||||
|
echo -e "是否关闭 ${yellow}Telegram MTProto${none} [${magenta}Y/N$none]"
|
||||||
|
read -p "$(echo -e "(默认 [${cyan}N$none]):") " y_n
|
||||||
|
[[ -z "$y_n" ]] && y_n="n"
|
||||||
|
if [[ "$y_n" == [Yy] ]]; then
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 关闭 Telegram MTProto = $cyan是$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
pause
|
||||||
|
backup_config -mtproto
|
||||||
|
del_port $mtproto_port
|
||||||
|
mtproto=''
|
||||||
|
config
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$green Telegram MTProto 已关闭...不过你也可以随时重新启用 Telegram MTProto ...只要你喜欢$none"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
elif [[ "$y_n" == [Nn] ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " $green已取消关闭 Telegram MTProto ....$none"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
else
|
||||||
|
error
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
}
|
||||||
|
mtproto_port_config() {
|
||||||
|
local random=$(shuf -i20001-65535 -n1)
|
||||||
|
echo
|
||||||
|
while :; do
|
||||||
|
echo -e "请输入 "$yellow"Telegram MTProto"$none" 端口 ["$magenta"1-65535"$none"],不能和 "$yellow"V2Ray"$none" 端口相同"
|
||||||
|
read -p "$(echo -e "(默认端口: ${cyan}${random}$none):") " new_mtproto_port
|
||||||
|
[ -z "$new_mtproto_port" ] && new_mtproto_port=$random
|
||||||
|
case $new_mtproto_port in
|
||||||
|
$v2ray_port)
|
||||||
|
echo
|
||||||
|
echo " 不能和 V2Ray 端口一毛一样...."
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
[1-9] | [1-9][0-9] | [1-9][0-9][0-9] | [1-9][0-9][0-9][0-9] | [1-5][0-9][0-9][0-9][0-9] | 6[0-4][0-9][0-9][0-9] | 65[0-4][0-9][0-9] | 655[0-3][0-5])
|
||||||
|
if [[ $v2ray_transport == [45] ]]; then
|
||||||
|
local tls=ture
|
||||||
|
fi
|
||||||
|
if [[ $tls && $new_mtproto_port == "80" ]] || [[ $tls && $new_mtproto_port == "443" ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "由于你已选择了 "$green"WebSocket + TLS $none或$green HTTP/2"$none" 传输协议."
|
||||||
|
echo
|
||||||
|
echo -e "所以不能选择 "$magenta"80"$none" 或 "$magenta"443"$none" 端口"
|
||||||
|
error
|
||||||
|
elif [[ $dynamicPort ]] && [[ $v2ray_dynamicPort_start == $new_mtproto_port || $v2ray_dynamicPort_end == $new_mtproto_port ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " 抱歉,此端口和 V2Ray 动态端口 冲突,当前 V2Ray 动态端口范围为:${cyan}$port_range${none}"
|
||||||
|
error
|
||||||
|
elif [[ $dynamicPort ]] && [[ $v2ray_dynamicPort_start -lt $new_mtproto_port && $new_mtproto_port -le $v2ray_dynamicPort_end ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " 抱歉,此端口和 V2Ray 动态端口 冲突,当前 V2Ray 动态端口范围为:${cyan}$port_range${none}"
|
||||||
|
error
|
||||||
|
elif [[ $shadowsocks && $new_mtproto_port == $ssport ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "抱歉, 此端口跟 Shadowsocks 端口冲突...当前 Shadowsocks 端口: ${cyan}$ssport$none"
|
||||||
|
error
|
||||||
|
elif [[ $socks && $new_mtproto_port == $socks_port ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "抱歉, 此端口跟 Socks 端口冲突...当前 Socks 端口: ${cyan}$socks_port$none"
|
||||||
|
error
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow Telegram MTProto 端口 = $cyan$new_mtproto_port$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
change_mtproto_secret() {
|
||||||
|
new_mtproto_secret=$(date | md5sum | cut -c-32)
|
||||||
|
echo
|
||||||
|
while :; do
|
||||||
|
read -p "$(echo -e "是否更改 ${yellow}Telegram MTProto 密钥${none} [${magenta}Y/N$none]"): " y_n
|
||||||
|
[ -z "$y_n" ] && error && continue
|
||||||
|
case $y_n in
|
||||||
|
n | N)
|
||||||
|
echo
|
||||||
|
echo -e " 已取消更改.... "
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
y | Y)
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 更改 Telegram MTProto 密钥 = $cyan是$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
pause
|
||||||
|
backup_config mtproto_secret
|
||||||
|
mtproto_secret=$new_mtproto_secret
|
||||||
|
config
|
||||||
|
clear
|
||||||
|
_mtproto_info
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
change_mtproto_port() {
|
||||||
|
echo
|
||||||
|
while :; do
|
||||||
|
echo -e "请输入新的 "$yellow"Telegram MTProto"$none" 端口 ["$magenta"1-65535"$none"]"
|
||||||
|
read -p "$(echo -e "(当前端口: ${cyan}${mtproto_port}$none):") " new_mtproto_port
|
||||||
|
[ -z "$new_mtproto_port" ] && error && continue
|
||||||
|
case $new_mtproto_port in
|
||||||
|
$mtproto_port)
|
||||||
|
echo
|
||||||
|
echo " 不能跟当前端口一毛一样...."
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
$v2ray_port)
|
||||||
|
echo
|
||||||
|
echo " 不能和 V2Ray 端口一毛一样...."
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
[1-9] | [1-9][0-9] | [1-9][0-9][0-9] | [1-9][0-9][0-9][0-9] | [1-5][0-9][0-9][0-9][0-9] | 6[0-4][0-9][0-9][0-9] | 65[0-4][0-9][0-9] | 655[0-3][0-5])
|
||||||
|
if [[ $v2ray_transport == [45] ]]; then
|
||||||
|
local tls=ture
|
||||||
|
fi
|
||||||
|
if [[ $tls && $new_mtproto_port == "80" ]] || [[ $tls && $new_mtproto_port == "443" ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "由于你已选择了 "$green"WebSocket + TLS $none或$green HTTP/2"$none" 传输协议."
|
||||||
|
echo
|
||||||
|
echo -e "所以不能选择 "$magenta"80"$none" 或 "$magenta"443"$none" 端口"
|
||||||
|
error
|
||||||
|
elif [[ $dynamicPort ]] && [[ $v2ray_dynamicPort_start == $new_mtproto_port || $v2ray_dynamicPort_end == $new_mtproto_port ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " 抱歉,此端口和 V2Ray 动态端口 冲突,当前 V2Ray 动态端口范围为:${cyan}$port_range${none}"
|
||||||
|
error
|
||||||
|
elif [[ $dynamicPort ]] && [[ $v2ray_dynamicPort_start -lt $new_mtproto_port && $new_mtproto_port -le $v2ray_dynamicPort_end ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " 抱歉,此端口和 V2Ray 动态端口 冲突,当前 V2Ray 动态端口范围为:${cyan}$port_range${none}"
|
||||||
|
error
|
||||||
|
elif [[ $shadowsocks && $new_mtproto_port == $ssport ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "抱歉, 此端口跟 Shadowsocks 端口冲突...当前 Shadowsocks 端口: ${cyan}$ssport$none"
|
||||||
|
error
|
||||||
|
elif [[ $socks && $new_mtproto_port == $socks_port ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "抱歉, 此端口跟 Socks 端口冲突...当前 Socks 端口: ${cyan}$socks_port$none"
|
||||||
|
error
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow socks 端口 = $cyan$new_mtproto_port$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
pause
|
||||||
|
backup_config mtproto_port
|
||||||
|
mtproto_port=$new_mtproto_port
|
||||||
|
config
|
||||||
|
clear
|
||||||
|
_mtproto_info
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
10
src/socks-config.sh
Normal file
10
src/socks-config.sh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# Socks config
|
||||||
|
if [[ $socks ]]; then
|
||||||
|
socks_file="/etc/v2ray/233boy/v2ray/config/server/include/socks.json"
|
||||||
|
socks_file_tmp="/tmp/socks.json.tmp"
|
||||||
|
cp -f $socks_file $socks_file_tmp
|
||||||
|
sed -i "s/6666/$socks_port/; s/v2ray66.com/$socks_username/; s/233blog.com/$socks_userpass/" $socks_file_tmp
|
||||||
|
sed -i "/\/\/include_socks/r $socks_file_tmp" $v2ray_server_config
|
||||||
|
sed -i "s#//include_socks#,#" $v2ray_server_config
|
||||||
|
rm -rf $socks_file_tmp
|
||||||
|
fi
|
386
src/socks.sh
Normal file
386
src/socks.sh
Normal file
@@ -0,0 +1,386 @@
|
|||||||
|
_view_socks_info() {
|
||||||
|
if [[ $socks ]]; then
|
||||||
|
_socks_info
|
||||||
|
else
|
||||||
|
_socks_ask
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
_socks_info() {
|
||||||
|
[[ -z $ip ]] && get_ip
|
||||||
|
echo
|
||||||
|
echo "---------- Socks 配置信息 -------------"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 主机 (Hostname) = $cyan${ip}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 端口 (Port) = $cyan$socks_port$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 用户名 (Username) = $cyan$socks_username$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 密码 (Password) = $cyan$socks_userpass$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow Telegram 代理配置链接 = ${cyan}tg://socks?server=${ip}&port=${socks_port}&user=${socks_username}&pass=${socks_userpass}$none"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
_socks_main() {
|
||||||
|
if [[ $socks ]]; then
|
||||||
|
|
||||||
|
while :; do
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 1. $none查看 Socks 配置信息"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 2. $none修改 Socks 端口"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 3. $none修改 Socks 用户名"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 4. $none修改 Socks 密码"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 5. $none关闭 Socks"
|
||||||
|
echo
|
||||||
|
read -p "$(echo -e "请选择 [${magenta}1-4$none]:")" _opt
|
||||||
|
if [[ -z $_opt ]]; then
|
||||||
|
error
|
||||||
|
else
|
||||||
|
case $_opt in
|
||||||
|
1)
|
||||||
|
_socks_info
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
change_socks_port_config
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
change_socks_user_config
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
change_socks_pass_config
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
disable_socks
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
else
|
||||||
|
_socks_ask
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
_socks_ask() {
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e " $red大佬...你没有配置 Socks $none...不过现在想要配置的话也是可以的 ^_^"
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
|
||||||
|
while :; do
|
||||||
|
echo -e "是否配置 ${yellow}Socks${none} [${magenta}Y/N$none]"
|
||||||
|
read -p "$(echo -e "(默认 [${cyan}N$none]):") " new_socks
|
||||||
|
[[ -z "$new_socks" ]] && new_socks="n"
|
||||||
|
if [[ "$new_socks" == [Yy] ]]; then
|
||||||
|
echo
|
||||||
|
socks=true
|
||||||
|
socks_port_config
|
||||||
|
socks_user_config
|
||||||
|
socks_pass_config
|
||||||
|
pause
|
||||||
|
open_port $new_socks_port
|
||||||
|
backup_config +socks
|
||||||
|
socks_port=$new_socks_port
|
||||||
|
socks_username=$new_socks_username
|
||||||
|
socks_userpass=$new_socks_userpass
|
||||||
|
config
|
||||||
|
clear
|
||||||
|
_socks_info
|
||||||
|
break
|
||||||
|
elif [[ "$new_socks" == [Nn] ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " $green已取消配置 Socks ....$none"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
else
|
||||||
|
error
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
}
|
||||||
|
disable_socks() {
|
||||||
|
echo
|
||||||
|
|
||||||
|
while :; do
|
||||||
|
echo -e "是否关闭 ${yellow}Socks${none} [${magenta}Y/N$none]"
|
||||||
|
read -p "$(echo -e "(默认 [${cyan}N$none]):") " y_n
|
||||||
|
[[ -z "$y_n" ]] && y_n="n"
|
||||||
|
if [[ "$y_n" == [Yy] ]]; then
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 关闭 Socks = $cyan是$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
pause
|
||||||
|
backup_config -socks
|
||||||
|
del_port $socks_port
|
||||||
|
socks=''
|
||||||
|
config
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$green Socks 已关闭...不过你也可以随时重新启用 Socks ...只要你喜欢$none"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
elif [[ "$y_n" == [Nn] ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " $green已取消关闭 Socks ....$none"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
else
|
||||||
|
error
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
}
|
||||||
|
socks_port_config() {
|
||||||
|
local random=$(shuf -i20001-65535 -n1)
|
||||||
|
echo
|
||||||
|
while :; do
|
||||||
|
echo -e "请输入 "$yellow"Socks"$none" 端口 ["$magenta"1-65535"$none"],不能和 "$yellow"V2Ray"$none" 端口相同"
|
||||||
|
read -p "$(echo -e "(默认端口: ${cyan}${random}$none):") " new_socks_port
|
||||||
|
[ -z "$new_socks_port" ] && new_socks_port=$random
|
||||||
|
case $new_socks_port in
|
||||||
|
$v2ray_port)
|
||||||
|
echo
|
||||||
|
echo " 不能和 V2Ray 端口一毛一样...."
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
[1-9] | [1-9][0-9] | [1-9][0-9][0-9] | [1-9][0-9][0-9][0-9] | [1-5][0-9][0-9][0-9][0-9] | 6[0-4][0-9][0-9][0-9] | 65[0-4][0-9][0-9] | 655[0-3][0-5])
|
||||||
|
if [[ $v2ray_transport == [45] ]]; then
|
||||||
|
local tls=ture
|
||||||
|
fi
|
||||||
|
if [[ $tls && $new_socks_port == "80" ]] || [[ $tls && $new_socks_port == "443" ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "由于你已选择了 "$green"WebSocket + TLS $none或$green HTTP/2"$none" 传输协议."
|
||||||
|
echo
|
||||||
|
echo -e "所以不能选择 "$magenta"80"$none" 或 "$magenta"443"$none" 端口"
|
||||||
|
error
|
||||||
|
elif [[ $dynamicPort ]] && [[ $v2ray_dynamicPort_start == $new_socks_port || $v2ray_dynamicPort_end == $new_socks_port ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " 抱歉,此端口和 V2Ray 动态端口 冲突,当前 V2Ray 动态端口范围为:${cyan}$port_range${none}"
|
||||||
|
error
|
||||||
|
elif [[ $dynamicPort ]] && [[ $v2ray_dynamicPort_start -lt $new_socks_port && $new_socks_port -le $v2ray_dynamicPort_end ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " 抱歉,此端口和 V2Ray 动态端口 冲突,当前 V2Ray 动态端口范围为:${cyan}$port_range${none}"
|
||||||
|
error
|
||||||
|
elif [[ $shadowsocks && $new_socks_port == $ssport ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "抱歉, 此端口跟 Shadowsocks 端口冲突...当前 Shadowsocks 端口: ${cyan}$ssport$none"
|
||||||
|
error
|
||||||
|
elif [[ $mtproto && $new_socks_port == $mtproto_port ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "抱歉, 此端口跟 MTProto 端口冲突...当前 MTProto 端口: ${cyan}$mtproto_port$none"
|
||||||
|
error
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow Socks 端口 = $cyan$new_socks_port$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
socks_user_config() {
|
||||||
|
echo
|
||||||
|
while :; do
|
||||||
|
read -p "$(echo -e "请输入$yellow用户名$none...(默认用户名: ${cyan}233blog$none)"): " new_socks_username
|
||||||
|
[ -z "$new_socks_username" ] && new_socks_username="233blog"
|
||||||
|
case $new_socks_username in
|
||||||
|
*[/$]* | *\&*)
|
||||||
|
echo
|
||||||
|
echo -e " 由于这个脚本太辣鸡了..所以用户名不能包含$red / $none或$red $ $none或$red & $none这三个符号.... "
|
||||||
|
echo
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 用户名 = $cyan$new_socks_username$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
socks_pass_config() {
|
||||||
|
echo
|
||||||
|
while :; do
|
||||||
|
read -p "$(echo -e "请输入$yellow密码$none...(默认密码: ${cyan}233blog.com$none)"): " new_socks_userpass
|
||||||
|
[ -z "$new_socks_userpass" ] && new_socks_userpass="233blog.com"
|
||||||
|
case $new_socks_userpass in
|
||||||
|
*[/$]* | *\&*)
|
||||||
|
echo
|
||||||
|
echo -e " 由于这个脚本太辣鸡了..所以密码不能包含$red / $none或$red $ $none或$red & $none这三个符号.... "
|
||||||
|
echo
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 密码 = $cyan$new_socks_userpass$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
change_socks_user_config() {
|
||||||
|
echo
|
||||||
|
while :; do
|
||||||
|
read -p "$(echo -e "请输入$yellow用户名$none...(当前用户名: ${cyan}$socks_username$none)"): " new_socks_username
|
||||||
|
[ -z "$new_socks_username" ] && error && continue
|
||||||
|
case $new_socks_username in
|
||||||
|
$socks_username)
|
||||||
|
echo
|
||||||
|
echo -e " 大佬...跟 当前用户名 一毛一样啊...修改个鸡鸡哦 "
|
||||||
|
echo
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
*[/$]* | *\&*)
|
||||||
|
echo
|
||||||
|
echo -e " 由于这个脚本太辣鸡了..所以用户名不能包含$red / $none或$red $ $none或$red & $none这三个符号.... "
|
||||||
|
echo
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 用户名 = $cyan$new_socks_username$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
pause
|
||||||
|
backup_config socks_username
|
||||||
|
socks_username=$new_socks_username
|
||||||
|
config
|
||||||
|
clear
|
||||||
|
_socks_info
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
change_socks_pass_config() {
|
||||||
|
echo
|
||||||
|
while :; do
|
||||||
|
read -p "$(echo -e "请输入$yellow密码$none...(当前密码: ${cyan}$socks_userpass$none)"): " new_socks_userpass
|
||||||
|
[ -z "$new_socks_userpass" ] && error && continue
|
||||||
|
case $new_socks_userpass in
|
||||||
|
$socks_userpass)
|
||||||
|
echo
|
||||||
|
echo -e " 大佬...跟 当前密码 一毛一样啊...修改个鸡鸡哦 "
|
||||||
|
echo
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
*[/$]* | *\&*)
|
||||||
|
echo
|
||||||
|
echo -e " 由于这个脚本太辣鸡了..所以密码不能包含$red / $none或$red $ $none或$red & $none这三个符号.... "
|
||||||
|
echo
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 密码 = $cyan$new_socks_userpass$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
pause
|
||||||
|
backup_config socks_userpass
|
||||||
|
socks_userpass=$new_socks_userpass
|
||||||
|
config
|
||||||
|
clear
|
||||||
|
_socks_info
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
change_socks_port_config() {
|
||||||
|
echo
|
||||||
|
while :; do
|
||||||
|
echo -e "请输入新的 "$yellow"Socks"$none" 端口 ["$magenta"1-65535"$none"]"
|
||||||
|
read -p "$(echo -e "(当前端口: ${cyan}${socks_port}$none):") " new_socks_port
|
||||||
|
[ -z "$new_socks_port" ] && error && continue
|
||||||
|
case $new_socks_port in
|
||||||
|
$socks_port)
|
||||||
|
echo
|
||||||
|
echo " 不能和当前端口一毛一样...."
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
$v2ray_port)
|
||||||
|
echo
|
||||||
|
echo " 不能和 V2Ray 端口一毛一样...."
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
[1-9] | [1-9][0-9] | [1-9][0-9][0-9] | [1-9][0-9][0-9][0-9] | [1-5][0-9][0-9][0-9][0-9] | 6[0-4][0-9][0-9][0-9] | 65[0-4][0-9][0-9] | 655[0-3][0-5])
|
||||||
|
if [[ $v2ray_transport == [45] ]]; then
|
||||||
|
local tls=ture
|
||||||
|
fi
|
||||||
|
if [[ $tls && $new_socks_port == "80" ]] || [[ $tls && $new_socks_port == "443" ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "由于你已选择了 "$green"WebSocket + TLS $none或$green HTTP/2"$none" 传输协议."
|
||||||
|
echo
|
||||||
|
echo -e "所以不能选择 "$magenta"80"$none" 或 "$magenta"443"$none" 端口"
|
||||||
|
error
|
||||||
|
elif [[ $dynamicPort ]] && [[ $v2ray_dynamicPort_start == $new_socks_port || $v2ray_dynamicPort_end == $new_socks_port ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " 抱歉,此端口和 V2Ray 动态端口 冲突,当前 V2Ray 动态端口范围为:${cyan}$port_range${none}"
|
||||||
|
error
|
||||||
|
elif [[ $dynamicPort ]] && [[ $v2ray_dynamicPort_start -lt $new_socks_port && $new_socks_port -le $v2ray_dynamicPort_end ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " 抱歉,此端口和 V2Ray 动态端口 冲突,当前 V2Ray 动态端口范围为:${cyan}$port_range${none}"
|
||||||
|
error
|
||||||
|
elif [[ $shadowsocks && $new_socks_port == $ssport ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "抱歉, 此端口跟 Shadowsocks 端口冲突...当前 Shadowsocks 端口: ${cyan}$ssport$none"
|
||||||
|
error
|
||||||
|
elif [[ $mtproto && $new_socks_port == $mtproto_port ]]; then
|
||||||
|
echo
|
||||||
|
echo -e "抱歉, 此端口跟 MTProto 端口冲突...当前 MTProto 端口: ${cyan}$mtproto_port$none"
|
||||||
|
error
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo -e "$yellow socks 端口 = $cyan$new_socks_port$none"
|
||||||
|
echo "----------------------------------------------------------------"
|
||||||
|
echo
|
||||||
|
pause
|
||||||
|
backup_config socks_port
|
||||||
|
socks_port=$new_socks_port
|
||||||
|
config
|
||||||
|
clear
|
||||||
|
_socks_info
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
10
src/ss-config.sh
Normal file
10
src/ss-config.sh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# shadowsocks config
|
||||||
|
if [[ $shadowsocks ]]; then
|
||||||
|
ss_file="/etc/v2ray/233boy/v2ray/config/server/include/ss.json"
|
||||||
|
ss_file_tmp="/tmp/ss.json.tmp"
|
||||||
|
cp -f $ss_file $ss_file_tmp
|
||||||
|
sed -i "s/6666/$ssport/; s/chacha20-ietf/$ssciphers/; s/233blog.com/$sspass/" $ss_file_tmp
|
||||||
|
sed -i "/\/\/include_ss/r $ss_file_tmp" $v2ray_server_config
|
||||||
|
sed -i "s#//include_ss#,#" $v2ray_server_config
|
||||||
|
rm -rf $ss_file_tmp
|
||||||
|
fi
|
21
src/ss-info.sh
Normal file
21
src/ss-info.sh
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
[[ -z $ip ]] && get_ip
|
||||||
|
if [[ $shadowsocks ]]; then
|
||||||
|
local ss="ss://$(echo -n "${ssciphers}:${sspass}@${ip}:${ssport}" | base64 -w 0)#233yes.com_ss_${ip}"
|
||||||
|
echo
|
||||||
|
echo "---------- Shadowsocks 配置信息 -------------"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 服务器地址 = $cyan${ip}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 服务器端口 = $cyan$ssport$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 密码 = $cyan$sspass$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 加密协议 = $cyan${ssciphers}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow SS 链接 = ${cyan}$ss$none"
|
||||||
|
echo
|
||||||
|
echo -e " 备注:$red Shadowsocks Win 4.0.6 $none客户端可能无法识别该 SS 链接"
|
||||||
|
echo
|
||||||
|
echo -e "提示: 输入$cyan v2ray ssqr $none可生成 Shadowsocks 二维码链接"
|
||||||
|
echo
|
||||||
|
fi
|
34
src/transport.sh
Normal file
34
src/transport.sh
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
transport=(
|
||||||
|
TCP
|
||||||
|
TCP_HTTP
|
||||||
|
WebSocket
|
||||||
|
"WebSocket + TLS"
|
||||||
|
HTTP/2
|
||||||
|
mKCP
|
||||||
|
mKCP_utp
|
||||||
|
mKCP_srtp
|
||||||
|
mKCP_wechat-video
|
||||||
|
mKCP_dtls
|
||||||
|
mKCP_wireguard
|
||||||
|
QUIC
|
||||||
|
QUIC_utp
|
||||||
|
QUIC_srtp
|
||||||
|
QUIC_wechat-video
|
||||||
|
QUIC_dtls
|
||||||
|
QUIC_wireguard
|
||||||
|
TCP_dynamicPort
|
||||||
|
TCP_HTTP_dynamicPort
|
||||||
|
WebSocket_dynamicPort
|
||||||
|
mKCP_dynamicPort
|
||||||
|
mKCP_utp_dynamicPort
|
||||||
|
mKCP_srtp_dynamicPort
|
||||||
|
mKCP_wechat-video_dynamicPort
|
||||||
|
mKCP_dtls_dynamicPort
|
||||||
|
mKCP_wireguard_dynamicPort
|
||||||
|
QUIC_dynamicPort
|
||||||
|
QUIC_utp_dynamicPort
|
||||||
|
QUIC_srtp_dynamicPort
|
||||||
|
QUIC_wechat-video_dynamicPort
|
||||||
|
QUIC_dtls_dynamicPort
|
||||||
|
QUIC_wireguard_dynamicPort
|
||||||
|
)
|
168
src/uninstall.sh
Normal file
168
src/uninstall.sh
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
while :; do
|
||||||
|
echo
|
||||||
|
read -p "$(echo -e "是否卸载 ${yellow}V2Ray$none [${magenta}Y/N$none]:")" uninstall_v2ray_ask
|
||||||
|
if [[ -z $uninstall_v2ray_ask ]]; then
|
||||||
|
error
|
||||||
|
else
|
||||||
|
case $uninstall_v2ray_ask in
|
||||||
|
Y | y)
|
||||||
|
is_uninstall_v2ray=true
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 卸载 V2Ray = ${cyan}是${none}"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
N | n)
|
||||||
|
echo
|
||||||
|
echo -e "$red 卸载已取消...$none"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ $caddy && $is_uninstall_v2ray ]] && [[ -f /usr/local/bin/caddy && -f /etc/caddy/Caddyfile ]]; then
|
||||||
|
while :; do
|
||||||
|
echo
|
||||||
|
read -p "$(echo -e "是否卸载 ${yellow}Caddy$none [${magenta}Y/N$none]:")" uninstall_caddy_ask
|
||||||
|
if [[ -z $uninstall_caddy_ask ]]; then
|
||||||
|
error
|
||||||
|
else
|
||||||
|
case $uninstall_caddy_ask in
|
||||||
|
Y | y)
|
||||||
|
is_uninstall_caddy=true
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 卸载 Caddy = ${cyan}是${none}"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
N | n)
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 卸载 Caddy = ${cyan}否${none}"
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $is_uninstall_v2ray && $is_uninstall_caddy ]]; then
|
||||||
|
pause
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [[ $shadowsocks ]]; then
|
||||||
|
del_port $ssport
|
||||||
|
fi
|
||||||
|
if [[ $socks ]]; then
|
||||||
|
del_port $socks_port
|
||||||
|
fi
|
||||||
|
if [[ $mtproto ]]; then
|
||||||
|
del_port $mtproto_port
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $v2ray_transport == [45] ]]; then
|
||||||
|
del_port "80"
|
||||||
|
del_port "443"
|
||||||
|
del_port $v2ray_port
|
||||||
|
elif [[ $v2ray_transport -ge 18 ]]; then
|
||||||
|
del_port $v2ray_port
|
||||||
|
del_port "multiport"
|
||||||
|
else
|
||||||
|
del_port $v2ray_port
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $cmd == "apt-get" ] && rm -rf /etc/network/if-pre-up.d/iptables
|
||||||
|
|
||||||
|
# [ $v2ray_pid ] && systemctl stop v2ray
|
||||||
|
[ $v2ray_pid ] && do_service stop v2ray
|
||||||
|
|
||||||
|
rm -rf /usr/bin/v2ray
|
||||||
|
rm -rf $_v2ray_sh
|
||||||
|
rm -rf /etc/v2ray
|
||||||
|
rm -rf /var/log/v2ray
|
||||||
|
|
||||||
|
# [ $caddy_pid ] && systemctl stop caddy
|
||||||
|
[ $caddy_pid ] && do_service stop caddy
|
||||||
|
|
||||||
|
rm -rf /usr/local/bin/caddy
|
||||||
|
rm -rf /etc/caddy
|
||||||
|
rm -rf /etc/ssl/caddy
|
||||||
|
|
||||||
|
if [[ $systemd ]]; then
|
||||||
|
systemctl disable v2ray >/dev/null 2>&1
|
||||||
|
rm -rf /lib/systemd/system/v2ray.service
|
||||||
|
systemctl disable caddy >/dev/null 2>&1
|
||||||
|
rm -rf /lib/systemd/system/caddy.service
|
||||||
|
else
|
||||||
|
update-rc.d -f caddy remove >/dev/null 2>&1
|
||||||
|
update-rc.d -f v2ray remove >/dev/null 2>&1
|
||||||
|
rm -rf /etc/init.d/caddy
|
||||||
|
rm -rf /etc/init.d/v2ray
|
||||||
|
fi
|
||||||
|
# clear
|
||||||
|
echo
|
||||||
|
echo -e "$green V2Ray 卸载完成啦 ....$none"
|
||||||
|
echo
|
||||||
|
echo "如果你觉得这个脚本有哪些地方不够好的话...请告诉我"
|
||||||
|
echo
|
||||||
|
echo "反馈问题: https://github.com/233boy/v2ray/issues"
|
||||||
|
echo
|
||||||
|
|
||||||
|
elif [[ $is_uninstall_v2ray ]]; then
|
||||||
|
pause
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [[ $shadowsocks ]]; then
|
||||||
|
del_port $ssport
|
||||||
|
fi
|
||||||
|
if [[ $socks ]]; then
|
||||||
|
del_port $socks_port
|
||||||
|
fi
|
||||||
|
if [[ $mtproto ]]; then
|
||||||
|
del_port $mtproto_port
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $v2ray_transport == [45] ]]; then
|
||||||
|
del_port "80"
|
||||||
|
del_port "443"
|
||||||
|
del_port $v2ray_port
|
||||||
|
elif [[ $v2ray_transport -ge 18 ]]; then
|
||||||
|
del_port $v2ray_port
|
||||||
|
del_port "multiport"
|
||||||
|
else
|
||||||
|
del_port $v2ray_port
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $cmd == "apt-get" ] && rm -rf /etc/network/if-pre-up.d/iptables
|
||||||
|
|
||||||
|
# [ $v2ray_pid ] && systemctl stop v2ray
|
||||||
|
[ $v2ray_pid ] && do_service stop v2ray
|
||||||
|
|
||||||
|
rm -rf /usr/bin/v2ray
|
||||||
|
rm -rf $_v2ray_sh
|
||||||
|
rm -rf /etc/v2ray
|
||||||
|
rm -rf /var/log/v2ray
|
||||||
|
if [[ $systemd ]]; then
|
||||||
|
systemctl disable v2ray >/dev/null 2>&1
|
||||||
|
rm -rf /lib/systemd/system/v2ray.service
|
||||||
|
else
|
||||||
|
update-rc.d -f v2ray remove >/dev/null 2>&1
|
||||||
|
rm -rf /etc/init.d/v2ray
|
||||||
|
fi
|
||||||
|
# clear
|
||||||
|
echo
|
||||||
|
echo -e "$green V2Ray 卸载完成啦 ....$none"
|
||||||
|
echo
|
||||||
|
echo "如果你觉得这个脚本有哪些地方不够好的话...请告诉我"
|
||||||
|
echo
|
||||||
|
echo "反馈问题: https://github.com/233boy/v2ray/issues"
|
||||||
|
echo
|
||||||
|
fi
|
136
src/v2ray-info.sh
Normal file
136
src/v2ray-info.sh
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
[[ -z $ip ]] && get_ip
|
||||||
|
_v2_args() {
|
||||||
|
header="none"
|
||||||
|
if [[ $is_path ]]; then
|
||||||
|
_path="/$path"
|
||||||
|
else
|
||||||
|
_path="/"
|
||||||
|
fi
|
||||||
|
case $v2ray_transport in
|
||||||
|
1 | 18)
|
||||||
|
net="tcp"
|
||||||
|
;;
|
||||||
|
2 | 19)
|
||||||
|
net="tcp"
|
||||||
|
header="http"
|
||||||
|
host="www.baidu.com"
|
||||||
|
;;
|
||||||
|
3 | 4 | 20)
|
||||||
|
net="ws"
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
net="h2"
|
||||||
|
;;
|
||||||
|
6 | 21)
|
||||||
|
net="kcp"
|
||||||
|
;;
|
||||||
|
7 | 22)
|
||||||
|
net="kcp"
|
||||||
|
header="utp"
|
||||||
|
;;
|
||||||
|
8 | 23)
|
||||||
|
net="kcp"
|
||||||
|
header="srtp"
|
||||||
|
;;
|
||||||
|
9 | 24)
|
||||||
|
net="kcp"
|
||||||
|
header="wechat-video"
|
||||||
|
;;
|
||||||
|
10 | 25)
|
||||||
|
net="kcp"
|
||||||
|
header="dtls"
|
||||||
|
;;
|
||||||
|
11 | 26)
|
||||||
|
net="kcp"
|
||||||
|
header="wireguard"
|
||||||
|
;;
|
||||||
|
12 | 27)
|
||||||
|
net="quic"
|
||||||
|
;;
|
||||||
|
13 | 28)
|
||||||
|
net="quic"
|
||||||
|
header="utp"
|
||||||
|
;;
|
||||||
|
14 | 29)
|
||||||
|
net="quic"
|
||||||
|
header="srtp"
|
||||||
|
;;
|
||||||
|
15 | 30)
|
||||||
|
net="quic"
|
||||||
|
header="wechat-video"
|
||||||
|
;;
|
||||||
|
16 | 31)
|
||||||
|
net="quic"
|
||||||
|
header="dtls"
|
||||||
|
;;
|
||||||
|
17 | 32)
|
||||||
|
net="quic"
|
||||||
|
header="wireguard"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
_v2_info() {
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo "---------- V2Ray 配置信息 -------------"
|
||||||
|
if [[ $v2ray_transport == [45] ]]; then
|
||||||
|
if [[ ! $caddy ]]; then
|
||||||
|
echo
|
||||||
|
echo -e " $red警告!$none$yellow请自行配置 TLS...教程: https://233yes.com/post/3/$none"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 地址 (Address) = $cyan${domain}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 端口 (Port) = ${cyan}443${none}"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 用户ID (User ID / UUID) = $cyan${v2ray_id}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 额外ID (Alter Id) = ${cyan}${alterId}${none}"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 传输协议 (Network) = ${cyan}${net}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 伪装类型 (header type) = ${cyan}${header}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 伪装域名 (host) = ${cyan}${domain}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 路径 (path) = ${cyan}${_path}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow TLS (Enable TLS) = ${cyan}打开$none"
|
||||||
|
echo
|
||||||
|
if [[ $ban_ad ]]; then
|
||||||
|
echo " 备注: 广告拦截已开启.."
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 地址 (Address) = $cyan${ip}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 端口 (Port) = $cyan$v2ray_port$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 用户ID (User ID / UUID) = $cyan${v2ray_id}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 额外ID (Alter Id) = ${cyan}${alterId}${none}"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 传输协议 (Network) = ${cyan}${net}$none"
|
||||||
|
echo
|
||||||
|
echo -e "$yellow 伪装类型 (header type) = ${cyan}${header}$none"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
if [[ $v2ray_transport -ge 18 ]] && [[ $ban_ad ]]; then
|
||||||
|
echo " 备注: 动态端口已启用...广告拦截已开启..."
|
||||||
|
echo
|
||||||
|
elif [[ $v2ray_transport -ge 18 ]]; then
|
||||||
|
echo " 备注: 动态端口已启用..."
|
||||||
|
echo
|
||||||
|
elif [[ $ban_ad ]]; then
|
||||||
|
echo " 备注: 广告拦截已开启.."
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
echo "---------- END -------------"
|
||||||
|
echo
|
||||||
|
echo "V2Ray 客户端使用教程: https://233yes.com/post/4/"
|
||||||
|
echo
|
||||||
|
echo -e "提示: 输入$cyan v2ray url $none可生成 vmess URL 链接 / 输入$cyan v2ray qr $none可生成二维码链接"
|
||||||
|
echo
|
||||||
|
}
|
111
src/vmess-config.sh
Normal file
111
src/vmess-config.sh
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
# config file
|
||||||
|
case $v2ray_transport in
|
||||||
|
1)
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/tcp.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/tcp.json"
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/http.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/http.json"
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/ws.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/ws.json"
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/ws.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/ws_tls.json"
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/h2.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/h2.json"
|
||||||
|
;;
|
||||||
|
[6-9] | 10 | 11)
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/kcp.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/kcp.json"
|
||||||
|
;;
|
||||||
|
1[2-7])
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/quic.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/quic.json"
|
||||||
|
;;
|
||||||
|
18)
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/dynamic/tcp.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/tcp.json"
|
||||||
|
;;
|
||||||
|
19)
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/dynamic/http.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/http.json"
|
||||||
|
;;
|
||||||
|
20)
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/dynamic/ws.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/ws.json"
|
||||||
|
;;
|
||||||
|
2[1-6])
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/dynamic/kcp.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/kcp.json"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/dynamic/quic.json"
|
||||||
|
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/quic.json"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# copy config file
|
||||||
|
cp -f $v2ray_server_config_file $v2ray_server_config
|
||||||
|
cp -f $v2ray_client_config_file $v2ray_client_config
|
||||||
|
|
||||||
|
# change port, uuid, alterId
|
||||||
|
sed -i "9s/2333/$v2ray_port/; 14s/$old_id/$v2ray_id/; 16s/233/$alterId/" $v2ray_server_config
|
||||||
|
|
||||||
|
# change dynamic port
|
||||||
|
if [[ $v2ray_transport -ge 18 ]]; then
|
||||||
|
local multi_port="${v2ray_dynamicPort_start}-${v2ray_dynamicPort_end}"
|
||||||
|
sed -i "s/10000-20000/$multi_port/" $v2ray_server_config
|
||||||
|
fi
|
||||||
|
|
||||||
|
# change domain and path, or header type
|
||||||
|
case $v2ray_transport in
|
||||||
|
5)
|
||||||
|
sed -i "24s/233blog.com/$domain/" $v2ray_server_config
|
||||||
|
if [[ $is_path ]]; then
|
||||||
|
sed -i "26s/233blog/$path/" $v2ray_server_config
|
||||||
|
else
|
||||||
|
sed -i "26s/233blog//" $v2ray_server_config
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
7 | 13 | 22 | 28)
|
||||||
|
sed -i "s/none/utp/" $v2ray_server_config
|
||||||
|
sed -i "s/none/utp/" $v2ray_client_config
|
||||||
|
;;
|
||||||
|
8 | 14 | 23 | 29)
|
||||||
|
sed -i "s/none/srtp/" $v2ray_server_config
|
||||||
|
sed -i "s/none/srtp/" $v2ray_client_config
|
||||||
|
;;
|
||||||
|
9 | 15 | 24 | 30)
|
||||||
|
sed -i "s/none/wechat-video/" $v2ray_server_config
|
||||||
|
sed -i "s/none/wechat-video/" $v2ray_client_config
|
||||||
|
;;
|
||||||
|
10 | 16 | 25 | 31)
|
||||||
|
sed -i "s/none/dtls/" $v2ray_server_config
|
||||||
|
sed -i "s/none/dtls/" $v2ray_client_config
|
||||||
|
;;
|
||||||
|
11 | 17 | 26 | 32)
|
||||||
|
sed -i "s/none/wireguard/" $v2ray_server_config
|
||||||
|
sed -i "s/none/wireguard/" $v2ray_client_config
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
## change client config file
|
||||||
|
[[ -z $ip ]] && get_ip
|
||||||
|
if [[ $v2ray_transport == [45] ]]; then
|
||||||
|
sed -i "s/233blog.com/$domain/; 13s/2333/443/; 16s/$old_id/$v2ray_id/; 17s/233/$alterId/" $v2ray_client_config
|
||||||
|
if [[ $is_path ]]; then
|
||||||
|
sed -i "31s/233blog/$path/" $v2ray_client_config
|
||||||
|
else
|
||||||
|
sed -i "31s/233blog//" $v2ray_client_config
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
sed -i "s/233blog.com/$ip/; 13s/2333/$v2ray_port/; 16s/$old_id/$v2ray_id/; 17s/233/$alterId/" $v2ray_client_config
|
||||||
|
fi
|
||||||
|
|
||||||
|
# zip -q -r -j --password "233blog.com" /etc/v2ray/233blog_v2ray.zip $v2ray_client_config
|
38
templates/h2.json
Normal file
38
templates/h2.json
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
"port": 2333, // v2ray port
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79", // uuid
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233 // alterid
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "h2",
|
||||||
|
"httpSettings": {
|
||||||
|
"host": [
|
||||||
|
"233blog.com" // domain
|
||||||
|
],
|
||||||
|
"path": "/233blog" // path
|
||||||
|
},
|
||||||
|
"security": "tls",
|
||||||
|
"tlsSettings": {
|
||||||
|
"certificates": [
|
||||||
|
{
|
||||||
|
"certificateFile": "/etc/v2ray/233boy/v2ray/config/233blog.com.cer",
|
||||||
|
"keyFile": "/etc/v2ray/233boy/v2ray/config/233blog.com.key"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
56
templates/http.json
Normal file
56
templates/http.json
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
"port": 2333, // v2ray port
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79", // uuid
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233 // alterid
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "tcp",
|
||||||
|
"tcpSettings": {
|
||||||
|
"header": {
|
||||||
|
"type": "http",
|
||||||
|
"response": {
|
||||||
|
"version": "1.1",
|
||||||
|
"status": "200",
|
||||||
|
"reason": "OK",
|
||||||
|
"headers": {
|
||||||
|
"Content-encoding": [
|
||||||
|
"gzip"
|
||||||
|
],
|
||||||
|
"Content-Type": [
|
||||||
|
"text/html; charset=utf-8"
|
||||||
|
],
|
||||||
|
"Cache-Control": [
|
||||||
|
"no-cache"
|
||||||
|
],
|
||||||
|
"Vary": [
|
||||||
|
"Accept-Encoding"
|
||||||
|
],
|
||||||
|
"X-Frame-Options": [
|
||||||
|
"deny"
|
||||||
|
],
|
||||||
|
"X-XSS-Protection": [
|
||||||
|
"1; mode=block"
|
||||||
|
],
|
||||||
|
"X-content-type-options": [
|
||||||
|
"nosniff"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
28
templates/kcp.json
Normal file
28
templates/kcp.json
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"port": 2333, // v2ray port
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79", // uuid
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233 // alaterid
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "kcp",
|
||||||
|
"kcpSettings": {
|
||||||
|
"header": {
|
||||||
|
"type": "none" // options > [none, srtp, utp, wechat-video, dtls, wireguard]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
12
templates/mtproto.json
Normal file
12
templates/mtproto.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"protocol": "mtproto",
|
||||||
|
"port": 6666, //port
|
||||||
|
"tag": "tg-in",
|
||||||
|
"settings": {
|
||||||
|
"users": [
|
||||||
|
{
|
||||||
|
"secret": "bb8a7fbd7190e345024845f07373ec48" // secret
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
34
templates/multiple.json
Normal file
34
templates/multiple.json
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"port": 2333, // v2ray port
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79", // uuid
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233 // alterid
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "tcp"
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}, // ignore this error
|
||||||
|
{
|
||||||
|
"protocol": "shadowsocks",
|
||||||
|
"port": 6666, // port
|
||||||
|
"settings": {
|
||||||
|
"method": "chacha20-ietf", // options > [aes-256-cfb, aes-128-cfb, chacha20, chacha20-ietf, aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305]
|
||||||
|
"password": "233blog.com", // password
|
||||||
|
"network": "tcp,udp",
|
||||||
|
"level": 1,
|
||||||
|
"ota": false
|
||||||
|
}
|
||||||
|
}
|
30
templates/quic.json
Normal file
30
templates/quic.json
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"port": 2333, // v2ray port
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79", // uuid
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233 // alaterid
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "quic",
|
||||||
|
"security": "aes-128-gcm",
|
||||||
|
"key": "",
|
||||||
|
"quicSettings": {
|
||||||
|
"header": {
|
||||||
|
"type": "none" // options > [none, srtp, utp, wechat-video, dtls, wireguard]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
10
templates/rules/ban_client_ip.json
Normal file
10
templates/rules/ban_client_ip.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"source": [
|
||||||
|
"127.0.0.0/8",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.1.1.2"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked" // don't change this tag
|
||||||
|
}
|
||||||
|
// https://v2ray.com/chapter_02/03_routing.html
|
10
templates/rules/ban_domain.json
Normal file
10
templates/rules/ban_domain.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:baidu.com",
|
||||||
|
"2345.com",
|
||||||
|
"360.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked" // don't change this tag
|
||||||
|
}
|
||||||
|
// https://v2ray.com/chapter_02/03_routing.html
|
10
templates/rules/ban_ip.json
Normal file
10
templates/rules/ban_ip.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"ip": [
|
||||||
|
"127.0.0.0/8",
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.1.1.2"
|
||||||
|
],
|
||||||
|
"outboundTag": "blocked" // don't change this tag
|
||||||
|
}
|
||||||
|
// https://v2ray.com/chapter_02/03_routing.html
|
15
templates/rules/only_allow_client_ip.json
Normal file
15
templates/rules/only_allow_client_ip.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"ip": [
|
||||||
|
"1.1.1.1",
|
||||||
|
"1.1.1.2",
|
||||||
|
"3.3.3.3"
|
||||||
|
],
|
||||||
|
"outboundTag": "direct" // don't change this tag
|
||||||
|
}, // ignore this error
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"network": "tcp,udp",
|
||||||
|
"outboundTag": "blocked" // don't change this tag
|
||||||
|
}
|
||||||
|
// https://v2ray.com/chapter_02/03_routing.html
|
15
templates/rules/only_allow_domain.json
Normal file
15
templates/rules/only_allow_domain.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"domain": [
|
||||||
|
"domain:google.com",
|
||||||
|
"domain:github.com",
|
||||||
|
"youtube.com"
|
||||||
|
],
|
||||||
|
"outboundTag": "direct" // don't change this tag
|
||||||
|
}, // ignore this error
|
||||||
|
{
|
||||||
|
"type": "field",
|
||||||
|
"network": "tcp,udp",
|
||||||
|
"outboundTag": "blocked" // don't change this tag
|
||||||
|
}
|
||||||
|
// https://v2ray.com/chapter_02/03_routing.html
|
16
templates/socks.json
Normal file
16
templates/socks.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"protocol": "socks",
|
||||||
|
"port": 6666, // port
|
||||||
|
"settings": {
|
||||||
|
"auth": "password",
|
||||||
|
"accounts": [
|
||||||
|
{
|
||||||
|
"user": "v2ray66.com", // username
|
||||||
|
"pass": "233blog.com" // passowrd
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"udp": true,
|
||||||
|
"timeout": 0,
|
||||||
|
"userLevel": 1
|
||||||
|
}
|
||||||
|
}
|
11
templates/ss.json
Normal file
11
templates/ss.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"protocol": "shadowsocks",
|
||||||
|
"port": 6666, // port
|
||||||
|
"settings": {
|
||||||
|
"method": "chacha20-ietf", // options > [aes-256-cfb, aes-128-cfb, chacha20, chacha20-ietf, aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305]
|
||||||
|
"password": "233blog.com", // password
|
||||||
|
"network": "tcp,udp",
|
||||||
|
"level": 1,
|
||||||
|
"ota": false
|
||||||
|
}
|
||||||
|
}
|
23
templates/tcp.json
Normal file
23
templates/tcp.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"port": 2333, // v2ray port
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79", // uuid
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233 // alterid
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "tcp"
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
23
templates/ws.json
Normal file
23
templates/ws.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"port": 2333, // v2ray port
|
||||||
|
"protocol": "vmess",
|
||||||
|
"settings": {
|
||||||
|
"clients": [
|
||||||
|
{
|
||||||
|
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79", // uuid
|
||||||
|
"level": 1,
|
||||||
|
"alterId": 233 // alterid
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "ws"
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": true,
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
8
tools/quic.sh
Normal file
8
tools/quic.sh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
backup="/etc/v2ray/233blog_v2ray_backup.conf"
|
||||||
|
. $backup
|
||||||
|
if [[ $v2ray_transport -ge 13 ]]; then
|
||||||
|
tmp_transport=$(($v2ray_transport +6))
|
||||||
|
sed -i "18s/=$v2ray_transport/=$tmp_transport/" $backup
|
||||||
|
fi
|
||||||
|
v2ray update.sh
|
@@ -40,10 +40,10 @@ cat >/etc/v2ray/233blog_v2ray_backup.conf <<-EOF
|
|||||||
|
|
||||||
# ---- 说明 ----
|
# ---- 说明 ----
|
||||||
# 嗯……这个文件呢,是用来备份一些设置的
|
# 嗯……这个文件呢,是用来备份一些设置的
|
||||||
# 我懒...不想用 JQ 去解析 JSON....
|
#
|
||||||
# 那就把 V2Ray 配置文件的一些重要参数提取出来
|
#mark=v3
|
||||||
# 然后..在修改 V2Ray 配置的时候再重写一下就 OK 啦...
|
#
|
||||||
# 嗯…笨笨的方法
|
#
|
||||||
|
|
||||||
# ---- V2Ray 传输协议 -----
|
# ---- V2Ray 传输协议 -----
|
||||||
v2ray_transport=$v2ray_transport
|
v2ray_transport=$v2ray_transport
|
||||||
@@ -85,20 +85,48 @@ ssciphers=$ssciphers
|
|||||||
blocked_ad_status=$is_blocked_ad
|
blocked_ad_status=$is_blocked_ad
|
||||||
|
|
||||||
#---- 网站伪装 -----
|
#---- 网站伪装 -----
|
||||||
ws_path_status=$is_ws_path
|
path_status=$is_ws_path
|
||||||
|
|
||||||
#---- 伪装的路径 -----
|
#---- 伪装的路径 -----
|
||||||
ws_path=$ws_path
|
path=$ws_path
|
||||||
|
|
||||||
#---- 伪装的网址 -----
|
#---- 伪装的网址 -----
|
||||||
proxy_site=$proxy_site
|
proxy_site=$proxy_site
|
||||||
|
|
||||||
|
#---- Socks -----
|
||||||
|
socks=
|
||||||
|
|
||||||
|
#---- Socks 端口-----
|
||||||
|
socks_port=233
|
||||||
|
|
||||||
|
#---- Socks 用户名 -----
|
||||||
|
socks_username=233blog
|
||||||
|
|
||||||
|
#---- Socks 密码 -----
|
||||||
|
socks_userpass=233blog.com
|
||||||
|
|
||||||
|
#---- MTProto -----
|
||||||
|
mtproto=
|
||||||
|
|
||||||
|
#---- MTProto 端口-----
|
||||||
|
mtproto_port=233
|
||||||
|
|
||||||
|
#---- MTProto 用户密钥 -----
|
||||||
|
mtproto_secret=lalala
|
||||||
|
|
||||||
|
#---- 屏蔽 BT -----
|
||||||
|
ban_bt=true
|
||||||
EOF
|
EOF
|
||||||
cp -f /etc/v2ray/233boy/v2ray/v2ray.sh /usr/local/bin/v2ray
|
if [[ -f /usr/local/bin/v2ray ]]; then
|
||||||
chmod +x /usr/local/bin/v2ray
|
cp -f /etc/v2ray/233boy/v2ray/v2ray.sh /usr/local/sbin/v2ray
|
||||||
rm -rf $backup
|
chmod +x /usr/local/sbin/v2ray
|
||||||
|
rm -rf $backup
|
||||||
|
rm -rf /usr/local/bin/v2ray
|
||||||
|
fi
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo -e " 哇哦.. 由于大佬你是从 1.xx 升级到 2.xx 管理脚本的.."
|
echo -e " 哇哦...脚本差点就跪了..."
|
||||||
echo
|
echo
|
||||||
echo -e " 请使用命令$yellow v2ray reload $none重新加载配置...以避免发生莫名其妙的问题"
|
echo -e "\n $yellow 警告: 请重新登录 SSH 以避免出现 v2ray 命令未找到的情况。$none \n" && exit 1
|
||||||
echo
|
echo
|
||||||
exit 1
|
exit 1
|
@@ -1,6 +1,26 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
[[ $ws_path_status ]] && path_status=$ws_path_status
|
case $v2ray_transport in
|
||||||
[[ $ws_path ]] && path=$ws_path
|
[5-8])
|
||||||
|
_transport=$(($v2ray_transport + 1))
|
||||||
|
;;
|
||||||
|
9 | 1[0-5])
|
||||||
|
_transport=$(($v2ray_transport + 9))
|
||||||
|
;;
|
||||||
|
16)
|
||||||
|
_transport=5
|
||||||
|
;;
|
||||||
|
17)
|
||||||
|
_transport=1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
_transport=$v2ray_transport
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ $v2ray_transport == 17 ]]; then
|
||||||
|
v2ray_id=$(cat /proc/sys/kernel/random/uuid)
|
||||||
|
fi
|
||||||
|
|
||||||
cat >$backup <<-EOF
|
cat >$backup <<-EOF
|
||||||
# -----------------------------------
|
# -----------------------------------
|
||||||
# 警告...请不要修改或删除这个文件...谢谢
|
# 警告...请不要修改或删除这个文件...谢谢
|
||||||
@@ -13,13 +33,13 @@ cat >$backup <<-EOF
|
|||||||
|
|
||||||
# ---- 说明 ----
|
# ---- 说明 ----
|
||||||
# 嗯……这个文件呢,是用来备份一些设置的
|
# 嗯……这个文件呢,是用来备份一些设置的
|
||||||
# 我懒...不想用 JQ 去解析 JSON....
|
#
|
||||||
# 那就把 V2Ray 配置文件的一些重要参数提取出来
|
mark=v3
|
||||||
# 然后..在修改 V2Ray 配置的时候再重写一下就 OK 啦...
|
#
|
||||||
# 嗯…笨笨的方法
|
#
|
||||||
|
|
||||||
# ---- V2Ray 传输协议 -----
|
# ---- V2Ray 传输协议 -----
|
||||||
v2ray_transport=$v2ray_transport
|
v2ray_transport=$_transport
|
||||||
|
|
||||||
#---- V2Ray 端口 -----
|
#---- V2Ray 端口 -----
|
||||||
v2ray_port=$v2ray_port
|
v2ray_port=$v2ray_port
|
||||||
@@ -40,10 +60,10 @@ v2ray_dynamicPort_end=$v2ray_dynamicPort_end
|
|||||||
domain=$domain
|
domain=$domain
|
||||||
|
|
||||||
#---- caddy -----
|
#---- caddy -----
|
||||||
caddy_status=$caddy_status
|
caddy=$caddy_status
|
||||||
|
|
||||||
#---- Shadowsocks -----
|
#---- Shadowsocks -----
|
||||||
shadowsocks_status=$shadowsocks_status
|
shadowsocks=$shadowsocks_status
|
||||||
|
|
||||||
#---- Shadowsocks 端口 -----
|
#---- Shadowsocks 端口 -----
|
||||||
ssport=$ssport
|
ssport=$ssport
|
||||||
@@ -55,7 +75,7 @@ sspass=$sspass
|
|||||||
ssciphers=$ssciphers
|
ssciphers=$ssciphers
|
||||||
|
|
||||||
#---- 屏蔽广告 -----
|
#---- 屏蔽广告 -----
|
||||||
blocked_ad_status=$blocked_ad_status
|
ban_ad=$blocked_ad_status
|
||||||
|
|
||||||
#---- 网站伪装 -----
|
#---- 网站伪装 -----
|
||||||
path_status=$path_status
|
path_status=$path_status
|
||||||
@@ -66,10 +86,29 @@ path=$path
|
|||||||
#---- 伪装的网址 -----
|
#---- 伪装的网址 -----
|
||||||
proxy_site=$proxy_site
|
proxy_site=$proxy_site
|
||||||
|
|
||||||
#---- Socks5 用户名 -----
|
#---- Socks -----
|
||||||
username=233blog
|
socks=
|
||||||
|
|
||||||
#---- Socks5 密码 -----
|
#---- Socks 端口-----
|
||||||
userpass=233blog.com
|
socks_port=233
|
||||||
EOF
|
|
||||||
. $backup
|
#---- Socks 用户名 -----
|
||||||
|
socks_username=233blog
|
||||||
|
|
||||||
|
#---- Socks 密码 -----
|
||||||
|
socks_userpass=233blog.com
|
||||||
|
|
||||||
|
#---- MTProto -----
|
||||||
|
mtproto=
|
||||||
|
|
||||||
|
#---- MTProto 端口-----
|
||||||
|
mtproto_port=233
|
||||||
|
|
||||||
|
#---- MTProto 用户密钥 -----
|
||||||
|
mtproto_secret=lalala
|
||||||
|
|
||||||
|
#---- 屏蔽 BT -----
|
||||||
|
ban_bt=true
|
||||||
|
EOF
|
||||||
|
|
||||||
|
. $backup
|
3686
v2ray.old.sh
3686
v2ray.old.sh
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user