Skip to content

Commit 5634489

Browse files
committed
v4.37.2
1 parent bc00d5f commit 5634489

15 files changed

+2487
-2951
lines changed

380_armv5_packge/4.37.2/md5sum.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
64e59c6a927c34878c231ed2ea02dd60
26.3 MB
Binary file not shown.

380_armv5_packge/config.json.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
2-
"build_date":"2023-03-25_20:42:45",
2+
"build_date":"2023-05-26_22:50:03",
33
"description":"科学上网",
44
"home_url":"Main_Ss_Content.asp",
5-
"md5":"ea82f65ed869e130e227fe229c9eb7ea",
5+
"md5":"64e59c6a927c34878c231ed2ea02dd60",
66
"name":"shadowsocks",
7-
"tar_url": "https://github.com/cary-sas/v2ray_bin/raw/main/380_armv5_packge/4.37.1/shadowsocks.tar.gz",
8-
"version":"4.37.1"
7+
"tar_url": "https://github.com/cary-sas/v2ray_bin/raw/main/380_armv5_packge/4.37.2/shadowsocks.tar.gz",
8+
"version":"4.37.2"
99
}

380_armv5_packge/latest.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.37.1
1+
4.37.2

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ fixed many historical legacy issues
66

77
除插件原有功能外,另外
88

9-
* 支持xray, vless, xtls, trojan, trojan-go, NaiveProxy 等协议及更新,
9+
* 支持xray, vless, xtls, reality, trojan, trojan-go, NaiveProxy 等协议及更新,
1010
* 支持ss + v2ray plugin,
1111
* 支持混合节点订阅,
1212
* 支持同时订阅多个链接,回车隔开,

shadowsocks/res/ss-menu.js

