@@ -70,6 +70,8 @@ SOCKS_FLAG=0
70
70
# ssconf_basic_fingerprint_
71
71
# ssconf_basic_naive_protocol_
72
72
# ssconf_basic_naive_user_
73
+ # ssconf_basic_xray_publicKey_
74
+ # ssconf_basic_xray_shortId_
73
75
# ==============================
74
76
75
77
set_lock (){
@@ -950,6 +952,9 @@ get_vless_config(){
950
952
v2ray_host=$( echo " $decode_link " | tr ' ?&#' ' \n' | grep ' host=' | awk -F' =' ' {print $2}' )
951
953
v2ray_tlshost=$( echo " $decode_link " | tr ' ?&#' ' \n' | grep ' sni=' | awk -F' =' ' {print $2}' )
952
954
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}' )
953
958
# 把全部服务器节点编码后写入文件 /usr/share/shadowsocks/serverconfig/all_onlineservers
954
959
[ -n " $vless_group " ] && group_base64=` echo $vless_group | base64_encode | sed ' s/ -//g' `
955
960
[ -n " $v2ray_add " ] && server_base64=` echo $v2ray_add | base64_encode | sed ' s/ -//g' `
@@ -997,15 +1002,28 @@ add_vless_servers(){
997
1002
dbus set ssconf_basic_v2ray_uuid_$v2rayindex =$v2ray_id
998
1003
dbus set ssconf_basic_v2ray_network_security_$v2rayindex =$v2ray_tls
999
1004
dbus set ssconf_basic_v2ray_network_$v2rayindex =$v2ray_net
1000
-
1005
+ [ -n " $fingerprint " ] && dbus set ssconf_basic_fingerprint_$v2rayindex =$fingerprint
1006
+
1001
1007
[ -n " $v2ray_tlshost " ] && dbus set ssconf_basic_v2ray_network_tlshost_$v2rayindex =$v2ray_tlshost
1002
1008
1003
1009
case $v2ray_net in
1004
1010
tcp)
1005
1011
# tcp协议设置【 tcp伪装类型 (type)】和【tls/xtls域名 (SNI)】
1006
1012
# tcp + xtls 会比较多,别的组合不熟悉
1007
1013
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
1009
1027
1010
1028
# @@ 不确定这个变量是否需要添加
1011
1029
# [ -n "$v2ray_host" ] && dbus set ssconf_basic_v2ray_network_host_$v2rayindex=$v2ray_host
@@ -1056,14 +1074,20 @@ update_vless_config(){
1056
1074
[ " $local_v2ray_net " != " $v2ray_net " ] && dbus set ssconf_basic_v2ray_network_$index =$v2ray_net && let i+=1
1057
1075
local_v2ray_tlshost=$( dbus get ssconf_basic_v2ray_network_tlshost_$index )
1058
1076
[ " $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
+
1060
1080
case $local_v2ray_net in
1061
1081
tcp)
1062
1082
# tcp协议
1063
1083
local_v2ray_type=$( dbus get ssconf_basic_v2ray_headtype_tcp_$index )
1064
1084
[ " $local_v2ray_type " != " $v2ray_type " ] && dbus set ssconf_basic_v2ray_headtype_tcp_$index =$v2ray_type && let i+=1
1065
1085
local_v2ray_flow=$( dbus get ssconf_basic_v2ray_network_flow_$index )
1066
1086
[ " $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
1067
1091
1068
1092
# local_v2ray_host=$(dbus get ssconf_basic_v2ray_network_host_$index)
1069
1093
# [ "$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(){
1124
1148
v2ray_path=$( echo " $decode_link " | tr ' ?&#' ' \n' | grep ' path=' | awk -F' =' ' {print $2}' )
1125
1149
v2ray_host=$( echo " $decode_link " | tr ' ?&#' ' \n' | grep ' host=' | awk -F' =' ' {print $2}' )
1126
1150
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}' )
1127
1152
binary=" Trojan-Go"
1128
- fingerprint= " none "
1153
+
1129
1154
# 20201024---
1130
1155
ss_kcp_support_tmp=" 0"
1131
1156
ss_udp_support_tmp=" 0"
@@ -1344,7 +1369,8 @@ del_none_exist(){
1344
1369
dbus remove ssconf_basic_weight_$localindex
1345
1370
dbus remove ssconf_basic_naive_protocol_$localindex
1346
1371
dbus remove ssconf_basic_naive_user_$localindex
1347
-
1372
+ dbus remove ssconf_basic_xray_publicKey_$localindex
1373
+ dbus remove ssconf_basic_xray_shortId_$localindex
1348
1374
let delnum+=1
1349
1375
fi
1350
1376
done
@@ -1428,7 +1454,9 @@ remove_node_gap(){
1428
1454
[ -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
1429
1455
[ -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
1430
1456
[ -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
+
1432
1460
usleep 100000
1433
1461
# change node nu
1434
1462
if [ " $nu " == " $ssconf_basic_node " ]; then
@@ -1767,6 +1795,8 @@ start_update(){
1767
1795
dbus remove ssconf_basic_weight_$conf_nu
1768
1796
dbus remove ssconf_basic_naive_protocol_$conf_nu
1769
1797
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
1770
1800
done
1771
1801
# 删除不再订阅节点的group信息
1772
1802
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(){
1928
1958
dbus remove ssconf_basic_weight_$remove_nu
1929
1959
dbus remove ssconf_basic_naive_protocol_$remove_nu
1930
1960
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
1931
1963
done
1932
1964
}
1933
1965
0 commit comments