mirror of
https://github.com/233boy/sing-box.git
synced 2026-05-03 06:14:41 +08:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03e905e79d | ||
|
|
2d94cc34f9 | ||
|
|
e97302b57a | ||
|
|
3750157987 | ||
|
|
7c9622df74 | ||
|
|
4ebcb332bc | ||
|
|
62c5871ddc | ||
|
|
93d550ace3 |
14
install.sh
14
install.sh
@@ -34,9 +34,9 @@ warn() {
|
||||
# root
|
||||
[[ $EUID != 0 ]] && err "当前非 ${yellow}ROOT用户.${none}"
|
||||
|
||||
# yum or apt-get, ubuntu/debian/centos
|
||||
cmd=$(type -P apt-get || type -P yum)
|
||||
[[ ! $cmd ]] && err "此脚本仅支持 ${yellow}(Ubuntu or Debian or CentOS)${none}."
|
||||
# apt-get, yum or zypper, ubuntu/debian/centos/suse
|
||||
cmd=$(type -P apt-get || type -P yum || type -P zypper)
|
||||
[[ ! $cmd ]] && err "此脚本仅支持 ${yellow}(Ubuntu or Debian or CentOS or SUSE)${none}."
|
||||
|
||||
# systemd
|
||||
[[ ! $(type -P systemctl) ]] && {
|
||||
@@ -144,7 +144,11 @@ install_pkg() {
|
||||
$cmd install -y $pkg &>/dev/null
|
||||
if [[ $? != 0 ]]; then
|
||||
[[ $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
|
||||
[[ $? == 0 ]] && >$is_pkg_ok
|
||||
else
|
||||
@@ -198,7 +202,7 @@ check_status() {
|
||||
# dependent pkg install fail
|
||||
[[ ! -f $is_pkg_ok ]] && {
|
||||
msg err "安装依赖包失败"
|
||||
msg err "请尝试手动安装依赖包: $cmd update -y; $cmd install -y $pkg"
|
||||
msg err "请尝试手动安装依赖包: $cmd update -y; $cmd install -y $is_pkg"
|
||||
is_fail=1
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
args=$@
|
||||
is_sh_ver=v1.11
|
||||
is_sh_ver=v1.15
|
||||
|
||||
. /etc/sing-box/sh/src/init.sh
|
||||
@@ -680,7 +680,7 @@ uninstall() {
|
||||
manage stop &>/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
|
||||
sed -i "/alias $is_core=/d" /root/.bashrc
|
||||
sed -i "/$is_core/d" /root/.bashrc
|
||||
# uninstall caddy; 2 is ask result
|
||||
if [[ $REPLY == '2' ]]; then
|
||||
manage stop caddy &>/dev/null
|
||||
@@ -1536,7 +1536,8 @@ is_main_menu() {
|
||||
_try_enable_bbr
|
||||
;;
|
||||
2)
|
||||
get log
|
||||
load log.sh
|
||||
log_set
|
||||
;;
|
||||
3)
|
||||
get test-run
|
||||
|
||||
32
src/dns.sh
32
src/dns.sh
@@ -8,6 +8,9 @@ is_dns_list=(
|
||||
none
|
||||
)
|
||||
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
|
||||
case ${1,,} in
|
||||
11 | 1111)
|
||||
@@ -46,11 +49,34 @@ dns_set() {
|
||||
ask string is_dns_use "请输入 DNS: "
|
||||
fi
|
||||
fi
|
||||
is_dns_use_bak=$is_dns_use
|
||||
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
|
||||
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
|
||||
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
|
||||
}
|
||||
@@ -58,8 +58,8 @@ _wget() {
|
||||
wget --no-check-certificate "$@"
|
||||
}
|
||||
|
||||
# yum or apt-get
|
||||
cmd=$(type -P apt-get || type -P yum)
|
||||
# apt-get, yum or zypper
|
||||
cmd=$(type -P apt-get || type -P yum || type -P zypper)
|
||||
|
||||
# x64
|
||||
case $(arch) in
|
||||
|
||||
Reference in New Issue
Block a user