+22-1
Original file line numberDiff line numberDiff line change
@@ -596,14 +596,35 @@ function openssHint(itemNum) {
596596
statusmenu = "<b>传输层安全性协议</b>"
597597
statusmenu += "</br></br>建议为 xtls-rprx-direct"
598598
_caption = "流控 (flow)";
599+
return overlib(statusmenu, OFFSETX, -560, OFFSETY, -90, LEFT, STICKY, WIDTH, 'width', CAPTION, _caption, CLOSETITLE, '');
599600
} else if (itemNum == 112) {
600601
width = "750px";
601602
statusmenu = "勾选后,不会检查远端主机所提供的 TLS 证书的有效性</b>"
602603
statusmenu += "</br>自建节点,服务端证书不可以是 Let's Encrypt证书,因为设备已经不再受支持"
603604
statusmenu += "</br></br>如果是用机场,建议勾选"
604605
_caption = "是否允许不安全连接";
605606
return overlib(statusmenu, OFFSETX, -560, OFFSETY, -90, LEFT, STICKY, WIDTH, 'width', CAPTION, _caption, CLOSETITLE, '');
606-
} else if (itemNum == 31) {
607+
} else if (itemNum == 113) {
608+
width = "750px";
609+
statusmenu = "<b>必填,服务端私钥对应的公钥。</b>"
610+
statusmenu += "</br></br>使用 ./xray x25519 -i \"服务器私钥\" 生成。"
611+
_caption = "公钥 (publicKey)";
612+
return overlib(statusmenu, OFFSETX, -560, OFFSETY, -90, LEFT, STICKY, WIDTH, 'width', CAPTION, _caption, CLOSETITLE, '');
613+
} else if (itemNum == 114) {
614+
width = "750px";
615+
statusmenu = "<b>启用后,Xray 将通过 uTLS 库 模拟 TLS 指纹,或随机生成。</b>"
616+
statusmenu += "</br></br>TrojanGo的指纹和Xray的不完全一样,reality协议中需要开启指纹"
617+
statusmenu += "</br></br>其他协议包括 xray ws, H2, gRPC, tls 都支持开启指纹"
618+
_caption = "指纹 (fingerprint)";
619+
return overlib(statusmenu, OFFSETX, -560, OFFSETY, -90, LEFT, STICKY, WIDTH, 'width', CAPTION, _caption, CLOSETITLE, '');
620+
} else if (itemNum == 115) {
621+
width = "750px";
622+
statusmenu = "<b>服务端 shortIds 之一</b>"
623+
statusmenu += "</br></br> 服务端 shortIds 中若有此项 \"\" ,客户端 shortId 可为空"
624+
statusmenu += "</br></br>\"0123456789abcdef\" 0 到 f,长度为 2 的倍数,长度上限为 16"
625+
_caption = "shortId";
626+
return overlib(statusmenu, OFFSETX, -560, OFFSETY, -90, LEFT, STICKY, WIDTH, 'width', CAPTION, _caption, CLOSETITLE, '');
627+
} else if (itemNum == 31) {
607628
width = "400px";
608629
statusmenu = "<b>此处控制开启或者关闭多路复用 (Mux)</b>"
609630
statusmenu += "</br></br>此参数在客户端json配置文件的【outbound → mux → enabled】位置"

shadowsocks/scripts/ss_online_update.sh

+38-6
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ SOCKS_FLAG=0
7070
# ssconf_basic_fingerprint_
7171
# ssconf_basic_naive_protocol_
7272
# ssconf_basic_naive_user_
73+
# ssconf_basic_xray_publicKey_
74+
# ssconf_basic_xray_shortId_
7375
# ==============================
7476

7577
set_lock(){
@@ -950,6 +952,9 @@ get_vless_config(){
950952
v2ray_host=$(echo "$decode_link" | tr '?&#' '\n' | grep 'host=' | awk -F'=' '{print $2}')
951953
v2ray_tlshost=$(echo "$decode_link" | tr '?&#' '\n' | grep 'sni=' | awk -F'=' '{print $2}')
952954
v2ray_serviceName=$(echo "$decode_link" | tr '?&#' '\n' | grep 'serviceName=' | awk -F'=' '{print $2}')
955+
fingerprint=$(echo "$decode_link" | tr '?&#' '\n' | grep 'fp=' | awk -F'=' '{print $2}')
956+
xray_publicKey=$(echo "$decode_link" | tr '?&#' '\n' | grep 'pbk=' | awk -F'=' '{print $2}')
957+
xray_shortId=$(echo "$decode_link" | tr '?&#' '\n' | grep 'sid=' | awk -F'=' '{print $2}')
953958
#把全部服务器节点编码后写入文件 /usr/share/shadowsocks/serverconfig/all_onlineservers
954959
[ -n "$vless_group" ] && group_base64=`echo $vless_group | base64_encode | sed 's/ -//g'`
955960
[ -n "$v2ray_add" ] && server_base64=`echo $v2ray_add | base64_encode | sed 's/ -//g'`
@@ -997,15 +1002,28 @@ add_vless_servers(){
9971002
dbus set ssconf_basic_v2ray_uuid_$v2rayindex=$v2ray_id
9981003
dbus set ssconf_basic_v2ray_network_security_$v2rayindex=$v2ray_tls
9991004
dbus set ssconf_basic_v2ray_network_$v2rayindex=$v2ray_net
1000-
1005+
[ -n "$fingerprint" ] && dbus set ssconf_basic_fingerprint_$v2rayindex=$fingerprint
1006+
10011007
[ -n "$v2ray_tlshost" ] && dbus set ssconf_basic_v2ray_network_tlshost_$v2rayindex=$v2ray_tlshost
10021008

10031009
case $v2ray_net in
10041010
tcp)
10051011
# tcp协议设置【 tcp伪装类型 (type)】和【tls/xtls域名 (SNI)】
10061012
# tcp + xtls 会比较多,别的组合不熟悉
10071013
dbus set ssconf_basic_v2ray_headtype_tcp_$v2rayindex="$v2ray_type"
1008-
[ "${v2ray_tls#*x}" = "tls" ] && dbus set ssconf_basic_v2ray_network_flow_$v2rayindex=$v2ray_flow
1014+
case "$v2ray_tls" in
1015+
tls|xtls)
1016+
dbus set ssconf_basic_v2ray_network_flow_$v2rayindex=$v2ray_flow
1017+
;;
1018+
reality)
1019+
dbus set ssconf_basic_v2ray_network_flow_$v2rayindex=$v2ray_flow
1020+
dbus set ssconf_basic_xray_publicKey_$v2rayindex=$xray_publicKey
1021+
dbus set ssconf_basic_xray_shortId_$v2rayindex=$xray_shortId
1022+
;;
1023+
*)
1024+
1025+
;;
1026+
esac
10091027

