8 Commits
v1.11 ... v1.15

Author SHA1 Message Date
233boy
03e905e79d fix sb dns 2026-03-02 10:37:38 +08:00
233boy
2d94cc34f9 Merge pull request #102 from Araputa/main
add zypper support for SUSE
2026-01-17 21:34:46 +08:00
Araputa
e97302b57a add zypper support for SUSE 2026-01-17 00:20:02 +08:00
233boy
3750157987 fix del alias 2026-01-15 08:49:54 +08:00
233boy
7c9622df74 fix install pkg tips 2025-10-13 16:28:06 +08:00
233boy
4ebcb332bc fix log display in UI
Merge pull request #80 from Roddy-D/main
2025-10-12 10:21:14 +08:00
dhd2333
62c5871ddc fix log display in UI 2025-10-11 13:32:23 -04:00
233boy
93d550ace3 fix sb dns 2025-08-05 13:07:15 +08:00
5 changed files with 44 additions and 13 deletions

View File

@@ -34,9 +34,9 @@ warn() {
# root # root
[[ $EUID != 0 ]] && err "当前非 ${yellow}ROOT用户.${none}" [[ $EUID != 0 ]] && err "当前非 ${yellow}ROOT用户.${none}"
# yum or apt-get, ubuntu/debian/centos # apt-get, yum or zypper, ubuntu/debian/centos/suse
cmd=$(type -P apt-get || type -P yum) cmd=$(type -P apt-get || type -P yum || type -P zypper)
[[ ! $cmd ]] && err "此脚本仅支持 ${yellow}(Ubuntu or Debian or CentOS)${none}." [[ ! $cmd ]] && err "此脚本仅支持 ${yellow}(Ubuntu or Debian or CentOS or SUSE)${none}."
# systemd # systemd
[[ ! $(type -P systemctl) ]] && { [[ ! $(type -P systemctl) ]] && {
@@ -144,7 +144,11 @@ install_pkg() {
$cmd install -y $pkg &>/dev/null $cmd install -y $pkg &>/dev/null
if [[ $? != 0 ]]; then if [[ $? != 0 ]]; then
[[ $cmd =~ yum ]] && yum install epel-release -y &>/dev/null [[ $cmd =~ yum ]] && yum install epel-release -y &>/dev/null
$cmd update -y &>/dev/null if [[ $cmd =~ zypper ]]; then
$cmd --non-interactive refresh &>/dev/null
else
$cmd update -y &>/dev/null
fi
$cmd install -y $pkg &>/dev/null $cmd install -y $pkg &>/dev/null
[[ $? == 0 ]] && >$is_pkg_ok [[ $? == 0 ]] && >$is_pkg_ok
else else
@@ -198,7 +202,7 @@ check_status() {
# dependent pkg install fail # dependent pkg install fail
[[ ! -f $is_pkg_ok ]] && { [[ ! -f $is_pkg_ok ]] && {
msg err "安装依赖包失败" msg err "安装依赖包失败"
msg err "请尝试手动安装依赖包: $cmd update -y; $cmd install -y $pkg" msg err "请尝试手动安装依赖包: $cmd update -y; $cmd install -y $is_pkg"
is_fail=1 is_fail=1
} }

View File

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

View File

@@ -680,7 +680,7 @@ uninstall() {
manage stop &>/dev/null manage stop &>/dev/null
manage disable &>/dev/null manage disable &>/dev/null
rm -rf $is_core_dir $is_log_dir $is_sh_bin ${is_sh_bin/$is_core/sb} /lib/systemd/system/$is_core.service rm -rf $is_core_dir $is_log_dir $is_sh_bin ${is_sh_bin/$is_core/sb} /lib/systemd/system/$is_core.service
sed -i "/alias $is_core=/d" /root/.bashrc sed -i "/$is_core/d" /root/.bashrc
# uninstall caddy; 2 is ask result # uninstall caddy; 2 is ask result
if [[ $REPLY == '2' ]]; then if [[ $REPLY == '2' ]]; then
manage stop caddy &>/dev/null manage stop caddy &>/dev/null
@@ -1536,7 +1536,8 @@ is_main_menu() {
_try_enable_bbr _try_enable_bbr
;; ;;
2) 2)
get log load log.sh
log_set
;; ;;
3) 3)
get test-run get test-run

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={}|del(.route.default_domain_resolver)' $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=[{tag:"dns",type:"'$is_dns_type'",server:"'$is_dns_use'",domain_resolver:"local"},{tag:"local",type:"local"}]|.route.default_domain_resolver="dns"' $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
} }

View File

@@ -58,8 +58,8 @@ _wget() {
wget --no-check-certificate "$@" wget --no-check-certificate "$@"
} }
# yum or apt-get # apt-get, yum or zypper
cmd=$(type -P apt-get || type -P yum) cmd=$(type -P apt-get || type -P yum || type -P zypper)
# x64 # x64
case $(arch) in case $(arch) in