Compare commits
111 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7270c1a16d | ||
![]() |
f75e3f1187 | ||
![]() |
4d1279d038 | ||
![]() |
d999705479 | ||
![]() |
3af96ec0bc | ||
![]() |
59bc26b457 | ||
![]() |
61cdfc5bbe | ||
![]() |
51ff04fa02 | ||
![]() |
cad75208d0 | ||
![]() |
25c14b8520 | ||
![]() |
463ff482ea | ||
![]() |
83d1e045a9 | ||
![]() |
67387eb0a1 | ||
![]() |
5c6f48df83 | ||
![]() |
4771de764d | ||
![]() |
44e340914d | ||
![]() |
62433b88f3 | ||
![]() |
b0207515a0 | ||
![]() |
bf8867cc63 | ||
![]() |
b09b8b5c51 | ||
![]() |
05e3c685c8 | ||
![]() |
bfff42a4a6 | ||
![]() |
ec504a23d3 | ||
![]() |
07af4a2adc | ||
![]() |
61e55aed2f | ||
![]() |
b8ca53054d | ||
![]() |
ab15bf6f7f | ||
![]() |
166884121f | ||
![]() |
c92f1a9236 | ||
![]() |
c8bb84523a | ||
![]() |
c8583eb601 | ||
![]() |
7dddce121b | ||
![]() |
776d7e6887 | ||
![]() |
b4153f2241 | ||
![]() |
abc0500fea | ||
![]() |
d0a936920f | ||
![]() |
7584ebf73a | ||
![]() |
78213f1f8a | ||
![]() |
fcf613dbee | ||
![]() |
9b158e47fc | ||
![]() |
39193def31 | ||
![]() |
9c63512887 | ||
![]() |
7f76440136 | ||
![]() |
7028fbe679 | ||
![]() |
ebd4ea926f | ||
![]() |
79be7a13d0 | ||
![]() |
f0b3f4395f | ||
![]() |
91134794ab | ||
![]() |
ba174ff07a | ||
![]() |
956f9aaa61 | ||
![]() |
b319e963de | ||
![]() |
c940374011 | ||
![]() |
e8339d0652 | ||
![]() |
bf04951379 | ||
![]() |
644ea3eb37 | ||
![]() |
e034413047 | ||
![]() |
8e944269f7 | ||
![]() |
750dcfc5d6 | ||
![]() |
8b2e5b45c2 | ||
![]() |
db577f8999 | ||
![]() |
b916f2865a | ||
![]() |
5b08b49223 | ||
![]() |
d6b5f0ab0e | ||
![]() |
f946429fe8 | ||
![]() |
96c4be3001 | ||
![]() |
ed619a6b2c | ||
![]() |
929e9d404e | ||
![]() |
f7f3d4c8fb | ||
![]() |
05b345cce1 | ||
![]() |
dc36df7959 | ||
![]() |
0587560602 | ||
![]() |
1b7042f6f2 | ||
![]() |
35cc43c045 | ||
![]() |
5dd0aac87b | ||
![]() |
5c0193f847 | ||
![]() |
d568ae0299 | ||
![]() |
3a2b81cdf7 | ||
![]() |
af60aac5dd | ||
![]() |
5ea36e805e | ||
![]() |
5ba3d52f78 | ||
![]() |
29c99e16b1 | ||
![]() |
e01ba62266 | ||
![]() |
6288fcfbf1 | ||
![]() |
3c3eb91d7d | ||
![]() |
344a7becbe | ||
![]() |
97d78c8284 | ||
![]() |
eab685736c | ||
![]() |
37bd9a1d32 | ||
![]() |
5fbdf86918 | ||
![]() |
f5b943f8b7 | ||
![]() |
ebcbbc2e52 | ||
![]() |
87340c995e | ||
![]() |
6058e148f1 | ||
![]() |
966bf6f733 | ||
![]() |
db4b81048a | ||
![]() |
f515968ebf | ||
![]() |
dc21125153 | ||
![]() |
03a274c72f | ||
![]() |
aacf1cf7ab | ||
![]() |
4555f1ad9a | ||
![]() |
5c647ffcc3 | ||
![]() |
e43667561d | ||
![]() |
69fb87beaa | ||
![]() |
c6640f9d02 | ||
![]() |
b6381cabdf | ||
![]() |
f4808e2305 | ||
![]() |
0cdd7be335 | ||
![]() |
6f301cab82 | ||
![]() |
c8393caf51 | ||
![]() |
9d6febc8b2 | ||
![]() |
e9ab14add2 |
3
.github/ISSUE_TEMPLATE.md
vendored
3
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,3 +0,0 @@
|
|||||||
提问之前,请先查阅:[V2Ray 一键安装脚本疑问集合](https://v2ray6.com/post/10/)
|
|
||||||
|
|
||||||
若需要发起提问,请删除这些内容
|
|
31
.github/workflows/release.yml
vendored
Normal file
31
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
name: Main
|
||||||
|
|
||||||
|
on: push
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: get ver
|
||||||
|
run: |
|
||||||
|
echo "$(cat v2ray.sh | grep ver=)" >> $GITHUB_ENV
|
||||||
|
echo "old=$(git tag | tail -n1)" >> $GITHUB_ENV
|
||||||
|
# - name: test
|
||||||
|
# if: env.is_sh_ver == env.old
|
||||||
|
# run: |
|
||||||
|
# echo not found new version.
|
||||||
|
# exit 1
|
||||||
|
- name: zip
|
||||||
|
run: zip -9vr code.zip . -x .\*
|
||||||
|
- name: release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
files: code.zip
|
||||||
|
tag_name: ${{ env.is_sh_ver }}
|
122
README.md
122
README.md
@@ -1,2 +1,122 @@
|
|||||||
# v2ray
|
# 介绍
|
||||||
|
|
||||||
最好用的 V2Ray 一键安装脚本 & 管理脚本
|
最好用的 V2Ray 一键安装脚本 & 管理脚本
|
||||||
|
|
||||||
|
# 特点
|
||||||
|
|
||||||
|
- 快速安装
|
||||||
|
- 超级好用
|
||||||
|
- 零学习成本
|
||||||
|
- 自动化 TLS
|
||||||
|
- 简化所有流程
|
||||||
|
- 屏蔽 BT
|
||||||
|
- 屏蔽中国 IP
|
||||||
|
- 使用 API 操作
|
||||||
|
- 兼容 V2Ray 命令
|
||||||
|
- 强大的快捷参数
|
||||||
|
- 支持所有常用协议
|
||||||
|
- 一键添加 Shadowsocks
|
||||||
|
- 一键添加 VMess-(TCP/mKCP/QUIC)
|
||||||
|
- 一键添加 VMess-(WS/H2/gRPC)-TLS
|
||||||
|
- 一键添加 VLESS-(WS/H2/gRPC)-TLS
|
||||||
|
- 一键添加 Trojan-(WS/H2/gRPC)-TLS
|
||||||
|
- 一键添加 VMess-(TCP/mKCP/QUIC) 动态端口
|
||||||
|
- 一键启用 BBR
|
||||||
|
- 一键更改伪装网站
|
||||||
|
- 一键更改 (端口/UUID/密码/域名/路径/加密方式/SNI/动态端口/等...)
|
||||||
|
- 还有更多...
|
||||||
|
|
||||||
|
# 设计理念
|
||||||
|
|
||||||
|
设计理念为:**高效率,超快速,极易用**
|
||||||
|
|
||||||
|
脚本基于作者的自身使用需求,以 **多配置同时运行** 为核心设计
|
||||||
|
|
||||||
|
并且专门优化了,添加、更改、查看、删除、这四项常用功能
|
||||||
|
|
||||||
|
你只需要一条命令即可完成 添加、更改、查看、删除、等操作
|
||||||
|
|
||||||
|
例如,添加一个配置仅需不到 1 秒!瞬间完成添加!其他操作亦是如此!
|
||||||
|
|
||||||
|
脚本的参数非常高效率并且超级易用,请掌握参数的使用
|
||||||
|
|
||||||
|
# 脚本说明
|
||||||
|
|
||||||
|
[V2Ray 一键安装脚本](https://github.com/233boy/v2ray/wiki/V2Ray%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%84%9A%E6%9C%AC)
|
||||||
|
|
||||||
|
# 搭建教程
|
||||||
|
|
||||||
|
[V2Ray搭建详细图文教程](https://github.com/233boy/v2ray/wiki/V2Ray%E6%90%AD%E5%BB%BA%E8%AF%A6%E7%BB%86%E5%9B%BE%E6%96%87%E6%95%99%E7%A8%8B)
|
||||||
|
|
||||||
|
# 帮助
|
||||||
|
|
||||||
|
使用: `v2ray help`
|
||||||
|
|
||||||
|
```
|
||||||
|
V2Ray script v4.21 by 233boy
|
||||||
|
Usage: v2ray [options]... [args]...
|
||||||
|
|
||||||
|
基本:
|
||||||
|
v, version 显示当前版本
|
||||||
|
ip 返回当前主机的 IP
|
||||||
|
get-port 返回一个可用的端口
|
||||||
|
|
||||||
|
一般:
|
||||||
|
a, add [protocol] [args... | auto] 添加配置
|
||||||
|
c, change [name] [option] [args... | auto] 更改配置
|
||||||
|
d, del [name] 删除配置**
|
||||||
|
i, info [name] 查看配置
|
||||||
|
qr [name] 二维码信息
|
||||||
|
url [name] URL 信息
|
||||||
|
log 查看日志
|
||||||
|
logerr 查看错误日志
|
||||||
|
|
||||||
|
更改:
|
||||||
|
dp, dynamicport [name] [start | auto] [end] 更改动态端口
|
||||||
|
full [name] [...] 更改多个参数
|
||||||
|
id [name] [uuid | auto] 更改 UUID
|
||||||
|
host [name] [domain] 更改域名
|
||||||
|
port [name] [port | auto] 更改端口
|
||||||
|
path [name] [path | auto] 更改路径
|
||||||
|
passwd [name] [password | auto] 更改密码
|
||||||
|
type [name] [type | auto] 更改伪装类型
|
||||||
|
method [name] [method | auto] 更改加密方式
|
||||||
|
seed [name] [seed | auto] 更改 mKCP seed
|
||||||
|
new [name] [...] 更改协议
|
||||||
|
web [name] [domain] 更改伪装网站
|
||||||
|
|
||||||
|
进阶:
|
||||||
|
dns [...] 设置 DNS
|
||||||
|
dd, ddel [name...] 删除多个配置**
|
||||||
|
fix [name] 修复一个配置
|
||||||
|
fix-all 修复全部配置
|
||||||
|
fix-caddyfile 修复 Caddyfile
|
||||||
|
fix-config.json 修复 config.json
|
||||||
|
|
||||||
|
管理:
|
||||||
|
un, uninstall 卸载
|
||||||
|
u, update [core | sh | dat | caddy] [ver] 更新
|
||||||
|
U, update.sh 更新脚本
|
||||||
|
s, status 运行状态
|
||||||
|
start, stop, restart [caddy] 启动, 停止, 重启
|
||||||
|
t, test 测试运行
|
||||||
|
reinstall 重装脚本
|
||||||
|
|
||||||
|
测试:
|
||||||
|
client [name] 显示用于客户端 JSON, 仅供参考
|
||||||
|
debug [name] 显示一些 debug 信息, 仅供参考
|
||||||
|
gen [...] 同等于 add, 但只显示 JSON 内容, 不创建文件, 测试使用
|
||||||
|
genc [name] 显示用于客户端部分 JSON, 仅供参考
|
||||||
|
no-auto-tls [...] 同等于 add, 但禁止自动配置 TLS, 可用于 *TLS 相关协议
|
||||||
|
xapi [...] 同等于 v2ray api, 但 API 后端使用当前运行的 V2Ray 服务
|
||||||
|
|
||||||
|
其他:
|
||||||
|
bbr 启用 BBR, 如果支持
|
||||||
|
bin [...] 运行 V2Ray 命令, 例如: v2ray bin help
|
||||||
|
api, convert, tls, run, uuid [...] 兼容 V2Ray 命令
|
||||||
|
h, help 显示此帮助界面
|
||||||
|
|
||||||
|
谨慎使用 del, ddel, 此选项会直接删除配置; 无需确认
|
||||||
|
反馈问题) https://github.com/233boy/v2ray/issues
|
||||||
|
文档(doc) https://233boy.com/v2ray/v2ray-script/
|
||||||
|
```
|
||||||
|
@@ -1,19 +0,0 @@
|
|||||||
-----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-----
|
|
@@ -1,27 +0,0 @@
|
|||||||
-----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-----
|
|
@@ -1,87 +0,0 @@
|
|||||||
# -----------------------------------
|
|
||||||
# 警告...请不要修改或删除这个文件...谢谢
|
|
||||||
# 警告...请不要修改或删除这个文件...谢谢
|
|
||||||
# 警告...请不要修改或删除这个文件...谢谢
|
|
||||||
# -----------------------------------
|
|
||||||
|
|
||||||
# ---- 再次提醒 ----
|
|
||||||
# 大胸弟...如果你看到了这个...记得不要修改或更改这个文件
|
|
||||||
|
|
||||||
# ---- 说明 ----
|
|
||||||
# 嗯……这个文件呢,是用来备份一些设置的
|
|
||||||
#
|
|
||||||
mark=v3
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
# ---- V2Ray 传输协议 -----
|
|
||||||
v2ray_transport=1
|
|
||||||
|
|
||||||
#---- V2Ray 端口 -----
|
|
||||||
v2ray_port=2333
|
|
||||||
|
|
||||||
#---- UUID -----
|
|
||||||
v2ray_id=e55c8d17-2cf3-b21a-bcf1-eeacb011ed79
|
|
||||||
|
|
||||||
#---- alterId -----
|
|
||||||
alterId=233
|
|
||||||
|
|
||||||
#---- V2Ray 动态端口开始 -----
|
|
||||||
v2ray_dynamicPort_start=10000
|
|
||||||
|
|
||||||
#---- V2Ray 动态端口结束 -----
|
|
||||||
v2ray_dynamicPort_end=20000
|
|
||||||
|
|
||||||
#---- 域名 -----
|
|
||||||
domain=233blog.com
|
|
||||||
|
|
||||||
#---- caddy -----
|
|
||||||
caddy=
|
|
||||||
|
|
||||||
#---- Shadowsocks -----
|
|
||||||
shadowsocks=
|
|
||||||
|
|
||||||
#---- Shadowsocks 端口 -----
|
|
||||||
ssport=6666
|
|
||||||
|
|
||||||
#---- Shadowsocks 密码 -----
|
|
||||||
sspass=233blog.com
|
|
||||||
|
|
||||||
#---- Shadowsocks 加密协议 -----
|
|
||||||
ssciphers=chacha20-ietf
|
|
||||||
|
|
||||||
#---- 屏蔽广告 -----
|
|
||||||
ban_ad=
|
|
||||||
|
|
||||||
#---- 网站伪装 -----
|
|
||||||
path_status=
|
|
||||||
|
|
||||||
#---- 伪装的路径 -----
|
|
||||||
path=233blog
|
|
||||||
|
|
||||||
#---- 伪装的网址 -----
|
|
||||||
proxy_site=https://liyafly.com
|
|
||||||
|
|
||||||
#---- 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
|
|
@@ -1,111 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"error": "error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"vnext": [
|
|
||||||
{
|
|
||||||
"address": "233blog.com",
|
|
||||||
"port": 2333,
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"alterId": 233,
|
|
||||||
"security": "auto"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "h2",
|
|
||||||
"security": "tls",
|
|
||||||
"httpSettings": {
|
|
||||||
"host": [
|
|
||||||
"233blog.com"
|
|
||||||
],
|
|
||||||
"path": "/233blog"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mux": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"port": 6666,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "http",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"servers": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10",
|
|
||||||
"geoip:cn"
|
|
||||||
],
|
|
||||||
"domain": [
|
|
||||||
"geosite:cn"
|
|
||||||
],
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinasites",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinaip",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,141 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"error": "error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"vnext": [
|
|
||||||
{
|
|
||||||
"address": "233blog.com",
|
|
||||||
"port": 2333,
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"alterId": 233,
|
|
||||||
"security": "auto"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "tcp",
|
|
||||||
"tcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "http",
|
|
||||||
"request": {
|
|
||||||
"version": "1.1",
|
|
||||||
"method": "GET",
|
|
||||||
"path": [
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
"headers": {
|
|
||||||
"Host": [
|
|
||||||
"www.cloudflare.com",
|
|
||||||
"www.amazon.com"
|
|
||||||
],
|
|
||||||
"User-Agent": [
|
|
||||||
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36",
|
|
||||||
"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
|
|
||||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36",
|
|
||||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0"
|
|
||||||
],
|
|
||||||
"Accept": [
|
|
||||||
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
|
|
||||||
],
|
|
||||||
"Accept-language": [
|
|
||||||
"zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4"
|
|
||||||
],
|
|
||||||
"Accept-Encoding": [
|
|
||||||
"gzip, deflate, br"
|
|
||||||
],
|
|
||||||
"Cache-Control": [
|
|
||||||
"no-cache"
|
|
||||||
],
|
|
||||||
"Pragma": "no-cache"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mux": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"port": 6666,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "http",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"servers": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10",
|
|
||||||
"geoip:cn"
|
|
||||||
],
|
|
||||||
"domain": [
|
|
||||||
"geosite:cn"
|
|
||||||
],
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinasites",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinaip",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,112 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"error": "error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"vnext": [
|
|
||||||
{
|
|
||||||
"address": "233blog.com",
|
|
||||||
"port": 2333,
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"alterId": 233,
|
|
||||||
"security": "auto"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "kcp",
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true,
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mux": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"port": 6666,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "http",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"servers": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10",
|
|
||||||
"geoip:cn"
|
|
||||||
],
|
|
||||||
"domain": [
|
|
||||||
"geosite:cn"
|
|
||||||
],
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinasites",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinaip",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,111 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"error": "error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"vnext": [
|
|
||||||
{
|
|
||||||
"address": "233blog.com",
|
|
||||||
"port": 2333,
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"alterId": 233,
|
|
||||||
"security": "auto"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "quic",
|
|
||||||
"quicSettings": {
|
|
||||||
"security": "aes-128-gcm",
|
|
||||||
"key": "",
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mux": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"port": 6666,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "http",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"servers": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10",
|
|
||||||
"geoip:cn"
|
|
||||||
],
|
|
||||||
"domain": [
|
|
||||||
"geosite:cn"
|
|
||||||
],
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinasites",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinaip",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,101 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"error": "error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"vnext": [
|
|
||||||
{
|
|
||||||
"address": "233blog.com",
|
|
||||||
"port": 2333,
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"alterId": 233,
|
|
||||||
"security": "auto"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"mux": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"port": 6666,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "http",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"servers": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10",
|
|
||||||
"geoip:cn"
|
|
||||||
],
|
|
||||||
"domain": [
|
|
||||||
"geosite:cn"
|
|
||||||
],
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinasites",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinaip",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,104 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"error": "error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"vnext": [
|
|
||||||
{
|
|
||||||
"address": "233blog.com",
|
|
||||||
"port": 2333,
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"alterId": 233,
|
|
||||||
"security": "auto"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "ws"
|
|
||||||
},
|
|
||||||
"mux": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"port": 6666,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "http",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"servers": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10",
|
|
||||||
"geoip:cn"
|
|
||||||
],
|
|
||||||
"domain": [
|
|
||||||
"geosite:cn"
|
|
||||||
],
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinasites",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinaip",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,114 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"error": "error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"vnext": [
|
|
||||||
{
|
|
||||||
"address": "233blog.com",
|
|
||||||
"port": 2333,
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"alterId": 233,
|
|
||||||
"security": "auto"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "ws",
|
|
||||||
"security": "tls",
|
|
||||||
"tlsSettings": {
|
|
||||||
"serverName": "233blog.com"
|
|
||||||
},
|
|
||||||
"wsSettings": {
|
|
||||||
"path": "/233blog",
|
|
||||||
"headers": {
|
|
||||||
"Host": "233blog.com"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mux": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "socks",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"port": 6666,
|
|
||||||
"listen": "127.0.0.1",
|
|
||||||
"protocol": "http",
|
|
||||||
"settings": {
|
|
||||||
"auth": "noauth",
|
|
||||||
"udp": true,
|
|
||||||
"ip": "127.0.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"servers": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10",
|
|
||||||
"geoip:cn"
|
|
||||||
],
|
|
||||||
"domain": [
|
|
||||||
"geosite:cn"
|
|
||||||
],
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinasites",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "chinaip",
|
|
||||||
"outboundTag": "direct"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1 +0,0 @@
|
|||||||
## 欢迎 PR 要屏蔽的域名
|
|
@@ -1,9 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# 生成要屏蔽的域名... MVPS HOSTS....
|
|
||||||
curl "http://winhelp2002.mvps.org/hosts.txt" -o hosts.txt
|
|
||||||
sed -i '/^#/d; /localhost/d; /^$/d; s/0.0.0.0 //g; s/ //' hosts.txt
|
|
||||||
sed -i 's/#\(.*\)//g' hosts.txt
|
|
||||||
sed -i '/^\s*$/d' hosts.txt
|
|
||||||
sed -i 's/^/"/; s/\s*$/",/' hosts.txt
|
|
||||||
sed -i '$s/,//' hosts.txt
|
|
@@ -1,173 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "tcp",
|
|
||||||
"tcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "http"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "tcp",
|
|
||||||
"tcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "http",
|
|
||||||
"response": {
|
|
||||||
"version": "1.1",
|
|
||||||
"status": "200",
|
|
||||||
"reason": "OK",
|
|
||||||
"headers": {
|
|
||||||
"Content-encoding": [
|
|
||||||
"gzip"
|
|
||||||
],
|
|
||||||
"Content-Type": [
|
|
||||||
"text/html; charset=utf-8"
|
|
||||||
],
|
|
||||||
"Cache-Control": [
|
|
||||||
"no-cache"
|
|
||||||
],
|
|
||||||
"Vary": [
|
|
||||||
"Accept-Encoding"
|
|
||||||
],
|
|
||||||
"X-Frame-Options": [
|
|
||||||
"deny"
|
|
||||||
],
|
|
||||||
"X-XSS-Protection": [
|
|
||||||
"1; mode=block"
|
|
||||||
],
|
|
||||||
"X-content-type-options": [
|
|
||||||
"nosniff"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//include_ss
|
|
||||||
//include_socks
|
|
||||||
//include_mtproto
|
|
||||||
//include_config
|
|
||||||
//
|
|
||||||
],
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "tg-out"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"server": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"1.1.1.1",
|
|
||||||
"1.0.0.1",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,145 +0,0 @@
|
|||||||
{
|
|
||||||
"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",
|
|
||||||
"kcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "kcp",
|
|
||||||
"kcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//include_ss
|
|
||||||
//include_socks
|
|
||||||
//include_mtproto
|
|
||||||
//include_config
|
|
||||||
//
|
|
||||||
],
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "tg-out"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"server": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"1.1.1.1",
|
|
||||||
"1.0.0.1",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,149 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "quic",
|
|
||||||
"quicSettings": {
|
|
||||||
"security": "aes-128-gcm",
|
|
||||||
"key": "",
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "quic",
|
|
||||||
"quicSettings": {
|
|
||||||
"security": "aes-128-gcm",
|
|
||||||
"key": "",
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//include_ss
|
|
||||||
//include_socks
|
|
||||||
//include_mtproto
|
|
||||||
//include_config
|
|
||||||
//
|
|
||||||
],
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "tg-out"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"server": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"1.1.1.1",
|
|
||||||
"1.0.0.1",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,132 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "tcp"
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//include_ss
|
|
||||||
//include_socks
|
|
||||||
//include_mtproto
|
|
||||||
//include_config
|
|
||||||
//
|
|
||||||
],
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "tg-out"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"server": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"1.1.1.1",
|
|
||||||
"1.0.0.1",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,135 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"detour": {
|
|
||||||
"to": "dynamic"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "ws"
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "vmess",
|
|
||||||
"port": "10000-20000",
|
|
||||||
"tag": "dynamic",
|
|
||||||
"settings": {
|
|
||||||
"default": {
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 32
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"allocate": {
|
|
||||||
"strategy": "random",
|
|
||||||
"concurrency": 2,
|
|
||||||
"refresh": 5
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "ws"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//include_ss
|
|
||||||
//include_socks
|
|
||||||
//include_mtproto
|
|
||||||
//include_config
|
|
||||||
//
|
|
||||||
],
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "tg-out"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"server": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"1.1.1.1",
|
|
||||||
"1.0.0.1",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,128 +0,0 @@
|
|||||||
{
|
|
||||||
"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": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "tg-out"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"server": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"1.1.1.1",
|
|
||||||
"1.0.0.1",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,146 +0,0 @@
|
|||||||
{
|
|
||||||
"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": "tcp",
|
|
||||||
"tcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "http",
|
|
||||||
"response": {
|
|
||||||
"version": "1.1",
|
|
||||||
"status": "200",
|
|
||||||
"reason": "OK",
|
|
||||||
"headers": {
|
|
||||||
"Content-encoding": [
|
|
||||||
"gzip"
|
|
||||||
],
|
|
||||||
"Content-Type": [
|
|
||||||
"text/html; charset=utf-8"
|
|
||||||
],
|
|
||||||
"Cache-Control": [
|
|
||||||
"no-cache"
|
|
||||||
],
|
|
||||||
"Vary": [
|
|
||||||
"Accept-Encoding"
|
|
||||||
],
|
|
||||||
"X-Frame-Options": [
|
|
||||||
"deny"
|
|
||||||
],
|
|
||||||
"X-XSS-Protection": [
|
|
||||||
"1; mode=block"
|
|
||||||
],
|
|
||||||
"X-content-type-options": [
|
|
||||||
"nosniff"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//include_ss
|
|
||||||
//include_socks
|
|
||||||
//include_mtproto
|
|
||||||
//include_config
|
|
||||||
//
|
|
||||||
],
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "tg-out"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"server": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"1.1.1.1",
|
|
||||||
"1.0.0.1",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"protocol": [
|
|
||||||
"bittorrent"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
}
|
|
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"port": 6666,
|
|
||||||
"tag": "tg-in",
|
|
||||||
"settings": {
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"secret": "bb8a7fbd7190e345024845f07373ec48"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"protocol": "socks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"auth": "password",
|
|
||||||
"accounts": [
|
|
||||||
{
|
|
||||||
"user": "v2ray66.com",
|
|
||||||
"pass": "233blog.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"udp": true,
|
|
||||||
"timeout": 0,
|
|
||||||
"userLevel": 1
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"protocol": "shadowsocks",
|
|
||||||
"port": 6666,
|
|
||||||
"settings": {
|
|
||||||
"method": "chacha20-ietf",
|
|
||||||
"password": "233blog.com",
|
|
||||||
"network": "tcp,udp",
|
|
||||||
"level": 1,
|
|
||||||
"ota": false
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,118 +0,0 @@
|
|||||||
{
|
|
||||||
"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": "kcp",
|
|
||||||
"kcpSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//include_ss
|
|
||||||
//include_socks
|
|
||||||
//include_mtproto
|
|
||||||
//include_config
|
|
||||||
//
|
|
||||||
],
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,120 +0,0 @@
|
|||||||
{
|
|
||||||
"log": {
|
|
||||||
"access": "/var/log/v2ray/access.log",
|
|
||||||
"error": "/var/log/v2ray/error.log",
|
|
||||||
"loglevel": "warning"
|
|
||||||
},
|
|
||||||
"inbounds": [
|
|
||||||
{
|
|
||||||
"port": 2333,
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79",
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "quic",
|
|
||||||
"quicSettings": {
|
|
||||||
"security": "aes-128-gcm",
|
|
||||||
"key": "",
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//include_ss
|
|
||||||
//include_socks
|
|
||||||
//include_mtproto
|
|
||||||
//include_config
|
|
||||||
//
|
|
||||||
],
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "tg-out"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"server": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"1.1.1.1",
|
|
||||||
"1.0.0.1",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,113 +0,0 @@
|
|||||||
{
|
|
||||||
"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": "tcp"
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//include_ss
|
|
||||||
//include_socks
|
|
||||||
//include_mtproto
|
|
||||||
//include_config
|
|
||||||
//
|
|
||||||
],
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "tg-out"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"server": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"1.1.1.1",
|
|
||||||
"1.0.0.1",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,113 +0,0 @@
|
|||||||
{
|
|
||||||
"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": "ws"
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//include_ss
|
|
||||||
//include_socks
|
|
||||||
//include_mtproto
|
|
||||||
//include_config
|
|
||||||
//
|
|
||||||
],
|
|
||||||
"outbounds": [
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "blackhole",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "freedom",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "direct"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"settings": {},
|
|
||||||
"tag": "tg-out"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dns": {
|
|
||||||
"server": [
|
|
||||||
"8.8.8.8",
|
|
||||||
"8.8.4.4",
|
|
||||||
"1.1.1.1",
|
|
||||||
"1.0.0.1",
|
|
||||||
"localhost"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"routing": {
|
|
||||||
"domainStrategy": "IPOnDemand",
|
|
||||||
"rules": [
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"ip": [
|
|
||||||
"0.0.0.0/8",
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"100.64.0.0/10",
|
|
||||||
"127.0.0.0/8",
|
|
||||||
"169.254.0.0/16",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.0.0.0/24",
|
|
||||||
"192.0.2.0/24",
|
|
||||||
"192.168.0.0/16",
|
|
||||||
"198.18.0.0/15",
|
|
||||||
"198.51.100.0/24",
|
|
||||||
"203.0.113.0/24",
|
|
||||||
"::1/128",
|
|
||||||
"fc00::/7",
|
|
||||||
"fe80::/10"
|
|
||||||
],
|
|
||||||
"outboundTag": "blocked"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "field",
|
|
||||||
"inboundTag": ["tg-in"],
|
|
||||||
"outboundTag": "tg-out"
|
|
||||||
}
|
|
||||||
//include_ban_xx
|
|
||||||
//include_ban_bt
|
|
||||||
//include_ban_ad
|
|
||||||
//include_rules
|
|
||||||
//
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"transport": {
|
|
||||||
"kcpSettings": {
|
|
||||||
"uplinkCapacity": 100,
|
|
||||||
"downlinkCapacity": 100,
|
|
||||||
"congestion": true
|
|
||||||
},
|
|
||||||
"sockopt": {
|
|
||||||
"tcpFastOpen": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
1475
install.sh
1475
install.sh
File diff suppressed because it is too large
Load Diff
@@ -1,6 +0,0 @@
|
|||||||
# 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
|
|
@@ -1,6 +0,0 @@
|
|||||||
# 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
|
|
@@ -1,4 +0,0 @@
|
|||||||
# ban domain
|
|
||||||
ban_xx_file="/etc/v2ray/233boy/v2ray/config/server/include/ban.json"
|
|
||||||
sed -i "/\/\/include_ban_xx/r $ban_xx_file" $v2ray_server_config
|
|
||||||
sed -i "s#//include_ban_xx#,#" $v2ray_server_config
|
|
20
src/bbr.sh
Normal file
20
src/bbr.sh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
_open_bbr() {
|
||||||
|
sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
|
||||||
|
sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
|
||||||
|
echo "net.ipv4.tcp_congestion_control = bbr" >>/etc/sysctl.conf
|
||||||
|
echo "net.core.default_qdisc = fq" >>/etc/sysctl.conf
|
||||||
|
sysctl -p &>/dev/null
|
||||||
|
echo
|
||||||
|
_green "..已经启用 BBR 优化...."
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
_try_enable_bbr() {
|
||||||
|
local _test1=$(uname -r | cut -d\. -f1)
|
||||||
|
local _test2=$(uname -r | cut -d\. -f2)
|
||||||
|
if [[ $_test1 -eq 4 && $_test2 -ge 9 ]] || [[ $_test1 -ge 5 ]]; then
|
||||||
|
_open_bbr
|
||||||
|
else
|
||||||
|
err "不支持启用 BBR 优化."
|
||||||
|
fi
|
||||||
|
}
|
71
src/bt.sh
71
src/bt.sh
@@ -1,71 +0,0 @@
|
|||||||
_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
|
|
||||||
}
|
|
@@ -1,67 +0,0 @@
|
|||||||
local email=$(((RANDOM << 22)))
|
|
||||||
case $v2ray_transport in
|
|
||||||
4)
|
|
||||||
if [[ $is_path ]]; then
|
|
||||||
cat >/etc/caddy/Caddyfile <<-EOF
|
|
||||||
$domain {
|
|
||||||
tls ${email}@gmail.com
|
|
||||||
gzip
|
|
||||||
timeouts none
|
|
||||||
proxy / $proxy_site {
|
|
||||||
except /${path}
|
|
||||||
}
|
|
||||||
proxy /${path} 127.0.0.1:${v2ray_port} {
|
|
||||||
without /${path}
|
|
||||||
websocket
|
|
||||||
}
|
|
||||||
}
|
|
||||||
import sites/*
|
|
||||||
EOF
|
|
||||||
else
|
|
||||||
cat >/etc/caddy/Caddyfile <<-EOF
|
|
||||||
$domain {
|
|
||||||
tls ${email}@gmail.com
|
|
||||||
timeouts none
|
|
||||||
proxy / 127.0.0.1:${v2ray_port} {
|
|
||||||
websocket
|
|
||||||
}
|
|
||||||
}
|
|
||||||
import sites/*
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
5)
|
|
||||||
if [[ $is_path ]]; then
|
|
||||||
cat >/etc/caddy/Caddyfile <<-EOF
|
|
||||||
$domain {
|
|
||||||
tls ${email}@gmail.com
|
|
||||||
gzip
|
|
||||||
timeouts none
|
|
||||||
proxy / $proxy_site {
|
|
||||||
except /${path}
|
|
||||||
}
|
|
||||||
proxy /${path} https://127.0.0.1:${v2ray_port} {
|
|
||||||
header_upstream Host {host}
|
|
||||||
header_upstream X-Forwarded-Proto {scheme}
|
|
||||||
insecure_skip_verify
|
|
||||||
}
|
|
||||||
}
|
|
||||||
import sites/*
|
|
||||||
EOF
|
|
||||||
else
|
|
||||||
cat >/etc/caddy/Caddyfile <<-EOF
|
|
||||||
$domain {
|
|
||||||
tls ${email}@gmail.com
|
|
||||||
timeouts none
|
|
||||||
proxy / https://127.0.0.1:${v2ray_port} {
|
|
||||||
header_upstream Host {host}
|
|
||||||
header_upstream X-Forwarded-Proto {scheme}
|
|
||||||
insecure_skip_verify
|
|
||||||
}
|
|
||||||
}
|
|
||||||
import sites/*
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
|
53
src/caddy.sh
Normal file
53
src/caddy.sh
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
caddy_config() {
|
||||||
|
is_caddy_site_file=$is_caddy_conf/${host}.conf
|
||||||
|
case $1 in
|
||||||
|
new)
|
||||||
|
mkdir -p $is_caddy_dir $is_caddy_dir/sites $is_caddy_conf
|
||||||
|
cat >$is_caddyfile <<-EOF
|
||||||
|
# don't edit this file #
|
||||||
|
# for more info, see https://233boy.com/$is_core/caddy-auto-tls/
|
||||||
|
# 不要编辑这个文件 #
|
||||||
|
# 更多相关请阅读此文章: https://233boy.com/$is_core/caddy-auto-tls/
|
||||||
|
# https://caddyserver.com/docs/caddyfile/options
|
||||||
|
{
|
||||||
|
admin off
|
||||||
|
http_port $is_http_port
|
||||||
|
https_port $is_https_port
|
||||||
|
}
|
||||||
|
import $is_caddy_conf/*.conf
|
||||||
|
import $is_caddy_dir/sites/*.conf
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
*ws*)
|
||||||
|
cat >${is_caddy_site_file} <<<"
|
||||||
|
${host}:${is_https_port} {
|
||||||
|
reverse_proxy ${path} 127.0.0.1:${port}
|
||||||
|
import ${is_caddy_site_file}.add
|
||||||
|
}"
|
||||||
|
;;
|
||||||
|
*h2*)
|
||||||
|
cat >${is_caddy_site_file} <<<"
|
||||||
|
${host}:${is_https_port} {
|
||||||
|
reverse_proxy ${path} h2c://127.0.0.1:${port}
|
||||||
|
import ${is_caddy_site_file}.add
|
||||||
|
}"
|
||||||
|
;;
|
||||||
|
*grpc*)
|
||||||
|
cat >${is_caddy_site_file} <<<"
|
||||||
|
${host}:${is_https_port} {
|
||||||
|
reverse_proxy /${path}/* h2c://127.0.0.1:${port}
|
||||||
|
import ${is_caddy_site_file}.add
|
||||||
|
}"
|
||||||
|
;;
|
||||||
|
proxy)
|
||||||
|
|
||||||
|
cat >${is_caddy_site_file}.add <<<"
|
||||||
|
reverse_proxy https://$proxy_site {
|
||||||
|
header_up Host {upstream_hostport}
|
||||||
|
}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
[[ $1 != "new" && $1 != 'proxy' ]] && {
|
||||||
|
[[ ! -f ${is_caddy_site_file}.add ]] && echo "# see https://233boy.com/$is_core/caddy-auto-tls/" >${is_caddy_site_file}.add
|
||||||
|
}
|
||||||
|
}
|
@@ -1,27 +0,0 @@
|
|||||||
|
|
||||||
# vmess
|
|
||||||
_load vmess-config.sh
|
|
||||||
|
|
||||||
# ban domain
|
|
||||||
_load ban_xx.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
|
|
1924
src/core.sh
Normal file
1924
src/core.sh
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,6 +0,0 @@
|
|||||||
# 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
|
|
@@ -1,6 +0,0 @@
|
|||||||
# 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
|
|
56
src/dns.sh
Normal file
56
src/dns.sh
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
is_dns_list=(
|
||||||
|
1.1.1.1
|
||||||
|
8.8.8.8
|
||||||
|
https://dns.google/dns-query
|
||||||
|
https://cloudflare-dns.com/dns-query
|
||||||
|
https://family.cloudflare-dns.com/dns-query
|
||||||
|
set
|
||||||
|
none
|
||||||
|
)
|
||||||
|
dns_set() {
|
||||||
|
if [[ $1 ]]; then
|
||||||
|
case ${1,,} in
|
||||||
|
11 | 1111)
|
||||||
|
is_dns_use=${is_dns_list[0]}
|
||||||
|
;;
|
||||||
|
88 | 8888)
|
||||||
|
is_dns_use=${is_dns_list[1]}
|
||||||
|
;;
|
||||||
|
gg | google)
|
||||||
|
is_dns_use=${is_dns_list[2]}
|
||||||
|
;;
|
||||||
|
cf | cloudflare)
|
||||||
|
is_dns_use=${is_dns_list[3]}
|
||||||
|
;;
|
||||||
|
nosex | family)
|
||||||
|
is_dns_use=${is_dns_list[4]}
|
||||||
|
;;
|
||||||
|
set)
|
||||||
|
if [[ $2 ]]; then
|
||||||
|
is_dns_use=${2,,}
|
||||||
|
else
|
||||||
|
ask string is_dns_use "请输入 DNS: "
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
none)
|
||||||
|
is_dns_use=none
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
err "无法识别 DNS 参数: $@"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
is_tmp_list=(${is_dns_list[@]})
|
||||||
|
ask list is_dns_use null "\n请选择 DNS:\n"
|
||||||
|
if [[ $is_dns_use == "set" ]]; then
|
||||||
|
ask string is_dns_use "请输入 DNS: "
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [[ $is_dns_use == "none" ]]; then
|
||||||
|
cat <<<$(jq '.dns={}' $is_config_json) >$is_config_json
|
||||||
|
else
|
||||||
|
cat <<<$(jq '.dns.servers=["'${is_dns_use/https/https+local}'"]' $is_config_json) >$is_config_json
|
||||||
|
fi
|
||||||
|
manage restart &
|
||||||
|
msg "\n已更新 DNS 为: $(_green $is_dns_use)\n"
|
||||||
|
}
|
@@ -1,47 +0,0 @@
|
|||||||
_download_caddy_file() {
|
|
||||||
caddy_tmp="/tmp/install_caddy/"
|
|
||||||
caddy_tmp_file="/tmp/install_caddy/caddy.tar.gz"
|
|
||||||
[[ -d $caddy_tmp ]] && rm -rf $caddy_tmp
|
|
||||||
if [[ $sys_bit == "i386" || $sys_bit == "i686" ]]; then
|
|
||||||
local caddy_download_link="https://caddyserver.com/download/linux/386?license=personal"
|
|
||||||
else
|
|
||||||
local caddy_download_link="https://caddyserver.com/download/linux/amd64?license=personal"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p $caddy_tmp
|
|
||||||
|
|
||||||
if ! wget --no-check-certificate -O "$caddy_tmp_file" $caddy_download_link; then
|
|
||||||
echo -e "$red 下载 Caddy 失败!$none" && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
tar zxf $caddy_tmp_file -C $caddy_tmp
|
|
||||||
cp -f ${caddy_tmp}caddy /usr/local/bin/
|
|
||||||
|
|
||||||
if [[ ! -f /usr/local/bin/caddy ]]; then
|
|
||||||
echo -e "$red 安装 Caddy 出错!" && exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
_install_caddy_service() {
|
|
||||||
setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/caddy
|
|
||||||
|
|
||||||
if [[ $systemd ]]; then
|
|
||||||
cp -f ${caddy_tmp}init/linux-systemd/caddy.service /lib/systemd/system/
|
|
||||||
# sed -i "s/www-data/root/g" /lib/systemd/system/caddy.service
|
|
||||||
sed -i "s/on-abnormal/always/" /lib/systemd/system/caddy.service
|
|
||||||
systemctl enable caddy
|
|
||||||
else
|
|
||||||
cp -f ${caddy_tmp}init/linux-sysvinit/caddy /etc/init.d/caddy
|
|
||||||
# sed -i "s/www-data/root/g" /etc/init.d/caddy
|
|
||||||
chmod +x /etc/init.d/caddy
|
|
||||||
update-rc.d -f caddy defaults
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p /etc/ssl/caddy
|
|
||||||
|
|
||||||
if [ -z "$(grep www-data /etc/passwd)" ]; then
|
|
||||||
useradd -M -s /usr/sbin/nologin www-data
|
|
||||||
fi
|
|
||||||
chown -R www-data.www-data /etc/ssl/caddy
|
|
||||||
|
|
||||||
mkdir -p /etc/caddy/
|
|
||||||
}
|
|
@@ -1,73 +0,0 @@
|
|||||||
_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
|
|
||||||
}
|
|
82
src/download.sh
Normal file
82
src/download.sh
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
get_latest_version() {
|
||||||
|
case $1 in
|
||||||
|
core)
|
||||||
|
name=$is_core_name
|
||||||
|
url="https://api.github.com/repos/${is_core_repo}/releases/latest?v=$RANDOM"
|
||||||
|
;;
|
||||||
|
sh)
|
||||||
|
name="$is_core_name 脚本"
|
||||||
|
url="https://api.github.com/repos/$is_sh_repo/releases/latest?v=$RANDOM"
|
||||||
|
;;
|
||||||
|
caddy)
|
||||||
|
name="Caddy"
|
||||||
|
url="https://api.github.com/repos/$is_caddy_repo/releases/latest?v=$RANDOM"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
latest_ver=$(_wget -qO- $url | grep tag_name | egrep -o 'v([0-9.]+)')
|
||||||
|
[[ ! $latest_ver ]] && {
|
||||||
|
err "获取 ${name} 最新版本失败."
|
||||||
|
}
|
||||||
|
unset name url
|
||||||
|
}
|
||||||
|
download() {
|
||||||
|
latest_ver=$2
|
||||||
|
[[ ! $latest_ver && $1 != 'dat' ]] && get_latest_version $1
|
||||||
|
# tmp dir
|
||||||
|
tmpdir=$(mktemp -u)
|
||||||
|
[[ ! $tmpdir ]] && {
|
||||||
|
tmpdir=/tmp/tmp-$RANDOM
|
||||||
|
}
|
||||||
|
mkdir -p $tmpdir
|
||||||
|
case $1 in
|
||||||
|
core)
|
||||||
|
name=$is_core_name
|
||||||
|
tmpfile=$tmpdir/$is_core.zip
|
||||||
|
link="https://github.com/${is_core_repo}/releases/download/${latest_ver}/${is_core}-linux-${is_core_arch}.zip"
|
||||||
|
download_file
|
||||||
|
unzip -qo $tmpfile -d $is_core_dir/bin
|
||||||
|
chmod +x $is_core_bin
|
||||||
|
;;
|
||||||
|
sh)
|
||||||
|
name="$is_core_name 脚本"
|
||||||
|
tmpfile=$tmpdir/sh.zip
|
||||||
|
link="https://github.com/${is_sh_repo}/releases/download/${latest_ver}/code.zip"
|
||||||
|
download_file
|
||||||
|
unzip -qo $tmpfile -d $is_sh_dir
|
||||||
|
chmod +x $is_sh_bin
|
||||||
|
;;
|
||||||
|
dat)
|
||||||
|
name="geoip.dat"
|
||||||
|
tmpfile=$tmpdir/geoip.dat
|
||||||
|
link="https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat"
|
||||||
|
download_file
|
||||||
|
name="geosite.dat"
|
||||||
|
tmpfile=$tmpdir/geosite.dat
|
||||||
|
link="https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat"
|
||||||
|
download_file
|
||||||
|
cp -f $tmpdir/*.dat $is_core_dir/bin/
|
||||||
|
;;
|
||||||
|
caddy)
|
||||||
|
name="Caddy"
|
||||||
|
tmpfile=$tmpdir/caddy.tar.gz
|
||||||
|
# https://github.com/caddyserver/caddy/releases/download/v2.6.4/caddy_2.6.4_linux_amd64.tar.gz
|
||||||
|
link="https://github.com/${is_caddy_repo}/releases/download/${latest_ver}/caddy_${latest_ver:1}_linux_${caddy_arch}.tar.gz"
|
||||||
|
download_file
|
||||||
|
[[ ! $(type -P tar) ]] && {
|
||||||
|
rm -rf $tmpdir
|
||||||
|
err "请安装 tar"
|
||||||
|
}
|
||||||
|
tar zxf $tmpfile -C $tmpdir
|
||||||
|
cp -f $tmpdir/caddy $is_caddy_bin
|
||||||
|
chmod +x $is_caddy_bin
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
rm -rf $tmpdir
|
||||||
|
unset latest_ver
|
||||||
|
}
|
||||||
|
download_file() {
|
||||||
|
if ! _wget -t 5 -c $link -O $tmpfile; then
|
||||||
|
rm -rf $tmpdir
|
||||||
|
err "\n下载 ${name} 失败.\n"
|
||||||
|
fi
|
||||||
|
}
|
94
src/help.sh
Normal file
94
src/help.sh
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
show_help() {
|
||||||
|
case $1 in
|
||||||
|
api | convert | tls | run | uuid | version)
|
||||||
|
$is_core_bin help $1 ${@:2}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
[[ $1 ]] && warn "未知选项 '$1'"
|
||||||
|
msg "$is_core_name script $is_sh_ver by $author"
|
||||||
|
msg "Usage: $is_core [options]... [args]... "
|
||||||
|
msg
|
||||||
|
help_info=(
|
||||||
|
"基本:"
|
||||||
|
" v, version 显示当前版本"
|
||||||
|
" ip 返回当前主机的 IP"
|
||||||
|
# " pbk 同等于 $is_core x25519"
|
||||||
|
" get-port 返回一个可用的端口\n"
|
||||||
|
# " ss2022 返回一个可用于 Shadowsocks 2022 的密码\n"
|
||||||
|
"一般:"
|
||||||
|
" a, add [protocol] [args... | auto] 添加配置"
|
||||||
|
" c, change [name] [option] [args... | auto] 更改配置"
|
||||||
|
" d, del [name] 删除配置**"
|
||||||
|
" i, info [name] 查看配置"
|
||||||
|
" qr [name] 二维码信息"
|
||||||
|
" url [name] URL 信息"
|
||||||
|
" log 查看日志"
|
||||||
|
" logerr 查看错误日志\n"
|
||||||
|
"更改:"
|
||||||
|
" dp, dynamicport [name] [start | auto] [end] 更改动态端口"
|
||||||
|
" full [name] [...] 更改多个参数"
|
||||||
|
" id [name] [uuid | auto] 更改 UUID"
|
||||||
|
" host [name] [domain] 更改域名"
|
||||||
|
" port [name] [port | auto] 更改端口"
|
||||||
|
" path [name] [path | auto] 更改路径"
|
||||||
|
" passwd [name] [password | auto] 更改密码"
|
||||||
|
# " key [name] [Private key | atuo] [Public key] 更改密钥"
|
||||||
|
" type [name] [type | auto] 更改伪装类型"
|
||||||
|
" method [name] [method | auto] 更改加密方式"
|
||||||
|
# " sni [name] [ ip | domain] 更改 serverName"
|
||||||
|
" seed [name] [seed | auto] 更改 mKCP seed"
|
||||||
|
" new [name] [...] 更改协议"
|
||||||
|
" web [name] [domain] 更改伪装网站\n"
|
||||||
|
"进阶:"
|
||||||
|
" dns [...] 设置 DNS"
|
||||||
|
" dd, ddel [name...] 删除多个配置**"
|
||||||
|
" fix [name] 修复一个配置"
|
||||||
|
" fix-all 修复全部配置"
|
||||||
|
" fix-caddyfile 修复 Caddyfile"
|
||||||
|
" fix-config.json 修复 config.json\n"
|
||||||
|
"管理:"
|
||||||
|
" un, uninstall 卸载"
|
||||||
|
" u, update [core | sh | dat | caddy] [ver] 更新"
|
||||||
|
" U, update.sh 更新脚本"
|
||||||
|
" s, status 运行状态"
|
||||||
|
" start, stop, restart [caddy] 启动, 停止, 重启"
|
||||||
|
" t, test 测试运行"
|
||||||
|
" reinstall 重装脚本\n"
|
||||||
|
"测试:"
|
||||||
|
" client [name] 显示用于客户端 JSON, 仅供参考"
|
||||||
|
" debug [name] 显示一些 debug 信息, 仅供参考"
|
||||||
|
" gen [...] 同等于 add, 但只显示 JSON 内容, 不创建文件, 测试使用"
|
||||||
|
" genc [name] 显示用于客户端部分 JSON, 仅供参考"
|
||||||
|
" no-auto-tls [...] 同等于 add, 但禁止自动配置 TLS, 可用于 *TLS 相关协议"
|
||||||
|
" xapi [...] 同等于 $is_core api, 但 API 后端使用当前运行的 $is_core_name 服务\n"
|
||||||
|
"其他:"
|
||||||
|
" bbr 启用 BBR, 如果支持"
|
||||||
|
" bin [...] 运行 $is_core_name 命令, 例如: $is_core bin help"
|
||||||
|
" api, convert, tls, run, uuid [...] 兼容 $is_core_name 命令"
|
||||||
|
" h, help 显示此帮助界面\n"
|
||||||
|
)
|
||||||
|
for v in "${help_info[@]}"; do
|
||||||
|
msg "$v"
|
||||||
|
done
|
||||||
|
msg "谨慎使用 del, ddel, 此选项会直接删除配置; 无需确认"
|
||||||
|
msg "反馈问题) $(msg_ul https://github.com/${is_sh_repo}/issues) "
|
||||||
|
msg "文档(doc) $(msg_ul https://233boy.com/$is_core/$is_core-script/)"
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
about() {
|
||||||
|
####### 要点13脸吗只会改我链接的小人 #######
|
||||||
|
unset c n m s b
|
||||||
|
msg
|
||||||
|
msg "网站: $(msg_ul https://233boy.com)"
|
||||||
|
msg "频道: $(msg_ul https://t.me/tg2333)"
|
||||||
|
msg "群组: $(msg_ul https://t.me/tg233boy)"
|
||||||
|
msg "Github: $(msg_ul https://github.com/${is_sh_repo})"
|
||||||
|
msg "Twitter: $(msg_ul https://twitter.com/ai233boy)"
|
||||||
|
msg "$is_core_name site: $(msg_ul https://www.v2fly.org)"
|
||||||
|
msg "$is_core_name core: $(msg_ul https://github.com/${is_core_repo})"
|
||||||
|
msg
|
||||||
|
####### 要点13脸吗只会改我链接的小人 #######
|
||||||
|
}
|
144
src/init.sh
144
src/init.sh
@@ -1,8 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
author=233boy
|
||||||
|
# github=https://github.com/233boy/v2ray
|
||||||
|
|
||||||
|
# bash fonts colors
|
||||||
|
red='\e[31m'
|
||||||
|
yellow='\e[33m'
|
||||||
|
gray='\e[90m'
|
||||||
|
green='\e[92m'
|
||||||
|
blue='\e[94m'
|
||||||
|
magenta='\e[95m'
|
||||||
|
cyan='\e[96m'
|
||||||
|
none='\e[0m'
|
||||||
|
|
||||||
|
_red() { echo -e ${red}$@${none}; }
|
||||||
|
_blue() { echo -e ${blue}$@${none}; }
|
||||||
|
_cyan() { echo -e ${cyan}$@${none}; }
|
||||||
|
_green() { echo -e ${green}$@${none}; }
|
||||||
|
_yellow() { echo -e ${yellow}$@${none}; }
|
||||||
|
_magenta() { echo -e ${magenta}$@${none}; }
|
||||||
|
_red_bg() { echo -e "\e[41m$@${none}"; }
|
||||||
|
|
||||||
_rm() {
|
_rm() {
|
||||||
rm -rf "$@"
|
rm -rf "$@"
|
||||||
}
|
}
|
||||||
_cp() {
|
_cp() {
|
||||||
cp -f "$@"
|
cp -rf "$@"
|
||||||
}
|
}
|
||||||
_sed() {
|
_sed() {
|
||||||
sed -i "$@"
|
sed -i "$@"
|
||||||
@@ -11,7 +34,120 @@ _mkdir() {
|
|||||||
mkdir -p "$@"
|
mkdir -p "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
_load() {
|
is_err=$(_red_bg 错误!)
|
||||||
local _dir="/etc/v2ray/233boy/v2ray/src/"
|
is_warn=$(_red_bg 警告!)
|
||||||
. "${_dir}$@"
|
|
||||||
|
err() {
|
||||||
|
echo -e "\n$is_err $@\n"
|
||||||
|
[[ $is_dont_auto_exit ]] && return
|
||||||
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
warn() {
|
||||||
|
echo -e "\n$is_warn $@\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
# load bash script.
|
||||||
|
load() {
|
||||||
|
. $is_sh_dir/src/$1
|
||||||
|
}
|
||||||
|
|
||||||
|
# wget add --no-check-certificate
|
||||||
|
_wget() {
|
||||||
|
# [[ $proxy ]] && export https_proxy=$proxy
|
||||||
|
wget --no-check-certificate "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# yum or apt-get
|
||||||
|
cmd=$(type -P apt-get || type -P yum)
|
||||||
|
|
||||||
|
# x64
|
||||||
|
case $(arch) in
|
||||||
|
amd64 | x86_64)
|
||||||
|
is_core_arch="64"
|
||||||
|
caddy_arch="amd64"
|
||||||
|
;;
|
||||||
|
*aarch64* | *armv8*)
|
||||||
|
is_core_arch="arm64-v8a"
|
||||||
|
caddy_arch="arm64"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
err "此脚本仅支持 64 位系统..."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
is_core=v2ray
|
||||||
|
is_core_name=V2Ray
|
||||||
|
is_core_dir=/etc/$is_core
|
||||||
|
is_core_bin=$is_core_dir/bin/$is_core
|
||||||
|
is_core_repo=v2fly/$is_core-core
|
||||||
|
is_conf_dir=$is_core_dir/conf
|
||||||
|
is_log_dir=/var/log/$is_core
|
||||||
|
is_sh_bin=/usr/local/bin/$is_core
|
||||||
|
is_sh_dir=$is_core_dir/sh
|
||||||
|
is_sh_repo=$author/$is_core
|
||||||
|
is_pkg="wget unzip jq qrencode"
|
||||||
|
is_config_json=$is_core_dir/config.json
|
||||||
|
is_caddy_bin=/usr/local/bin/caddy
|
||||||
|
is_caddy_dir=/etc/caddy
|
||||||
|
is_caddy_repo=caddyserver/caddy
|
||||||
|
is_caddyfile=$is_caddy_dir/Caddyfile
|
||||||
|
is_caddy_conf=$is_caddy_dir/$author
|
||||||
|
is_caddy_service=$(systemctl list-units --full -all | grep caddy.service)
|
||||||
|
is_http_port=80
|
||||||
|
is_https_port=443
|
||||||
|
|
||||||
|
# core ver
|
||||||
|
is_core_ver=$($is_core_bin version | head -n1 | cut -d " " -f1-2)
|
||||||
|
|
||||||
|
if [[ $(grep -o ^[0-9] <<<${is_core_ver#* }) -lt 5 ]]; then
|
||||||
|
# core version less than 5, e.g, v4.45.2
|
||||||
|
is_core_ver_lt_5=1
|
||||||
|
if [[ $(grep 'run -config' /lib/systemd/system/v2ray.service) ]]; then
|
||||||
|
sed -i 's/run //' /lib/systemd/system/v2ray.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
is_with_run_arg=run
|
||||||
|
if [[ ! $(grep 'run -config' /lib/systemd/system/v2ray.service) ]]; then
|
||||||
|
sed -i 's/-config/run -config/' /lib/systemd/system/v2ray.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $(pgrep -f $is_core_bin) ]]; then
|
||||||
|
is_core_status=$(_green running)
|
||||||
|
else
|
||||||
|
is_core_status=$(_red_bg stopped)
|
||||||
|
is_core_stop=1
|
||||||
|
fi
|
||||||
|
if [[ -f $is_caddy_bin && -d $is_caddy_dir && $is_caddy_service ]]; then
|
||||||
|
is_caddy=1
|
||||||
|
# fix caddy run; ver >= 2.8.2
|
||||||
|
[[ ! $(grep '\-\-adapter caddyfile' /lib/systemd/system/caddy.service) ]] && {
|
||||||
|
load systemd.sh
|
||||||
|
install_service caddy
|
||||||
|
systemctl restart caddy &
|
||||||
|
}
|
||||||
|
is_caddy_ver=$($is_caddy_bin version | head -n1 | cut -d " " -f1)
|
||||||
|
is_tmp_http_port=$(egrep '^ {2,}http_port|^http_port' $is_caddyfile | egrep -o [0-9]+)
|
||||||
|
is_tmp_https_port=$(egrep '^ {2,}https_port|^https_port' $is_caddyfile | egrep -o [0-9]+)
|
||||||
|
[[ $is_tmp_http_port ]] && is_http_port=$is_tmp_http_port
|
||||||
|
[[ $is_tmp_https_port ]] && is_https_port=$is_tmp_https_port
|
||||||
|
if [[ $(pgrep -f $is_caddy_bin) ]]; then
|
||||||
|
is_caddy_status=$(_green running)
|
||||||
|
else
|
||||||
|
is_caddy_status=$(_red_bg stopped)
|
||||||
|
is_caddy_stop=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
load core.sh
|
||||||
|
# old sh ver
|
||||||
|
is_old_dir=/etc/v2ray/233boy
|
||||||
|
is_old_conf=/etc/v2ray/233blog_v2ray_backup.conf
|
||||||
|
if [[ -f $is_old_conf && -d $is_old_dir ]]; then
|
||||||
|
load old.sh
|
||||||
|
fi
|
||||||
|
[[ ! $args ]] && args=main
|
||||||
|
main $args
|
||||||
|
@@ -1,10 +0,0 @@
|
|||||||
# shadowsocks config
|
|
||||||
if [[ $mtproto ]]; then
|
|
||||||
mtproto_file="/etc/v2ray/233boy/v2ray/config/server/include/mtproto.json"
|
|
||||||
mtproto_file_tmp="/tmp/ss.json.tmp"
|
|
||||||
cp -f $mtproto_file $mtproto_file_tmp
|
|
||||||
sed -i "s/6666/$mtproto_port/; s/bb8a7fbd7190e345024845f07373ec48/$mtproto_secret/" $mtproto_file_tmp
|
|
||||||
sed -i "/\/\/include_mtproto/r $mtproto_file_tmp" $v2ray_server_config
|
|
||||||
sed -i "s#//include_mtproto#,#" $v2ray_server_config
|
|
||||||
rm -rf $mtproto_file_tmp
|
|
||||||
fi
|
|
288
src/mtproto.sh
288
src/mtproto.sh
@@ -1,288 +0,0 @@
|
|||||||
_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}https://t.me/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="dd$(date | md5sum | cut -c-30)"
|
|
||||||
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="dd$(date | md5sum | cut -c-30)"
|
|
||||||
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
|
|
||||||
|
|
||||||
}
|
|
140
src/old.sh
Normal file
140
src/old.sh
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
is_old_list=(
|
||||||
|
TCP
|
||||||
|
TCP_HTTP
|
||||||
|
WebSocket
|
||||||
|
"WebSocket + TLS"
|
||||||
|
HTTP/2
|
||||||
|
mKCP
|
||||||
|
mKCP_utp
|
||||||
|
mKCP_srtp
|
||||||
|
mKCP_wechat-video
|
||||||
|
mKCP_dtls
|
||||||
|
mKCP_wireguard
|
||||||
|
QUIC
|
||||||
|
QUIC_utp
|
||||||
|
QUIC_srtp
|
||||||
|
QUIC_wechat-video
|
||||||
|
QUIC_dtls
|
||||||
|
QUIC_wireguard
|
||||||
|
TCP_dynamicPort
|
||||||
|
TCP_HTTP_dynamicPort
|
||||||
|
WebSocket_dynamicPort
|
||||||
|
mKCP_dynamicPort
|
||||||
|
mKCP_utp_dynamicPort
|
||||||
|
mKCP_srtp_dynamicPort
|
||||||
|
mKCP_wechat-video_dynamicPort
|
||||||
|
mKCP_dtls_dynamicPort
|
||||||
|
mKCP_wireguard_dynamicPort
|
||||||
|
QUIC_dynamicPort
|
||||||
|
QUIC_utp_dynamicPort
|
||||||
|
QUIC_srtp_dynamicPort
|
||||||
|
QUIC_wechat-video_dynamicPort
|
||||||
|
QUIC_dtls_dynamicPort
|
||||||
|
QUIC_wireguard_dynamicPort
|
||||||
|
VLESS_WebSocket_TLS
|
||||||
|
)
|
||||||
|
|
||||||
|
# del old file
|
||||||
|
del_old_file() {
|
||||||
|
# old sh bin
|
||||||
|
_v2ray_sh="/usr/local/sbin/v2ray"
|
||||||
|
rm -rf $_v2ray_sh $is_old_conf $is_old_dir $is_core_dir/233blog_v2ray_config.json /usr/bin/v2ray
|
||||||
|
# del alias
|
||||||
|
sed -i "#$_v2ray_sh#d" /root/.bashrc
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# read old config
|
||||||
|
. $is_old_conf
|
||||||
|
is_old=${is_old_list[$v2ray_transport - 1]}
|
||||||
|
case $v2ray_transport in
|
||||||
|
3 | 20)
|
||||||
|
is_old_use=
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
is_old_use=ws
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
is_old_use=h2
|
||||||
|
;;
|
||||||
|
33)
|
||||||
|
is_old_use=vws
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
is_test_old_use=($(sed 's/_dynamicPort//;s/_/ /' <<<$is_old))
|
||||||
|
is_old_use=${is_test_old_use[0]#m}
|
||||||
|
is_old_header_type=${is_test_old_use[1]}
|
||||||
|
[[ ! $is_old_header_type ]] && is_old_header_type=none
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ $is_old_use && ! $is_old_header_type ]]; then
|
||||||
|
# not use caddy auto tls
|
||||||
|
[[ ! $caddy ]] && is_old_use=
|
||||||
|
fi
|
||||||
|
|
||||||
|
# add old config
|
||||||
|
if [[ $is_old_use ]]; then
|
||||||
|
is_tmp_list=("删除旧配置" "恢复: $is_old")
|
||||||
|
|
||||||
|
ask list is_do_upgrade null "\n是否恢复旧配置:\n"
|
||||||
|
|
||||||
|
[[ $REPLY == '1' ]] && {
|
||||||
|
_green "\n删除完成!\n"
|
||||||
|
del_old_file
|
||||||
|
}
|
||||||
|
|
||||||
|
_green "\n开始恢复...\n"
|
||||||
|
|
||||||
|
# upgrade caddy
|
||||||
|
if [[ $caddy ]]; then
|
||||||
|
get install-caddy
|
||||||
|
# bak caddy files
|
||||||
|
mv -f $is_caddyfile $is_caddyfile.233.bak
|
||||||
|
mv -f $is_caddy_dir/sites $is_caddy_dir/sites.233.bak
|
||||||
|
load caddy.sh
|
||||||
|
caddy_config new
|
||||||
|
fi
|
||||||
|
is_change=1
|
||||||
|
is_dont_auto_exit=1
|
||||||
|
is_dont_show_info=1
|
||||||
|
if [[ $shadowsocks ]]; then
|
||||||
|
for v in ${ss_method_list[@]}; do
|
||||||
|
[[ $(egrep -i "^${ssciphers}$" <<<$v) ]] && ss_method=$v && break
|
||||||
|
done
|
||||||
|
if [[ $ss_method ]]; then
|
||||||
|
add ss $ssport $sspass $ss_method
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [[ $socks ]]; then
|
||||||
|
add socks $socks_port $socks_username $socks_userpass
|
||||||
|
fi
|
||||||
|
port=$v2ray_port
|
||||||
|
uuid=$v2ray_id
|
||||||
|
is_no_kcp_seed=1
|
||||||
|
header_type=$is_old_header_type
|
||||||
|
[[ $caddy ]] && host=$domain
|
||||||
|
path=/$path
|
||||||
|
[[ ! $path_status ]] && path=
|
||||||
|
if [[ $(grep dynamic <<<$is_old) ]]; then
|
||||||
|
is_dynamic_port=1
|
||||||
|
is_dynamic_port_range="$v2ray_dynamicPort_start-$v2ray_dynamicPort_end"
|
||||||
|
add ${is_old_use}d
|
||||||
|
else
|
||||||
|
add $is_old_use
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $path_status ]]; then
|
||||||
|
change $is_config_name web $proxy_site
|
||||||
|
fi
|
||||||
|
is_dont_auto_exit=
|
||||||
|
is_dont_show_info=
|
||||||
|
[[ $is_api_fail ]] && manage restart &
|
||||||
|
[[ $caddy ]] && manage restart caddy
|
||||||
|
info $is_config_name
|
||||||
|
else
|
||||||
|
ask string y "是否删除旧配置? [y]:"
|
||||||
|
_green "\n删除完成!\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
del_old_file
|
@@ -1,10 +0,0 @@
|
|||||||
# Socks config
|
|
||||||
if [[ $socks ]]; then
|
|
||||||
socks_file="/etc/v2ray/233boy/v2ray/config/server/include/socks.json"
|
|
||||||
socks_file_tmp="/tmp/socks.json.tmp"
|
|
||||||
cp -f $socks_file $socks_file_tmp
|
|
||||||
sed -i "s/6666/$socks_port/; s/v2ray66.com/$socks_username/; s/233blog.com/$socks_userpass/" $socks_file_tmp
|
|
||||||
sed -i "/\/\/include_socks/r $socks_file_tmp" $v2ray_server_config
|
|
||||||
sed -i "s#//include_socks#,#" $v2ray_server_config
|
|
||||||
rm -rf $socks_file_tmp
|
|
||||||
fi
|
|
386
src/socks.sh
386
src/socks.sh
@@ -1,386 +0,0 @@
|
|||||||
_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
|
|
||||||
|
|
||||||
}
|
|
@@ -1,10 +0,0 @@
|
|||||||
# 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
|
|
@@ -1,21 +0,0 @@
|
|||||||
[[ -z $ip ]] && get_ip
|
|
||||||
if [[ $shadowsocks ]]; then
|
|
||||||
local ss="ss://$(echo -n "${ssciphers}:${sspass}@${ip}:${ssport}" | base64 -w 0)#v2ray6.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
|
|
59
src/systemd.sh
Normal file
59
src/systemd.sh
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
install_service() {
|
||||||
|
case $1 in
|
||||||
|
xray | v2ray)
|
||||||
|
is_doc_site=https://xtls.github.io/
|
||||||
|
[[ $1 == 'v2ray' ]] && is_doc_site=https://www.v2fly.org/
|
||||||
|
cat >/lib/systemd/system/$is_core.service <<<"
|
||||||
|
[Unit]
|
||||||
|
Description=$is_core_name Service
|
||||||
|
Documentation=$is_doc_site
|
||||||
|
After=network.target nss-lookup.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
#User=nobody
|
||||||
|
User=root
|
||||||
|
NoNewPrivileges=true
|
||||||
|
ExecStart=$is_core_bin run -config $is_config_json -confdir $is_conf_dir
|
||||||
|
Restart=on-failure
|
||||||
|
RestartPreventExitStatus=23
|
||||||
|
LimitNPROC=10000
|
||||||
|
LimitNOFILE=1048576
|
||||||
|
PrivateTmp=true
|
||||||
|
ProtectSystem=full
|
||||||
|
#CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||||
|
#AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target"
|
||||||
|
;;
|
||||||
|
caddy)
|
||||||
|
cat >/lib/systemd/system/caddy.service <<<"
|
||||||
|
#https://github.com/caddyserver/dist/blob/master/init/caddy.service
|
||||||
|
[Unit]
|
||||||
|
Description=Caddy
|
||||||
|
Documentation=https://caddyserver.com/docs/
|
||||||
|
After=network.target network-online.target
|
||||||
|
Requires=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=notify
|
||||||
|
User=root
|
||||||
|
Group=root
|
||||||
|
ExecStart=$is_caddy_bin run --environ --config $is_caddyfile --adapter caddyfile
|
||||||
|
ExecReload=$is_caddy_bin reload --config $is_caddyfile --adapter caddyfile
|
||||||
|
TimeoutStopSec=5s
|
||||||
|
LimitNPROC=10000
|
||||||
|
LimitNOFILE=1048576
|
||||||
|
PrivateTmp=true
|
||||||
|
ProtectSystem=full
|
||||||
|
#AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# enable, reload
|
||||||
|
systemctl enable $1
|
||||||
|
systemctl daemon-reload
|
||||||
|
}
|
@@ -1,34 +0,0 @@
|
|||||||
transport=(
|
|
||||||
TCP
|
|
||||||
TCP_HTTP
|
|
||||||
WebSocket
|
|
||||||
"WebSocket + TLS"
|
|
||||||
HTTP/2
|
|
||||||
mKCP
|
|
||||||
mKCP_utp
|
|
||||||
mKCP_srtp
|
|
||||||
mKCP_wechat-video
|
|
||||||
mKCP_dtls
|
|
||||||
mKCP_wireguard
|
|
||||||
QUIC
|
|
||||||
QUIC_utp
|
|
||||||
QUIC_srtp
|
|
||||||
QUIC_wechat-video
|
|
||||||
QUIC_dtls
|
|
||||||
QUIC_wireguard
|
|
||||||
TCP_dynamicPort
|
|
||||||
TCP_HTTP_dynamicPort
|
|
||||||
WebSocket_dynamicPort
|
|
||||||
mKCP_dynamicPort
|
|
||||||
mKCP_utp_dynamicPort
|
|
||||||
mKCP_srtp_dynamicPort
|
|
||||||
mKCP_wechat-video_dynamicPort
|
|
||||||
mKCP_dtls_dynamicPort
|
|
||||||
mKCP_wireguard_dynamicPort
|
|
||||||
QUIC_dynamicPort
|
|
||||||
QUIC_utp_dynamicPort
|
|
||||||
QUIC_srtp_dynamicPort
|
|
||||||
QUIC_wechat-video_dynamicPort
|
|
||||||
QUIC_dtls_dynamicPort
|
|
||||||
QUIC_wireguard_dynamicPort
|
|
||||||
)
|
|
168
src/uninstall.sh
168
src/uninstall.sh
@@ -1,168 +0,0 @@
|
|||||||
while :; do
|
|
||||||
echo
|
|
||||||
read -p "$(echo -e "是否卸载 ${yellow}V2Ray$none [${magenta}Y/N$none]:")" uninstall_v2ray_ask
|
|
||||||
if [[ -z $uninstall_v2ray_ask ]]; then
|
|
||||||
error
|
|
||||||
else
|
|
||||||
case $uninstall_v2ray_ask in
|
|
||||||
Y | y)
|
|
||||||
is_uninstall_v2ray=true
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 卸载 V2Ray = ${cyan}是${none}"
|
|
||||||
echo
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
N | n)
|
|
||||||
echo
|
|
||||||
echo -e "$red 卸载已取消...$none"
|
|
||||||
echo
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
error
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [[ $caddy && $is_uninstall_v2ray ]] && [[ -f /usr/local/bin/caddy && -f /etc/caddy/Caddyfile ]]; then
|
|
||||||
while :; do
|
|
||||||
echo
|
|
||||||
read -p "$(echo -e "是否卸载 ${yellow}Caddy$none [${magenta}Y/N$none]:")" uninstall_caddy_ask
|
|
||||||
if [[ -z $uninstall_caddy_ask ]]; then
|
|
||||||
error
|
|
||||||
else
|
|
||||||
case $uninstall_caddy_ask in
|
|
||||||
Y | y)
|
|
||||||
is_uninstall_caddy=true
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 卸载 Caddy = ${cyan}是${none}"
|
|
||||||
echo
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
N | n)
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 卸载 Caddy = ${cyan}否${none}"
|
|
||||||
echo
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
error
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $is_uninstall_v2ray && $is_uninstall_caddy ]]; then
|
|
||||||
pause
|
|
||||||
echo
|
|
||||||
|
|
||||||
if [[ $shadowsocks ]]; then
|
|
||||||
del_port $ssport
|
|
||||||
fi
|
|
||||||
if [[ $socks ]]; then
|
|
||||||
del_port $socks_port
|
|
||||||
fi
|
|
||||||
if [[ $mtproto ]]; then
|
|
||||||
del_port $mtproto_port
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $v2ray_transport == [45] ]]; then
|
|
||||||
del_port "80"
|
|
||||||
del_port "443"
|
|
||||||
del_port $v2ray_port
|
|
||||||
elif [[ $v2ray_transport -ge 18 ]]; then
|
|
||||||
del_port $v2ray_port
|
|
||||||
del_port "multiport"
|
|
||||||
else
|
|
||||||
del_port $v2ray_port
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ $cmd == "apt-get" ] && rm -rf /etc/network/if-pre-up.d/iptables
|
|
||||||
|
|
||||||
# [ $v2ray_pid ] && systemctl stop v2ray
|
|
||||||
[ $v2ray_pid ] && do_service stop v2ray
|
|
||||||
|
|
||||||
rm -rf /usr/bin/v2ray
|
|
||||||
rm -rf $_v2ray_sh
|
|
||||||
rm -rf /etc/v2ray
|
|
||||||
rm -rf /var/log/v2ray
|
|
||||||
|
|
||||||
# [ $caddy_pid ] && systemctl stop caddy
|
|
||||||
[ $caddy_pid ] && do_service stop caddy
|
|
||||||
|
|
||||||
rm -rf /usr/local/bin/caddy
|
|
||||||
rm -rf /etc/caddy
|
|
||||||
rm -rf /etc/ssl/caddy
|
|
||||||
|
|
||||||
if [[ $systemd ]]; then
|
|
||||||
systemctl disable v2ray >/dev/null 2>&1
|
|
||||||
rm -rf /lib/systemd/system/v2ray.service
|
|
||||||
systemctl disable caddy >/dev/null 2>&1
|
|
||||||
rm -rf /lib/systemd/system/caddy.service
|
|
||||||
else
|
|
||||||
update-rc.d -f caddy remove >/dev/null 2>&1
|
|
||||||
update-rc.d -f v2ray remove >/dev/null 2>&1
|
|
||||||
rm -rf /etc/init.d/caddy
|
|
||||||
rm -rf /etc/init.d/v2ray
|
|
||||||
fi
|
|
||||||
# clear
|
|
||||||
echo
|
|
||||||
echo -e "$green V2Ray 卸载完成啦 ....$none"
|
|
||||||
echo
|
|
||||||
echo "如果你觉得这个脚本有哪些地方不够好的话...请告诉我"
|
|
||||||
echo
|
|
||||||
echo "反馈问题: https://github.com/233boy/v2ray/issues"
|
|
||||||
echo
|
|
||||||
|
|
||||||
elif [[ $is_uninstall_v2ray ]]; then
|
|
||||||
pause
|
|
||||||
echo
|
|
||||||
|
|
||||||
if [[ $shadowsocks ]]; then
|
|
||||||
del_port $ssport
|
|
||||||
fi
|
|
||||||
if [[ $socks ]]; then
|
|
||||||
del_port $socks_port
|
|
||||||
fi
|
|
||||||
if [[ $mtproto ]]; then
|
|
||||||
del_port $mtproto_port
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $v2ray_transport == [45] ]]; then
|
|
||||||
del_port "80"
|
|
||||||
del_port "443"
|
|
||||||
del_port $v2ray_port
|
|
||||||
elif [[ $v2ray_transport -ge 18 ]]; then
|
|
||||||
del_port $v2ray_port
|
|
||||||
del_port "multiport"
|
|
||||||
else
|
|
||||||
del_port $v2ray_port
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ $cmd == "apt-get" ] && rm -rf /etc/network/if-pre-up.d/iptables
|
|
||||||
|
|
||||||
# [ $v2ray_pid ] && systemctl stop v2ray
|
|
||||||
[ $v2ray_pid ] && do_service stop v2ray
|
|
||||||
|
|
||||||
rm -rf /usr/bin/v2ray
|
|
||||||
rm -rf $_v2ray_sh
|
|
||||||
rm -rf /etc/v2ray
|
|
||||||
rm -rf /var/log/v2ray
|
|
||||||
if [[ $systemd ]]; then
|
|
||||||
systemctl disable v2ray >/dev/null 2>&1
|
|
||||||
rm -rf /lib/systemd/system/v2ray.service
|
|
||||||
else
|
|
||||||
update-rc.d -f v2ray remove >/dev/null 2>&1
|
|
||||||
rm -rf /etc/init.d/v2ray
|
|
||||||
fi
|
|
||||||
# clear
|
|
||||||
echo
|
|
||||||
echo -e "$green V2Ray 卸载完成啦 ....$none"
|
|
||||||
echo
|
|
||||||
echo "如果你觉得这个脚本有哪些地方不够好的话...请告诉我"
|
|
||||||
echo
|
|
||||||
echo "反馈问题: https://github.com/233boy/v2ray/issues"
|
|
||||||
echo
|
|
||||||
fi
|
|
@@ -1,136 +0,0 @@
|
|||||||
[[ -z $ip ]] && get_ip
|
|
||||||
_v2_args() {
|
|
||||||
header="none"
|
|
||||||
if [[ $is_path ]]; then
|
|
||||||
_path="/$path"
|
|
||||||
else
|
|
||||||
_path="/"
|
|
||||||
fi
|
|
||||||
case $v2ray_transport in
|
|
||||||
1 | 18)
|
|
||||||
net="tcp"
|
|
||||||
;;
|
|
||||||
2 | 19)
|
|
||||||
net="tcp"
|
|
||||||
header="http"
|
|
||||||
host="www.baidu.com"
|
|
||||||
;;
|
|
||||||
3 | 4 | 20)
|
|
||||||
net="ws"
|
|
||||||
;;
|
|
||||||
5)
|
|
||||||
net="h2"
|
|
||||||
;;
|
|
||||||
6 | 21)
|
|
||||||
net="kcp"
|
|
||||||
;;
|
|
||||||
7 | 22)
|
|
||||||
net="kcp"
|
|
||||||
header="utp"
|
|
||||||
;;
|
|
||||||
8 | 23)
|
|
||||||
net="kcp"
|
|
||||||
header="srtp"
|
|
||||||
;;
|
|
||||||
9 | 24)
|
|
||||||
net="kcp"
|
|
||||||
header="wechat-video"
|
|
||||||
;;
|
|
||||||
10 | 25)
|
|
||||||
net="kcp"
|
|
||||||
header="dtls"
|
|
||||||
;;
|
|
||||||
11 | 26)
|
|
||||||
net="kcp"
|
|
||||||
header="wireguard"
|
|
||||||
;;
|
|
||||||
12 | 27)
|
|
||||||
net="quic"
|
|
||||||
;;
|
|
||||||
13 | 28)
|
|
||||||
net="quic"
|
|
||||||
header="utp"
|
|
||||||
;;
|
|
||||||
14 | 29)
|
|
||||||
net="quic"
|
|
||||||
header="srtp"
|
|
||||||
;;
|
|
||||||
15 | 30)
|
|
||||||
net="quic"
|
|
||||||
header="wechat-video"
|
|
||||||
;;
|
|
||||||
16 | 31)
|
|
||||||
net="quic"
|
|
||||||
header="dtls"
|
|
||||||
;;
|
|
||||||
17 | 32)
|
|
||||||
net="quic"
|
|
||||||
header="wireguard"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
_v2_info() {
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "---------- V2Ray 配置信息 -------------"
|
|
||||||
if [[ $v2ray_transport == [45] ]]; then
|
|
||||||
if [[ ! $caddy ]]; then
|
|
||||||
echo
|
|
||||||
echo -e " $red警告!$none$yellow请自行配置 TLS...教程: https://v2ray6.com/post/3/$none"
|
|
||||||
fi
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 地址 (Address) = $cyan${domain}$none"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 端口 (Port) = ${cyan}443${none}"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 用户ID (User ID / UUID) = $cyan${v2ray_id}$none"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 额外ID (Alter Id) = ${cyan}${alterId}${none}"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 传输协议 (Network) = ${cyan}${net}$none"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 伪装类型 (header type) = ${cyan}${header}$none"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 伪装域名 (host) = ${cyan}${domain}$none"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 路径 (path) = ${cyan}${_path}$none"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow TLS (Enable TLS) = ${cyan}打开$none"
|
|
||||||
echo
|
|
||||||
if [[ $ban_ad ]]; then
|
|
||||||
echo " 备注: 广告拦截已开启.."
|
|
||||||
echo
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 地址 (Address) = $cyan${ip}$none"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 端口 (Port) = $cyan$v2ray_port$none"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 用户ID (User ID / UUID) = $cyan${v2ray_id}$none"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 额外ID (Alter Id) = ${cyan}${alterId}${none}"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 传输协议 (Network) = ${cyan}${net}$none"
|
|
||||||
echo
|
|
||||||
echo -e "$yellow 伪装类型 (header type) = ${cyan}${header}$none"
|
|
||||||
echo
|
|
||||||
fi
|
|
||||||
if [[ $v2ray_transport -ge 18 ]] && [[ $ban_ad ]]; then
|
|
||||||
echo " 备注: 动态端口已启用...广告拦截已开启..."
|
|
||||||
echo
|
|
||||||
elif [[ $v2ray_transport -ge 18 ]]; then
|
|
||||||
echo " 备注: 动态端口已启用..."
|
|
||||||
echo
|
|
||||||
elif [[ $ban_ad ]]; then
|
|
||||||
echo " 备注: 广告拦截已开启.."
|
|
||||||
echo
|
|
||||||
fi
|
|
||||||
echo "---------- END -------------"
|
|
||||||
echo
|
|
||||||
echo "V2Ray 客户端使用教程: https://v2ray6.com/post/4/"
|
|
||||||
echo
|
|
||||||
echo -e "提示: 输入$cyan v2ray url $none可生成 vmess URL 链接 / 输入$cyan v2ray qr $none可生成二维码链接"
|
|
||||||
echo
|
|
||||||
}
|
|
@@ -1,111 +0,0 @@
|
|||||||
# config file
|
|
||||||
case $v2ray_transport in
|
|
||||||
1)
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/tcp.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/tcp.json"
|
|
||||||
;;
|
|
||||||
2)
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/http.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/http.json"
|
|
||||||
;;
|
|
||||||
3)
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/ws.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/ws.json"
|
|
||||||
;;
|
|
||||||
4)
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/ws.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/ws_tls.json"
|
|
||||||
;;
|
|
||||||
5)
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/h2.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/h2.json"
|
|
||||||
;;
|
|
||||||
[6-9] | 10 | 11)
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/kcp.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/kcp.json"
|
|
||||||
;;
|
|
||||||
1[2-7])
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/quic.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/quic.json"
|
|
||||||
;;
|
|
||||||
18)
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/dynamic/tcp.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/tcp.json"
|
|
||||||
;;
|
|
||||||
19)
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/dynamic/http.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/http.json"
|
|
||||||
;;
|
|
||||||
20)
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/dynamic/ws.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/ws.json"
|
|
||||||
;;
|
|
||||||
2[1-6])
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/dynamic/kcp.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/kcp.json"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
v2ray_server_config_file="/etc/v2ray/233boy/v2ray/config/server/dynamic/quic.json"
|
|
||||||
v2ray_client_config_file="/etc/v2ray/233boy/v2ray/config/client/quic.json"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# copy config file
|
|
||||||
cp -f $v2ray_server_config_file $v2ray_server_config
|
|
||||||
cp -f $v2ray_client_config_file $v2ray_client_config
|
|
||||||
|
|
||||||
# change port, uuid, alterId
|
|
||||||
sed -i "9s/2333/$v2ray_port/; 14s/$old_id/$v2ray_id/; 16s/233/$alterId/" $v2ray_server_config
|
|
||||||
|
|
||||||
# change dynamic port
|
|
||||||
if [[ $v2ray_transport -ge 18 ]]; then
|
|
||||||
local multi_port="${v2ray_dynamicPort_start}-${v2ray_dynamicPort_end}"
|
|
||||||
sed -i "s/10000-20000/$multi_port/" $v2ray_server_config
|
|
||||||
fi
|
|
||||||
|
|
||||||
# change domain and path, or header type
|
|
||||||
case $v2ray_transport in
|
|
||||||
5)
|
|
||||||
sed -i "24s/233blog.com/$domain/" $v2ray_server_config
|
|
||||||
if [[ $is_path ]]; then
|
|
||||||
sed -i "26s/233blog/$path/" $v2ray_server_config
|
|
||||||
else
|
|
||||||
sed -i "26s/233blog//" $v2ray_server_config
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
7 | 13 | 22 | 28)
|
|
||||||
sed -i "s/none/utp/" $v2ray_server_config
|
|
||||||
sed -i "s/none/utp/" $v2ray_client_config
|
|
||||||
;;
|
|
||||||
8 | 14 | 23 | 29)
|
|
||||||
sed -i "s/none/srtp/" $v2ray_server_config
|
|
||||||
sed -i "s/none/srtp/" $v2ray_client_config
|
|
||||||
;;
|
|
||||||
9 | 15 | 24 | 30)
|
|
||||||
sed -i "s/none/wechat-video/" $v2ray_server_config
|
|
||||||
sed -i "s/none/wechat-video/" $v2ray_client_config
|
|
||||||
;;
|
|
||||||
10 | 16 | 25 | 31)
|
|
||||||
sed -i "s/none/dtls/" $v2ray_server_config
|
|
||||||
sed -i "s/none/dtls/" $v2ray_client_config
|
|
||||||
;;
|
|
||||||
11 | 17 | 26 | 32)
|
|
||||||
sed -i "s/none/wireguard/" $v2ray_server_config
|
|
||||||
sed -i "s/none/wireguard/" $v2ray_client_config
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
## change client config file
|
|
||||||
[[ -z $ip ]] && get_ip
|
|
||||||
if [[ $v2ray_transport == [45] ]]; then
|
|
||||||
sed -i "s/233blog.com/$domain/; 13s/2333/443/; 16s/$old_id/$v2ray_id/; 17s/233/$alterId/" $v2ray_client_config
|
|
||||||
if [[ $is_path ]]; then
|
|
||||||
sed -i "31s/233blog/$path/" $v2ray_client_config
|
|
||||||
else
|
|
||||||
sed -i "31s/233blog//" $v2ray_client_config
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
sed -i "s/233blog.com/$ip/; 13s/2333/$v2ray_port/; 16s/$old_id/$v2ray_id/; 17s/233/$alterId/" $v2ray_client_config
|
|
||||||
fi
|
|
||||||
|
|
||||||
# zip -q -r -j --password "233blog.com" /etc/v2ray/233blog_v2ray.zip $v2ray_client_config
|
|
@@ -1,38 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"protocol": "mtproto",
|
|
||||||
"port": 6666, //port
|
|
||||||
"tag": "tg-in",
|
|
||||||
"settings": {
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"secret": "bb8a7fbd7190e345024845f07373ec48" // secret
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,34 +0,0 @@
|
|||||||
{
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"port": 2333, // v2ray port
|
|
||||||
"protocol": "vmess",
|
|
||||||
"settings": {
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"id": "e55c8d17-2cf3-b21a-bcf1-eeacb011ed79", // uuid
|
|
||||||
"level": 1,
|
|
||||||
"alterId": 233 // alaterid
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"streamSettings": {
|
|
||||||
"network": "quic",
|
|
||||||
"security": "aes-128-gcm",
|
|
||||||
"key": "",
|
|
||||||
"quicSettings": {
|
|
||||||
"header": {
|
|
||||||
"type": "none" // options > [none, srtp, utp, wechat-video, dtls, wireguard]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sniffing": {
|
|
||||||
"enabled": true,
|
|
||||||
"destOverride": [
|
|
||||||
"http",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"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
|
|
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"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
|
|
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"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
|
|
@@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"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
|
|
@@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"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
|
|
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"protocol": "socks",
|
|
||||||
"port": 6666, // port
|
|
||||||
"settings": {
|
|
||||||
"auth": "password",
|
|
||||||
"accounts": [
|
|
||||||
{
|
|
||||||
"user": "v2ray66.com", // username
|
|
||||||
"pass": "233blog.com" // passowrd
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"udp": true,
|
|
||||||
"timeout": 0,
|
|
||||||
"userLevel": 1
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
backup="/etc/v2ray/233blog_v2ray_backup.conf"
|
|
||||||
. $backup
|
|
||||||
if [[ $v2ray_transport -ge 13 ]]; then
|
|
||||||
tmp_transport=$(($v2ray_transport +6))
|
|
||||||
sed -i "18s/=$v2ray_transport/=$tmp_transport/" $backup
|
|
||||||
fi
|
|
||||||
v2ray update.sh
|
|
@@ -1,75 +0,0 @@
|
|||||||
#!/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
|
|
@@ -1,132 +0,0 @@
|
|||||||
#!/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
|
|
114
tools/v3.sh
114
tools/v3.sh
@@ -1,114 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
case $v2ray_transport in
|
|
||||||
[5-8])
|
|
||||||
_transport=$(($v2ray_transport + 1))
|
|
||||||
;;
|
|
||||||
9 | 1[0-5])
|
|
||||||
_transport=$(($v2ray_transport + 9))
|
|
||||||
;;
|
|
||||||
16)
|
|
||||||
_transport=5
|
|
||||||
;;
|
|
||||||
17)
|
|
||||||
_transport=1
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
_transport=$v2ray_transport
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [[ $v2ray_transport == 17 ]]; then
|
|
||||||
v2ray_id=$(cat /proc/sys/kernel/random/uuid)
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >$backup <<-EOF
|
|
||||||
# -----------------------------------
|
|
||||||
# 警告...请不要修改或删除这个文件...谢谢
|
|
||||||
# 警告...请不要修改或删除这个文件...谢谢
|
|
||||||
# 警告...请不要修改或删除这个文件...谢谢
|
|
||||||
# -----------------------------------
|
|
||||||
|
|
||||||
# ---- 再次提醒 ----
|
|
||||||
# 大胸弟...如果你看到了这个...记得不要修改或更改这个文件
|
|
||||||
|
|
||||||
# ---- 说明 ----
|
|
||||||
# 嗯……这个文件呢,是用来备份一些设置的
|
|
||||||
#
|
|
||||||
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
|
|
Reference in New Issue
Block a user