10101028
# @@ 不确定这个变量是否需要添加
10111029
# [ -n "$v2ray_host" ] && dbus set ssconf_basic_v2ray_network_host_$v2rayindex=$v2ray_host
@@ -1056,14 +1074,20 @@ update_vless_config(){
10561074
[ "$local_v2ray_net" != "$v2ray_net" ] && dbus set ssconf_basic_v2ray_network_$index=$v2ray_net && let i+=1
10571075
local_v2ray_tlshost=$(dbus get ssconf_basic_v2ray_network_tlshost_$index)
10581076
[ "$local_v2ray_tlsthost" != "$v2ray_tlshost" ] && dbus set ssconf_basic_v2ray_network_tlshost_$index=$v2ray_tlshost && let i+=1
1059-
1077+
local_fingerprint=$(dbus get ssconf_basic_fingerprint_$index)
1078+
[ "$local_v2ray_tlsthost" != "$fingerprint" ] && dbus set ssconf_basic_fingerprint_$index=$fingerprint && let i+=1
1079+
10601080
case $local_v2ray_net in
10611081
tcp)
10621082
# tcp协议
10631083
local_v2ray_type=$(dbus get ssconf_basic_v2ray_headtype_tcp_$index)
10641084
[ "$local_v2ray_type" != "$v2ray_type" ] && dbus set ssconf_basic_v2ray_headtype_tcp_$index=$v2ray_type && let i+=1
10651085
local_v2ray_flow=$(dbus get ssconf_basic_v2ray_network_flow_$index)
10661086
[ "$local_v2ray_flow" != "$v2ray_flow" ] && dbus set ssconf_basic_v2ray_network_flow_$index=$v2ray_flow && let i+=1
1087+
local_xray_publicKey=$(dbus get ssconf_basic_xray_publicKey_$index)
1088+
[ "$local_xray_publicKey" != "$xray_publicKey" ] && dbus set ssconf_basic_xray_publicKey_$index=$xray_publicKey && let i+=1
1089+
local_xray_shortId=$(dbus get ssconf_basic_xray_shortId_$index)
1090+
[ "$local_xray_shortId" != "$xray_shortId" ] && dbus set ssconf_basic_xray_shortId_$index=$xray_shortId && let i+=1
10671091

