-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathhook.sh
53 lines (45 loc) · 1.08 KB
/
hook.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
# 解析参数
for i in "$@"; do
case $i in
--v2raya-confdir=*)
CONFDIR="${i#*=}"
shift
;;
--stage=*)
STAGE="${i#*=}"
shift
;;
-*|--*)
echo "Unknown option $i"
shift
;;
*)
;;
esac
done
# 仅在 pre-start 阶段才修改配置文件
if [ "$STAGE" != "pre-start" ]; then
exit 0
fi
# 配置文件路径
CONF_PATH="$CONFDIR/config.json"
# 检查 jq 是否安装
if ! command -v jq &> /dev/null; then
echo "jq is required but not installed. Please install jq and try again."
exit 1
fi
# 修改配置文件
jq '
# 修改 routing 中 domainMatcher 的值为 hybrid
.routing.domainMatcher = "hybrid"
# 修改 outbound 中 tag 为 proxy 的 sockopt 项,增加并启用 tcpMptcp ,需服务端也启用此项
# 以下删除注释开启
# | .outbounds |= map(
# if .tag == "proxy" then
# .streamSettings.sockopt.tcpMptcp = true
# else
# .
# end
# )
' "$CONF_PATH" > "${CONF_PATH}.tmp" && mv "${CONF_PATH}.tmp" "$CONF_PATH"