parent
6d6a4a34d2
commit
4dd0bd7c9c
@ -1,3 +1,3 @@ |
|||||||
提问之前,请先查阅:[V2Ray 一键安装脚本疑问集合](https://233blog.com/post/27/) |
提问之前,请先查阅:[V2Ray 一键安装脚本疑问集合](https://v2ray66.com/post/10/) |
||||||
|
|
||||||
若需要发起提问,请删除这些内容 |
若需要发起提问,请删除这些内容 |
||||||
|
@ -0,0 +1,19 @@ |
|||||||
|
-----BEGIN CERTIFICATE----- |
||||||
|
MIIDFzCCAf+gAwIBAgIQVeM+8iZUKrI+M9rkL41DjjANBgkqhkiG9w0BAQsFADAf |
||||||
|
MQswCQYDVQQKEwJBSTEQMA4GA1UEAxMHMjMzQmxvZzAgFw0xODA1MDExMDIwMjFa |
||||||
|
GA8yMjg0MDcwNzE2MjAyMVowHzELMAkGA1UEChMCQUkxEDAOBgNVBAMTBzIzM0Js |
||||||
|
b2cwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDn4tPOuedCbB6kerwg |
||||||
|
5PSU9tdmGvQc2jVh9xXDfBjSknKkjZoylJ1+IFLRhxl3RtYBgN1xFLhVVOnqpprA |
||||||
|
KqTbDomsk59+iktmNzZW2b5HuIi3onZ9jxtcwos+rvILrJPgcjX/4qCki/4QWekR |
||||||
|
aY6LOSuRGqEbIq9Yqqd4/PzLWh1q2pgv2qwwKZlkQTnTj8xs1rlEE7wd/2ibmaHR |
||||||
|
FgcvRw04TEFUbRRevC7gcyesB8dpfZX1c2OUKtUHp0z0CHF2Tby5g52FAti4YJag |
||||||
|
HSQmOssCz8JLOhZ9fVp2cuwrDZc2sOn/Jl22ZJHHwNU142HkcuBTye/aAnl0SM3f |
||||||
|
/vGTAgMBAAGjTTBLMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcD |
||||||
|
ATAMBgNVHRMBAf8EAjAAMBYGA1UdEQQPMA2CCzIzM2Jsb2cuY29tMA0GCSqGSIb3 |
||||||
|
DQEBCwUAA4IBAQCmyLW3R2Je30zEbMObtjF2oNNj7ELH+bLgRXUIlCzjMcYB9m7d |
||||||
|
K+2ntfK5iA6tNV2Q4timcSxls15wxPd59oI76ShXA/jSV08fRaq7drDQsOy/jGyn |
||||||
|
pU1PiQKEDj7dJOLgPWlNZM3cAkretn+owWtY2JIjrVrU8OA9anGes3nT2egrXmHR |
||||||
|
B+6YPvl+WtPkFIpf+dBJxtIvvJEg0of6HDQvsQfXDIgCQzUHcRt0jtRejK1WzSLf |
||||||
|
CVjs6H4GFRCr74dC3ovGyQqOznOK0m3QRYUNonQG9s1EAMJ2XBflq5/tqbx9Ef/o |
||||||
|
CwOT+fjKVhMnbvMN4yCkJeJyDIPdWvHOdawk |
||||||
|
-----END CERTIFICATE----- |
@ -0,0 +1,27 @@ |
|||||||
|
-----BEGIN RSA PRIVATE KEY----- |
||||||
|
MIIEowIBAAKCAQEA5+LTzrnnQmwepHq8IOT0lPbXZhr0HNo1YfcVw3wY0pJypI2a |
||||||
|
MpSdfiBS0YcZd0bWAYDdcRS4VVTp6qaawCqk2w6JrJOffopLZjc2Vtm+R7iIt6J2 |
||||||
|
fY8bXMKLPq7yC6yT4HI1/+KgpIv+EFnpEWmOizkrkRqhGyKvWKqnePz8y1odatqY |
||||||
|
L9qsMCmZZEE504/MbNa5RBO8Hf9om5mh0RYHL0cNOExBVG0UXrwu4HMnrAfHaX2V |
||||||
|
9XNjlCrVB6dM9Ahxdk28uYOdhQLYuGCWoB0kJjrLAs/CSzoWfX1adnLsKw2XNrDp |
||||||
|
/yZdtmSRx8DVNeNh5HLgU8nv2gJ5dEjN3/7xkwIDAQABAoIBAEqvb/DBR47JLAVl |
||||||
|
0nn1xCDGcBHe1IkGbvMilcvkiEoqCOqfAO8RlrgsyP/bN4SHOB471xa4ybYSJ1UA |
||||||
|
XA9QrNAxGn6O/WvQNwCw/7txXivTb5VVqjw+f12c+yQxTJwd9XLw1huYbo0Q2b+C |
||||||
|
deK50MNeon2VyhXnUfqI3G/Ha9RCkP1kLXUJY5cU/BCHtY/tBxcgxeAqHp39h92Z |
||||||
|
6yqJcZ7zcu+UUrQPbn3Oo8+rohKLz1crIfe3EEH72OO9LkaAA8nXeA06bKqaoZjP |
||||||
|
o+KF6Mb7E67JBlalpadWIYUEj7lGmUU22kP57T6YNF/2E1PyPNHCyO5PoUzGgTFV |
||||||
|
G+cCCuECgYEA7RHo8cdsZZdIPYc1sBu9qfhxNezdElzT4qfjJ1sibD7rtO6ZVS/9 |
||||||
|
eqRj8H0KSQzERQ9G8OuiBvcmzjo2VNiSCT/9wRIH7TrvAxcnCFdOI5k+W5XAYxoz |
||||||
|
BoxdfB3KziTLlcOSLFU8ID5BjbkwBiIbZ+RZ4MhPGOHcQokvspWiUiUCgYEA+mbz |
||||||
|
KvpF5+Uu8Mc3nEEUXa+6l3ZC85bRH0MCS0CtdFF3N3Tuteaa8IzTiumy4OAy8Y4j |
||||||
|
57VYX0TRosZhwqaFFB4dHnpJvxK7u8eI3Xqb7VQ6c0jQDK0GhmWz0i4WCZQUeFsa |
||||||
|
3b6goclgo5y5z31G08XKYB6o4foLK1NrnHpEu1cCgYB7h1qPKW/VG9gbn2mdQ0c3 |
||||||
|
2un6xFqJZ+9MaljVuAoex0aAt9cT6Xa2QhSFSlJisBFRPt2jSdTatkv1J6YJ3fNy |
||||||
|
eHKb+O5CcfP680R2dy+TIxW4GTbvLMarwdYwh0GW2ttuRULUcPFsh6QW2gkpGPqY |
||||||
|
zwb6NsXoXEAuN1ewQYIcNQKBgQCrtpmeqU3y/lk4SIU8I+zhajac0z6KaKwzsfIK |
||||||
|
xOmt0IfegdOI7gDmYMxYgHZoe5azy3OX2+YkPr87zqsPnr231AbH9bhIzYHr/aM/ |
||||||
|
rmrrT01d7VqutqC43Vl5Ep2OJ/v5pRBBbA4fpEcfK8TIIvLFGufzDlNl0+CA743m |
||||||
|
GnqztQKBgGxqQTInnvP8AHF7eu5L7gMs3gSrZbaSB4e6Hb9qaMdru9sOiHTmtKFc |
||||||
|
P5z1pGgKWAN7VYF2ZLzJ+NYxJn63R9mkH0PuPzh8j+0Wdkpe2msVCIuZ/wm3Iv7f |
||||||
|
VkFaQ64OitX/HpifTmh+dUaOWJ7GjW1PyDWjdPxViPdB+DQcDXFV |
||||||
|
-----END RSA PRIVATE KEY----- |
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
@ -0,0 +1,198 @@ |
|||||||
|
{ |
||||||
|
"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": "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 |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,165 @@ |
|||||||
|
{ |
||||||
|
"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": "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 |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,157 @@ |
|||||||
|
{ |
||||||
|
"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": "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 |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,160 @@ |
|||||||
|
{ |
||||||
|
"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": "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 |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,153 @@ |
|||||||
|
{ |
||||||
|
"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": "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": "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,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
@ -0,0 +1,7 @@ |
|||||||
|
{ |
||||||
|
"type": "field", |
||||||
|
"protocol": [ |
||||||
|
"bittorrent" |
||||||
|
], |
||||||
|
"outboundTag": "blocked" |
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
{ |
||||||
|
"protocol": "mtproto", |
||||||
|
"port": 6666, |
||||||
|
"tag": "tg-in", |
||||||
|
"settings": { |
||||||
|
"users": [ |
||||||
|
{ |
||||||
|
"secret": "bb8a7fbd7190e345024845f07373ec48" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
{ |
||||||
|
"protocol": "socks", |
||||||
|
"port": 6666, |
||||||
|
"settings": { |
||||||
|
"auth": "password", |
||||||
|
"accounts": [ |
||||||
|
{ |
||||||
|
"user": "v2ray66.com", |
||||||
|
"pass": "233blog.com" |
||||||
|
} |
||||||
|
], |
||||||
|
"udp": true, |
||||||
|
"timeout": 0, |
||||||
|
"userLevel": 1 |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
{ |
||||||
|
"protocol": "shadowsocks", |
||||||
|
"port": 6666, |
||||||
|
"settings": { |
||||||
|
"method": "chacha20-ietf", |
||||||
|
"password": "233blog.com", |
||||||
|
"network": "tcp,udp", |
||||||
|
"level": 1, |
||||||
|
"ota": false |
||||||
|
} |
||||||
|
} |
@ -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" |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -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,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" |
|
||||||
} |
|
||||||
] |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
File diff suppressed because it is too large
Load Diff
@ -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 |
@ -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 |
@ -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 |
||||||
|
} |
@ -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 { |
||||||
|
without /${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 { |
||||||
|
without /${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 |
@ -0,0 +1,26 @@ |
|||||||
|
|
||||||
|
# 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 |
||||||
|
|
||||||
|
|
@ -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 |
@ -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 |
@ -0,0 +1,47 @@ |
|||||||
|
_download_caddy_file() { |
||||||
|
local caddy_tmp="/tmp/install_caddy/" |
||||||
|
local caddy_tmp_file="/tmp/install_caddy/caddy.tar.gz" |
||||||
|
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 |
||||||
|
rm -rf $caddy_tmp |
||||||
|
} |
||||||
|
_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-failure/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/ |
||||||
|
} |
@ -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 |
||||||
|
} |
@ -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}$@" |
||||||
|
} |
@ -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 |
@ -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 |
||||||
|
|
||||||
|
} |
@ -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 |
@ -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 |
||||||
|
|
||||||
|
} |
@ -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 |
@ -0,0 +1,21 @@ |
|||||||
|
[[ -z $ip ]] && get_ip |
||||||
|
if [[ $shadowsocks ]]; then |
||||||
|
local ss="ss://$(echo -n "${ssciphers}:${sspass}@${ip}:${ssport}" | base64 -w 0)#v2ray66.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 |
@ -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 12 ]]; 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 12 ]]; 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 |
@ -0,0 +1,113 @@ |
|||||||
|
[[ -z $ip ]] && get_ip |
||||||
|
_v2_args() { |
||||||
|
header="none" |
||||||
|
if [[ $is_path ]]; then |
||||||
|
_path="/$path" |
||||||
|
else |
||||||
|
_path="/" |
||||||
|
fi |
||||||
|
case $v2ray_transport in |
||||||
|
1 | 12) |
||||||
|
net="tcp" |
||||||
|
;; |
||||||
|
2 | 13) |
||||||
|
net="tcp" |
||||||
|
header="http" |
||||||
|
host="www.baidu.com" |
||||||
|
;; |
||||||
|
3 | 4 | 14) |
||||||
|
net="ws" |
||||||
|
;; |
||||||
|
5) |
||||||
|
net="h2" |
||||||
|
;; |
||||||
|
6 | 15) |
||||||
|
net="kcp" |
||||||
|
;; |
||||||
|
7 | 16) |
||||||
|
net="kcp" |
||||||
|
header="utp" |
||||||
|
;; |
||||||
|
8 | 17) |
||||||
|
net="kcp" |
||||||
|
header="srtp" |
||||||
|
;; |
||||||
|
9 | 18) |
||||||
|
net="kcp" |
||||||
|
header="wechat-video" |
||||||
|
;; |
||||||
|
10 | 19) |
||||||
|
net="kcp" |
||||||
|
header="dtls" |
||||||
|
;; |
||||||
|
11 | 20) |
||||||
|
net="kcp" |
||||||
|
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://v2ray66.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 12 ]] && [[ $ban_ad ]]; then |
||||||
|
echo " 备注: 动态端口已启用...广告拦截已开启..." |
||||||
|
echo |
||||||
|
elif [[ $v2ray_transport -ge 12 ]]; then |
||||||
|
echo " 备注: 动态端口已启用..." |
||||||
|
echo |
||||||
|
elif [[ $ban_ad ]]; then |
||||||
|
echo " 备注: 广告拦截已开启.." |
||||||
|
echo |
||||||
|
fi |
||||||
|
echo "---------- END -------------" |
||||||
|
echo |
||||||
|
echo "V2Ray 客户端使用教程: https://v2ray66.com/post/4/" |
||||||
|
echo |
||||||
|
echo -e "提示: 输入$cyan v2ray url $none可生成 vmess URL 链接 / 输入$cyan v2ray qr $none可生成二维码链接" |
||||||
|
echo |
||||||
|
} |
@ -0,0 +1 @@ |
|||||||
|
|
@ -0,0 +1,103 @@ |
|||||||
|
# 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" |
||||||
|
;; |
||||||
|
12) |
||||||
|
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" |
||||||
|
;; |
||||||
|
13) |
||||||
|
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" |
||||||
|
;; |
||||||
|
14) |
||||||
|
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" |
||||||
|
;; |
||||||
|
*) |
||||||
|
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" |
||||||
|
;; |
||||||
|
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 12 ]]; 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 mkcp headers |
||||||
|
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 | 16) |
||||||
|
sed -i "s/none/utp/" $v2ray_server_config |
||||||
|
sed -i "s/none/utp/" $v2ray_client_config |
||||||
|
;; |
||||||
|
8 | 17) |
||||||
|
sed -i "s/none/srtp/" $v2ray_server_config |
||||||
|
sed -i "s/none/srtp/" $v2ray_client_config |
||||||
|
;; |
||||||
|
9 | 18) |
||||||
|
sed -i "s/none/wechat-video/" $v2ray_server_config |
||||||
|
sed -i "s/none/wechat-video/" $v2ray_client_config |
||||||
|
;; |
||||||
|
10 | 19) |
||||||
|
sed -i "s/none/dtls/" $v2ray_server_config |
||||||
|
sed -i "s/none/dtls/" $v2ray_client_config |
||||||
|
;; |
||||||
|
11 | 20) |
||||||
|
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 |
@ -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" |
||||||
|
] |
||||||
|
} |
||||||
|
} |
@ -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" |
||||||
|
] |
||||||
|
} |
||||||
|
} |
@ -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" |
||||||
|
] |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
{ |
||||||
|
"protocol": "mtproto", |
||||||
|
"port": 6666, //port |
||||||
|
"tag": "tg-in", |
||||||
|
"settings": { |
||||||
|
"users": [ |
||||||
|
{ |
||||||
|
"secret": "bb8a7fbd7190e345024845f07373ec48" // secret |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
} |
@ -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 |
||||||
|
} |
||||||
|
} |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
||||||
|
} |
||||||
|
} |
@ -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 |
||||||
|
} |
||||||
|
} |
@ -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" |
||||||
|
] |
||||||
|
} |
||||||
|
} |
@ -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" |
||||||
|
] |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,75 @@ |
|||||||
|
#!/bin/bash |
||||||
|
uuid=$(cat /proc/sys/kernel/random/uuid) |
||||||
|
cat >/etc/v2ray/233blog_v2ray_backup.conf.tmp <<-EOF |
||||||
|
# ----------------------------------- |
||||||
|
# 警告...请不要修改或删除这个文件...谢谢 |
||||||
|
# 警告...请不要修改或删除这个文件...谢谢 |
||||||
|
# 警告...请不要修改或删除这个文件...谢谢 |
||||||
|
# ----------------------------------- |
||||||
|
|
||||||
|
# ---- 再次提醒 ---- |
||||||
|
# 大胸弟...如果你看到了这个...记得不要修改或更改这个文件 |
||||||
|
|
||||||
|
# ---- 说明 ---- |
||||||
|
# 嗯……这个文件呢,是用来备份一些设置的 |
||||||
|
# 我懒...不想用 JQ 去解析 JSON.... |
||||||
|
# 那就把 V2Ray 配置文件的一些重要参数提取出来 |
||||||
|
# 然后..在修改 V2Ray 配置的时候再重写一下就 OK 啦... |
||||||
|
# 嗯…笨笨的方法 |
||||||
|
|
||||||
|
# ---- V2Ray 传输协议 ----- |
||||||
|
v2ray_transport=$v2ray_transport |
||||||
|
|
||||||
|
#---- V2Ray 端口 ----- |
||||||
|
v2ray_port=$v2ray_port |
||||||
|
|
||||||
|
#---- UUID ----- |
||||||
|
v2ray_id=$uuid |
||||||
|
|
||||||
|
#---- alterId ----- |
||||||
|
alterId=233 |
||||||
|
|
||||||
|
#---- V2Ray 动态端口开始 ----- |
||||||
|
v2ray_dynamicPort_start=$v2ray_dynamicPort_start |
||||||
|
|
||||||
|
#---- V2Ray 动态端口结束 ----- |
||||||
|
v2ray_dynamicPort_end=$v2ray_dynamicPort_end |
||||||
|
|
||||||
|
#---- 域名 ----- |
||||||
|
domain=$domain |
||||||
|
|
||||||
|
#---- caddy ----- |
||||||
|
caddy_status=$caddy_installed |
||||||
|
|
||||||
|
#---- Shadowsocks ----- |
||||||
|
shadowsocks_status=$shadowsocks |
||||||
|
|
||||||
|
#---- Shadowsocks 端口 ----- |
||||||
|
ssport=$ssport |
||||||
|
|
||||||
|
#---- Shadowsocks 密码 ----- |
||||||
|
sspass=$sspass |
||||||
|
|
||||||
|
#---- Shadowsocks 加密协议 ----- |
||||||
|
ssciphers=$ssciphers |
||||||
|
|
||||||
|
#---- 屏蔽广告 ----- |
||||||
|
blocked_ad_status=$is_blocked_ad |
||||||
|
|
||||||
|
#---- 网站伪装 ----- |
||||||
|
ws_path_status=$is_ws_path |
||||||
|
|
||||||
|
#---- 伪装的路径 ----- |
||||||
|
ws_path=$ws_path |
||||||
|
|
||||||
|
#---- 伪装的网址 ----- |
||||||
|
proxy_site=$proxy_site |
||||||
|
EOF |
||||||
|
rm -rf $backup |
||||||
|
mv -f /etc/v2ray/233blog_v2ray_backup.conf.tmp /etc/v2ray/233blog_v2ray_backup.conf |
||||||
|
echo |
||||||
|
echo -e " .... 哇哦.. .." |
||||||
|
echo |
||||||
|
echo -e " 请使用命令$yellow v2ray reload $none重新加载配置...以避免发生莫名其妙的问题" |
||||||
|
echo |
||||||
|
exit 1 |
@ -0,0 +1,132 @@ |
|||||||
|
#!/bin/bash |
||||||
|
backup="/etc/v2ray/233blog_v2ray_backup.txt" |
||||||
|
v2ray_transport=$(sed -n '17p' $backup) |
||||||
|
v2ray_port=$(sed -n '19p' $backup) |
||||||
|
v2ray_id=$(sed -n '21p' $backup) |
||||||
|
v2ray_dynamicPort_start=$(sed -n '23p' $backup) |
||||||
|
v2ray_dynamicPort_end=$(sed -n '25p' $backup) |
||||||
|
domain=$(sed -n '27p' $backup) |
||||||
|
caddy_status=$(sed -n '29p' $backup) |
||||||
|
shadowsocks_status=$(sed -n '31p' $backup) |
||||||
|
ssport=$(sed -n '33p' $backup) |
||||||
|
sspass=$(sed -n '35p' $backup) |
||||||
|
ssciphers=$(sed -n '37p' $backup) |
||||||
|
blocked_ad_status=$(sed -n '39p' $backup) |
||||||
|
ws_path_status=$(sed -n '41p' $backup) |
||||||
|
ws_path=$(sed -n '43p' $backup) |
||||||
|
proxy_site=$(sed '$!d' $backup) |
||||||
|
if [[ $caddy_status == "true" ]]; then |
||||||
|
caddy_installed=true |
||||||
|
fi |
||||||
|
if [[ $shadowsocks_status == "true" ]]; then |
||||||
|
shadowsocks=true |
||||||
|
fi |
||||||
|
if [[ $blocked_ad_status == "true" ]]; then |
||||||
|
is_blocked_ad=true |
||||||
|
fi |
||||||
|
if [[ $ws_path_status == "true" ]]; then |
||||||
|
is_ws_path=true |
||||||
|
fi |
||||||
|
|
||||||
|
cat >/etc/v2ray/233blog_v2ray_backup.conf <<-EOF |
||||||
|
# ----------------------------------- |
||||||
|
# 警告...请不要修改或删除这个文件...谢谢 |
||||||
|
# 警告...请不要修改或删除这个文件...谢谢 |
||||||
|
# 警告...请不要修改或删除这个文件...谢谢 |
||||||
|
# ----------------------------------- |
||||||
|
|
||||||
|
# ---- 再次提醒 ---- |
||||||
|
# 大胸弟...如果你看到了这个...记得不要修改或更改这个文件 |
||||||
|
|
||||||
|
# ---- 说明 ---- |
||||||
|
# 嗯……这个文件呢,是用来备份一些设置的 |
||||||
|
# |
||||||
|
#mark=v3 |
||||||
|
# |
||||||
|
# |
||||||
|
|
||||||
|
# ---- V2Ray 传输协议 ----- |
||||||
|
v2ray_transport=$v2ray_transport |
||||||
|
|
||||||
|
#---- V2Ray 端口 ----- |
||||||
|
v2ray_port=$v2ray_port |
||||||
|
|
||||||
|
#---- UUID ----- |
||||||
|
v2ray_id=$v2ray_id |
||||||
|
|
||||||
|
#---- alterId ----- |
||||||
|
alterId=233 |
||||||
|
|
||||||
|
#---- V2Ray 动态端口开始 ----- |
||||||
|
v2ray_dynamicPort_start=$v2ray_dynamicPort_start |
||||||
|
|
||||||
|
#---- V2Ray 动态端口结束 ----- |
||||||
|
v2ray_dynamicPort_end=$v2ray_dynamicPort_end |
||||||
|
|
||||||
|
#---- 域名 ----- |
||||||
|
domain=$domain |
||||||
|
|
||||||
|
#---- caddy ----- |
||||||
|
caddy_status=$caddy_installed |
||||||
|
|
||||||
|
#---- Shadowsocks ----- |
||||||
|
shadowsocks_status=$shadowsocks |
||||||
|
|
||||||
|
#---- Shadowsocks 端口 ----- |
||||||
|
ssport=$ssport |
||||||
|
|
||||||
|
#---- Shadowsocks 密码 ----- |
||||||
|
sspass=$sspass |
||||||
|
|
||||||
|
#---- Shadowsocks 加密协议 ----- |
||||||
|
ssciphers=$ssciphers |
||||||
|
|
||||||
|
#---- 屏蔽广告 ----- |
||||||
|
blocked_ad_status=$is_blocked_ad |
||||||
|
|
||||||
|
#---- 网站伪装 ----- |
||||||
|
path_status=$is_ws_path |
||||||
|
|
||||||
|
#---- 伪装的路径 ----- |
||||||
|
path=$ws_path |
||||||
|
|
||||||
|
#---- 伪装的网址 ----- |
||||||
|
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 |
||||||
|
if [[ -f /usr/local/bin/v2ray ]]; then |
||||||
|
cp -f /etc/v2ray/233boy/v2ray/v2ray.sh /usr/local/sbin/v2ray |
||||||
|
chmod +x /usr/local/sbin/v2ray |
||||||
|
rm -rf $backup |
||||||
|
rm -rf /usr/local/bin/v2ray |
||||||
|
fi |
||||||
|
|
||||||
|
echo |
||||||
|
echo -e " 哇哦...脚本差点就跪了..." |
||||||
|
echo |
||||||
|
echo -e "\n $yellow 警告: 请重新登录 SSH 以避免出现 v2ray 命令未找到的情况。$none \n" && exit 1 |
||||||
|
echo |
||||||
|
exit 1 |
@ -0,0 +1,111 @@ |
|||||||
|
#!/bin/bash |
||||||
|
case $v2ray_transport in |
||||||
|
[5-8]) |
||||||
|
_transport=$(($v2ray_transport + 1)) |
||||||
|
;; |
||||||
|
9 | 1[0-5]) |
||||||
|
_transport=$(($v2ray_transport + 3)) |
||||||
|
;; |
||||||
|
16) |
||||||
|
_transport=5 |
||||||
|
;; |
||||||
|
17) |
||||||
|
_transport=1 |
||||||
|
;; |
||||||
|
esac |
||||||
|
|
||||||
|
if [[ $v2ray_transport == 17 ]]; then |
||||||
|
v2ray_id=$(cat /proc/sys/kernel/random/uuid) |
||||||
|
fi |
||||||
|
|
||||||
|
cat >$backup <<-EOF |
||||||
|
# ----------------------------------- |
||||||
|
# 警告...请不要修改或删除这个文件...谢谢 |
||||||
|
# 警告...请不要修改或删除这个文件...谢谢 |
||||||
|
# 警告...请不要修改或删除这个文件...谢谢 |
||||||
|
# ----------------------------------- |
||||||
|
|
||||||
|
# ---- 再次提醒 ---- |
||||||
|
# 大胸弟...如果你看到了这个...记得不要修改或更改这个文件 |
||||||
|
|
||||||
|
# ---- 说明 ---- |
||||||
|
# 嗯……这个文件呢,是用来备份一些设置的 |
||||||
|
# |
||||||
|
mark=v3 |
||||||
|
# |
||||||
|
# |
||||||
|
|
||||||
|
# ---- V2Ray 传输协议 ----- |
||||||
|
v2ray_transport=$_transport |
||||||
|
|
||||||
|
#---- V2Ray 端口 ----- |
||||||
|
v2ray_port=$v2ray_port |
||||||
|
|
||||||
|
#---- UUID ----- |
||||||
|
v2ray_id=$v2ray_id |
||||||
|
|
||||||
|
#---- alterId ----- |
||||||
|
alterId=$alterId |
||||||
|
|
||||||
|
#---- V2Ray 动态端口开始 ----- |
||||||
|
v2ray_dynamicPort_start=$v2ray_dynamicPort_start |
||||||
|
|
||||||
|
#---- V2Ray 动态端口结束 ----- |
||||||
|
v2ray_dynamicPort_end=$v2ray_dynamicPort_end |
||||||
|
|
||||||
|
#---- 域名 ----- |
||||||
|
domain=$domain |
||||||
|
|
||||||
|
#---- caddy ----- |
||||||
|
caddy=$caddy_status |
||||||
|
|
||||||
|
#---- Shadowsocks ----- |
||||||
|
shadowsocks=$shadowsocks_status |
||||||
|
|
||||||
|
#---- Shadowsocks 端口 ----- |
||||||
|
ssport=$ssport |
||||||
|
|
||||||
|
#---- Shadowsocks 密码 ----- |
||||||
|
sspass=$sspass |
||||||
|
|
||||||
|
#---- Shadowsocks 加密协议 ----- |
||||||
|
ssciphers=$ssciphers |
||||||
|
|
||||||
|
#---- 屏蔽广告 ----- |
||||||
|
ban_ad=$blocked_ad_status |
||||||
|
|
||||||
|
#---- 网站伪装 ----- |
||||||
|
path_status=$path_status |
||||||
|
|
||||||
|
#---- 伪装的路径 ----- |
||||||
|
path=$path |
||||||
|
|
||||||
|
#---- 伪装的网址 ----- |
||||||
|
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 |
||||||
|
|
||||||
|
. $backup |
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue