3 Commits
v1.09 ... v1.12

Author SHA1 Message Date
233boy
93d550ace3 fix sb dns 2025-08-05 13:07:15 +08:00
233boy
a6c37635fe fix ss2022 key err 2025-08-01 22:52:17 +08:00
233boy
872b8a397a fix no-auto-tls err 2025-07-30 12:56:20 +08:00
3 changed files with 40 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
args=$@ args=$@
is_sh_ver=v1.09 is_sh_ver=v1.12
. /etc/sing-box/sh/src/init.sh . /etc/sing-box/sh/src/init.sh

View File

@@ -467,7 +467,7 @@ change() {
1) 1)
# new port # new port
is_new_port=$3 is_new_port=$3
[[ $host && ! $is_caddy ]] && err "($is_config_file) 不支持更改端口, 因为没啥意义." [[ $host && ! $is_caddy || $is_no_auto_tls ]] && err "($is_config_file) 不支持更改端口, 因为没啥意义."
if [[ $is_new_port && ! $is_auto ]]; then if [[ $is_new_port && ! $is_auto ]]; then
[[ ! $(is_test port $is_new_port) ]] && err "请输入正确的端口, 可选(1-65535)" [[ ! $(is_test port $is_new_port) ]] && err "请输入正确的端口, 可选(1-65535)"
[[ $is_new_port != 443 && $(is_test port_used $is_new_port) ]] && err "无法使用 ($is_new_port) 端口" [[ $is_new_port != 443 && $(is_test port_used $is_new_port) ]] && err "无法使用 ($is_new_port) 端口"
@@ -655,7 +655,7 @@ del() {
[[ ! $old_host ]] && return # no host exist or not set new host; [[ ! $old_host ]] && return # no host exist or not set new host;
is_del_host=$old_host is_del_host=$old_host
} }
[[ $is_del_host && $host != $old_host ]] && { [[ $is_del_host && $host != $old_host && -f $is_caddy_conf/$is_del_host.conf ]] && {
rm -rf $is_caddy_conf/$is_del_host.conf $is_caddy_conf/$is_del_host.conf.add rm -rf $is_caddy_conf/$is_del_host.conf $is_caddy_conf/$is_del_host.conf.add
[[ ! $is_new_json ]] && manage restart caddy & [[ ! $is_new_json ]] && manage restart caddy &
} }
@@ -849,7 +849,7 @@ add() {
case $is_old_net in case $is_old_net in
h2 | ws | httpupgrade) h2 | ws | httpupgrade)
old_host=$host old_host=$host
[[ ! $is_use_tls ]] && host= [[ ! $is_use_tls ]] && unset host is_no_auto_tls
;; ;;
reality) reality)
net_type= net_type=
@@ -1073,6 +1073,9 @@ get() {
if [[ $is_caddy && $host && -f $is_caddy_conf/$host.conf ]]; then if [[ $is_caddy && $host && -f $is_caddy_conf/$host.conf ]]; then
is_tmp_https_port=$(grep -E -o "$host:[1-9][0-9]?+" $is_caddy_conf/$host.conf | sed s/.*://) is_tmp_https_port=$(grep -E -o "$host:[1-9][0-9]?+" $is_caddy_conf/$host.conf | sed s/.*://)
fi fi
if [[ $host && ! -f $is_caddy_conf/$host.conf ]]; then
is_no_auto_tls=1
fi
[[ $is_tmp_https_port ]] && is_https_port=$is_tmp_https_port [[ $is_tmp_https_port ]] && is_https_port=$is_tmp_https_port
[[ $is_client && $host ]] && port=$is_https_port [[ $is_client && $host ]] && port=$is_https_port
get protocol $is_protocol-$net_type get protocol $is_protocol-$net_type
@@ -1196,7 +1199,11 @@ get() {
fi fi
;; ;;
ssss | ss2022) ssss | ss2022)
$is_core_bin generate rand 32 --base64 if [[ $(grep 128 <<<$ss_method) ]]; then
$is_core_bin generate rand 16 --base64
else
$is_core_bin generate rand 32 --base64
fi
;; ;;
ping) ping)
# is_ip_type="-4" # is_ip_type="-4"

View File

@@ -8,6 +8,9 @@ is_dns_list=(
none none
) )
dns_set() { dns_set() {
if [[ $(echo -e "1.11.99\n$is_core_ver" | sort -V | head -n1) == '1.11.99' ]]; then
is_dns_new=1
fi
if [[ $1 ]]; then if [[ $1 ]]; then
case ${1,,} in case ${1,,} in
11 | 1111) 11 | 1111)
@@ -46,11 +49,34 @@ dns_set() {
ask string is_dns_use "请输入 DNS: " ask string is_dns_use "请输入 DNS: "
fi fi
fi fi
is_dns_use_bak=$is_dns_use
if [[ $is_dns_use == "none" ]]; then if [[ $is_dns_use == "none" ]]; then
cat <<<$(jq '.dns={}' $is_config_json) >$is_config_json cat <<<$(jq '.dns={}' $is_config_json) >$is_config_json
else else
cat <<<$(jq '.dns.servers=[{address:"'$is_dns_use'",address_resolver:"local"},{tag:"local",address:"local"}]' $is_config_json) >$is_config_json if [[ $is_dns_new ]]; then
dns_set_server $is_dns_use
cat <<<$(jq '.dns.servers=[{type:"'$is_dns_type'",server:"'$is_dns_use'",domain_resolver:"local"},{tag:"local",type:"local"}]' $is_config_json) >$is_config_json
else
cat <<<$(jq '.dns.servers=[{address:"'$is_dns_use'",address_resolver:"local"},{tag:"local",address:"local"}]' $is_config_json) >$is_config_json
fi
fi fi
manage restart & manage restart &
msg "\n已更新 DNS 为: $(_green $is_dns_use)\n" msg "\n已更新 DNS 为: $(_green $is_dns_use_bak)\n"
}
dns_set_server() {
if [[ $(grep '://' <<<$1) ]]; then
is_tmp_dns_set=($(awk -F '://|/' '{print $1, $2}' <<<${1,,}))
case ${is_tmp_dns_set[0]} in
tcp | udp | tls | https | quic | h3)
is_dns_use=${is_tmp_dns_set[1]}
is_dns_type=${is_tmp_dns_set[0]}
;;
*)
err "无法识别 DNS 类型!"
;;
esac
else
is_dns_use=$1
is_dns_type=udp
fi
} }