10681092
# local_v2ray_host=$(dbus get ssconf_basic_v2ray_network_host_$index)
10691093
# [ "$local_v2ray_host" != "$v2ray_host" ] && dbus set ssconf_basic_v2ray_network_host_$index=$v2ray_host && let i+=1
@@ -1124,8 +1148,9 @@ get_trojan_go_config(){
11241148
v2ray_path=$(echo "$decode_link" | tr '?&#' '\n' | grep 'path=' | awk -F'=' '{print $2}')
11251149
v2ray_host=$(echo "$decode_link" | tr '?&#' '\n' | grep 'host=' | awk -F'=' '{print $2}')
11261150
sni=$(echo "$decode_link" | tr '?&#' '\n' | grep 'sni=' | awk -F'=' '{print $2}')
1151+
fingerprint=$(echo "$decode_link" | tr '?&#' '\n' | grep 'fp=' | awk -F'=' '{print $2}')
11271152
binary="Trojan-Go"
1128-
fingerprint="none"
1153+
11291154
#20201024---
11301155
ss_kcp_support_tmp="0"
11311156
ss_udp_support_tmp="0"
@@ -1344,7 +1369,8 @@ del_none_exist(){
13441369
dbus remove ssconf_basic_weight_$localindex
13451370
dbus remove ssconf_basic_naive_protocol_$localindex
13461371
dbus remove ssconf_basic_naive_user_$localindex
1347-
1372+
dbus remove ssconf_basic_xray_publicKey_$localindex
1373+
dbus remove ssconf_basic_xray_shortId_$localindex
13481374
let delnum+=1
13491375
fi
13501376
done
@@ -1428,7 +1454,9 @@ remove_node_gap(){
14281454
[ -n "$(dbus get ssconf_basic_v2ray_network_flow_$nu)" ] && dbus set ssconf_basic_v2ray_network_flow_"$y"="$(dbus get ssconf_basic_v2ray_network_flow_$nu)" && dbus remove ssconf_basic_v2ray_network_flow_$nu
14291455
[ -n "$(dbus get ssconf_basic_naive_protocol_$nu)" ] && dbus set ssconf_basic_naive_protocol_"$y"="$(dbus get ssconf_basic_naive_protocol_$nu)" && dbus remove ssconf_basic_naive_protocol_$nu
14301456
[ -n "$(dbus get ssconf_basic_naive_user_$nu)" ] && dbus set ssconf_basic_naive_user_"$y"="$(dbus get ssconf_basic_naive_user_$nu)" && dbus remove ssconf_basic_naive_user_$nu
1431-
1457+
[ -n "$(dbus get ssconf_basic_xray_publicKey_$nu)" ] && dbus set ssconf_basic_xray_publicKey_"$y"="$(dbus get ssconf_basic_xray_publicKey_$nu)" && dbus remove ssconf_basic_xray_publicKey_$nu
1458+
[ -n "$(dbus get ssconf_basic_xray_shortId_$nu)" ] && dbus set ssconf_basic_xray_shortId_"$y"="$(dbus get ssconf_basic_xray_shortId_$nu)" && dbus remove ssconf_basic_xray_shortId_$nu
1459+
14321460
usleep 100000
14331461
# change node nu
14341462
if [ "$nu" == "$ssconf_basic_node" ];then
@@ -1767,6 +1795,8 @@ start_update(){
17671795
dbus remove ssconf_basic_weight_$conf_nu
17681796
dbus remove ssconf_basic_naive_protocol_$conf_nu
17691797
dbus remove ssconf_basic_naive_user_$conf_nu
1798+
dbus remove ssconf_basic_xray_publicKey_$conf_nu
1799+
dbus remove ssconf_basic_xray_shortId_$conf_nu
17701800
done
17711801
# 删除不再订阅节点的group信息
17721802
confs_nu_2=`dbus list ss_online_group_|grep "$local_group"| cut -d "=" -f 1|cut -d "_" -f 4`
@@ -1928,6 +1958,8 @@ remove_online(){
19281958
dbus remove ssconf_basic_weight_$remove_nu
19291959
dbus remove ssconf_basic_naive_protocol_$remove_nu
19301960
dbus remove ssconf_basic_naive_user_$remove_nu
1961+
dbus remove ssconf_basic_xray_publicKey_$remove_nu
1962+
dbus remove ssconf_basic_xray_shortId_$remove_nu
19311963
done
19321964
}
19331965

shadowsocks/scripts/ss_webtest.sh

+38-4
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,21 @@ get_path(){
7676
fi
7777
}
7878

79+
get_fingerprint(){
80+
if [ -n "$1" ];then
81+
echo \"$1\"
82+
else
83+
echo "null"
84+
fi
85+
}
86+
get_tgfingerprint(){
87+
if [ -n "$1" ];then
88+
echo "$1"
89+
else
90+
echo "null"
91+
fi
92+
}
93+
7994
create_v2ray_json(){
8095

8196
rm -f /tmp/tmp_v2ray.json
@@ -87,6 +102,7 @@ rm -f /tmp/tmp_v2ray.json
87102
local grpc="null"
88103
local tls="null"
89104
local xtls="null"
105+
local reality="null"
90106
local vless_flow=""
91107

92108
# tcp和kcp下tlsSettings为null,ws和h2下tlsSettings
@@ -97,10 +113,13 @@ rm -f /tmp/tmp_v2ray.json
97113
local ssconf_basic_v2ray_network_tlshost_$nu="$(eval echo \$ssconf_basic_v2ray_network_host_$nu)"
98114
fi
99115

116+
local local_fingerprint=$(eval echo \$ssconf_basic_fingerprint_$nu)
117+
100118
case "$(eval echo \$ssconf_basic_v2ray_network_security_$nu)" in
101119
tls)
102120
local tls="{
103121
\"allowInsecure\": $(get_function_switch $(eval echo \$ssconf_basic_allowinsecure_$nu)),
122+
\"fingerprint\": $(get_fingerprint $local_fingerprint),
104123
\"serverName\": \"$(eval echo \$ssconf_basic_v2ray_network_tlshost_$nu)\"
105124
}"
106125
[ "$(eval echo \$ssconf_basic_v2ray_network_flow_$nu)" != "none" -a "$(eval echo \$ssconf_basic_v2ray_network_flow_$nu)" != "" ] && local vless_flow="\"flow\": \"$(eval echo \$ssconf_basic_v2ray_network_flow_$nu)\"," || local vless_flow=""
@@ -112,9 +131,20 @@ rm -f /tmp/tmp_v2ray.json
112131
}"
113132
local vless_flow="\"flow\": \"$(eval echo \$ssconf_basic_v2ray_network_flow_$nu)\","
114133
;;
134+
reality)
135+
local reality="{
136+
\"serverName\": \"$(eval echo \$ssconf_basic_v2ray_network_tlshost_$nu)\",
137+
\"fingerprint\": $(get_fingerprint $local_fingerprint),
138+
\"publicKey\": \"$(eval echo \$ssconf_basic_xray_publicKey_$nu)\",
139+
\"shortId\": \"$(eval echo \$ssconf_basic_xray_shortId_$nu)\",
140+
\"spiderX\": \"\"
141+
}"
142+
local vless_flow="\"flow\": \"$(eval echo \$ssconf_basic_v2ray_network_flow_$nu)\","
143+
;;
115144
*)
116145
local tls="null"
117146
local xtls="null"
147+
local reality="null"
118148
;;
119149
esac
120150
#fi
@@ -183,6 +213,7 @@ rm -f /tmp/tmp_v2ray.json
183213
local local_header=$(eval echo \$ssconf_basic_v2ray_network_host_$nu)
184214
local ws="{
185215
\"connectionReuse\": true,
216+
\"fingerprint\": $(get_fingerprint $local_fingerprint),
186217
\"path\": $(get_path $local_path),
187218
\"headers\": $(get_ws_header local_header)
188219
}"
@@ -191,6 +222,7 @@ rm -f /tmp/tmp_v2ray.json
191222
local local_path=$(eval echo \$ssconf_basic_v2ray_network_path_$nu)
192223
local local_header=$(eval echo \$ssconf_basic_v2ray_network_host_$nu)
193224
local h2="{
225+
\"fingerprint\": $(get_fingerprint $local_fingerprint),
194226
\"path\": $(get_path $local_path),
195227
\"host\": $(get_h2_host $local_header)
196228
}"
@@ -200,6 +232,7 @@ rm -f /tmp/tmp_v2ray.json
200232
local grpc="{
201233
\"multiMode\": true,
202234
\"idle_timeout\": 13,
235+
\"fingerprint\": $(get_fingerprint $local_fingerprint),
203236
\"serviceName\": $(get_path $local_serviceName)
204237
}"
205238
;;
@@ -309,6 +342,7 @@ rm -f /tmp/tmp_v2ray.json
309342
"security": "$(eval echo \$ssconf_basic_v2ray_network_security_$nu)",
310343
"tlsSettings": $tls,
311344
"xtlsSettings": $xtls,
345+
"realitySettings": $reality,
312346
"tcpSettings": $tcp,
313347
"kcpSettings": $kcp,
314348
"wsSettings": $ws,
@@ -406,7 +440,7 @@ create_trojango_json(){
406440
}"
407441
fi
408442
[ -z "$(eval echo \$ssconf_basic_v2ray_mux_concurrency_$nu)" ] && local ssconf_basic_v2ray_mux_concurrency=8 || local ssconf_basic_v2ray_mux_concurrency=$(eval echo \$ssconf_basic_v2ray_mux_concurrency_$nu)
409-
[ "$(eval echo \$ssconf_basic_fingerprint_$nu)" == "none" ] && local ssconf_basic_fingerprint="" || local ssconf_basic_fingerprint=$(eval echo \$ssconf_basic_fingerprint_$nu)
443+
local local_fingerprint=$(eval echo \$ssconf_basic_fingerprint_$nu)
410444
#trojan go
411445
# 3335 for nat
412446
cat >"/tmp/tmp_trojango.json" <<-EOF
@@ -432,7 +466,7 @@ create_trojango_json(){
432466
],
433467
"session_ticket": true,
434468
"reuse_session": true,
435-
"fingerprint": "$ssconf_basic_fingerprint"
469+
"fingerprint": $(get_tgfingerprint $ss_basic_fingerprint)
436470
},
437471
"tcp": {
438472
"no_delay": true,
@@ -479,7 +513,7 @@ create_trojango_json(){
479513
],
480514
"session_ticket": true,
481515
"reuse_session": true,
482-
"fingerprint": "$ssconf_basic_fingerprint"
516+
"fingerprint": $(get_tgfingerprint $ss_basic_fingerprint)
483517
},
484518
"tcp": {
485519
"no_delay": true,
@@ -598,7 +632,7 @@ start_webtest(){
598632

599633
if [ "$array12" == "0" ];then
600634
case $array4 in
601-
2022-blake3-aes-128-gcm|2022-blake3-aes-256-gcm|2022-blake3-chacha20-poly1305) SS2022_webtest="Y";;
635+
2022-blake3-aes-128-gcm|2022-blake3-aes-256-gcm|2022-blake3-chacha20-poly1305|none) SS2022_webtest="Y";;
602636
*) SS2022_webtest="N";;
603637
esac
604638
fi

0 commit comments

Comments
 (0)