4 Commits
v1.01 ... v1.05

Author SHA1 Message Date
233boy
798d43ac47 del config dont get ip 2024-12-05 20:29:02 +08:00
233boy
09fd2df4ff fix tcp http bug err 2024-09-09 14:37:34 +08:00
233boy
596efd5659 add doc tips 2024-06-10 15:38:31 +08:00
233boy
3d942cf5c2 fix caddy run 2024-06-02 17:09:40 +08:00
5 changed files with 33 additions and 18 deletions

View File

@@ -198,6 +198,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"
is_fail=1 is_fail=1
} }

View File

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

View File

@@ -116,7 +116,7 @@ get_uuid() {
} }
get_ip() { get_ip() {
[[ $ip || $is_no_auto_tls || $is_gen ]] && return [[ $ip || $is_no_auto_tls || $is_gen || $is_dont_get_ip ]] && return
export "$(_wget -4 -qO- https://one.one.one.one/cdn-cgi/trace | grep ip=)" &>/dev/null export "$(_wget -4 -qO- https://one.one.one.one/cdn-cgi/trace | grep ip=)" &>/dev/null
[[ ! $ip ]] && export "$(_wget -6 -qO- https://one.one.one.one/cdn-cgi/trace | grep ip=)" &>/dev/null [[ ! $ip ]] && export "$(_wget -6 -qO- https://one.one.one.one/cdn-cgi/trace | grep ip=)" &>/dev/null
[[ ! $ip ]] && { [[ ! $ip ]] && {
@@ -443,6 +443,7 @@ change() {
[[ $is_auto_get_config ]] && msg "\n自动选择: $is_config_file" [[ $is_auto_get_config ]] && msg "\n自动选择: $is_config_file"
} }
is_old_net=$net is_old_net=$net
[[ $is_tcp_http ]] && net=http
[[ $host ]] && net=$is_protocol-$net-tls [[ $host ]] && net=$is_protocol-$net-tls
[[ $is_reality && $net_type =~ 'http' ]] && net=rh2 [[ $is_reality && $net_type =~ 'http' ]] && net=rh2
@@ -634,6 +635,8 @@ change() {
# delete config. # delete config.
del() { del() {
# dont get ip
is_dont_get_ip=1
[[ $is_conf_dir_empty ]] && return # not found any json file. [[ $is_conf_dir_empty ]] && return # not found any json file.
# get a config file # get a config file
[[ ! $is_config_file ]] && get info $1 [[ ! $is_config_file ]] && get info $1
@@ -662,6 +665,7 @@ del() {
warn "当前配置目录为空! 因为你刚刚删除了最后一个配置文件." warn "当前配置目录为空! 因为你刚刚删除了最后一个配置文件."
is_conf_dir_empty=1 is_conf_dir_empty=1
fi fi
unset is_dont_get_ip
[[ $is_dont_auto_exit ]] && unset is_config_file [[ $is_dont_auto_exit ]] && unset is_config_file
} }
@@ -923,7 +927,7 @@ add() {
fi fi
if [[ $is_use_tls ]]; then if [[ $is_use_tls ]]; then
if [[ ! $is_no_auto_tls && ! $is_caddy && ! $is_gen ]]; then if [[ ! $is_no_auto_tls && ! $is_caddy && ! $is_gen && ! $is_dont_test_host ]]; then
# test auto tls # test auto tls
[[ $(is_test port_used 80) || $(is_test port_used 443) ]] && { [[ $(is_test port_used 80) || $(is_test port_used 443) ]] && {
get_port get_port
@@ -1066,9 +1070,9 @@ get() {
is_config_name=$is_config_file is_config_name=$is_config_file
if [[ $is_caddy && $host && -f $is_caddy_conf/$host.conf ]]; then if [[ $is_caddy && $host && -f $is_caddy_conf/$host.conf ]]; then
tmp_tlsport=$(egrep -o "$host:[1-9][0-9]?+" $is_caddy_conf/$host.conf | sed s/.*://) is_tmp_https_port=$(egrep -o "$host:[1-9][0-9]?+" $is_caddy_conf/$host.conf | sed s/.*://)
fi fi
[[ $tmp_tlsport ]] && is_https_port=$tmp_tlsport [[ $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
fi fi
@@ -1290,6 +1294,7 @@ info() {
[[ $net == "http" ]] && { [[ $net == "http" ]] && {
net=tcp net=tcp
is_type=http is_type=http
is_tcp_http=1
is_info_show+=(5) is_info_show+=(5)
is_info_str=(${is_info_str[@]/http/tcp http}) is_info_str=(${is_info_str[@]/http/tcp http})
} }
@@ -1366,6 +1371,9 @@ info() {
fi fi
msg "$a $tt= \e[${is_color}m${is_info_str[$i]}\e[0m" msg "$a $tt= \e[${is_color}m${is_info_str[$i]}\e[0m"
done done
if [[ $is_new_install ]]; then
warn "首次安装请查看脚本帮助文档: $(msg_ul https://233boy.com/$is_core/$is_core-script/)"
fi
if [[ $is_url ]]; then if [[ $is_url ]]; then
msg "------------- ${info_list[12]} -------------" msg "------------- ${info_list[12]} -------------"
msg "\e[4;${is_color}m${is_url}\e[0m" msg "\e[4;${is_color}m${is_url}\e[0m"

View File

@@ -47,6 +47,17 @@ warn() {
echo -e "\n$is_warn $@\n" echo -e "\n$is_warn $@\n"
} }
# load bash script.
load() {
. $is_sh_dir/src/$1
}
# wget add --no-check-certificate
_wget() {
# [[ $proxy ]] && export https_proxy=$proxy
wget --no-check-certificate "$@"
}
# yum or apt-get # yum or apt-get
cmd=$(type -P apt-get || type -P yum) cmd=$(type -P apt-get || type -P yum)
@@ -106,6 +117,12 @@ else
fi fi
if [[ -f $is_caddy_bin && -d $is_caddy_dir && $is_caddy_service ]]; then if [[ -f $is_caddy_bin && -d $is_caddy_dir && $is_caddy_service ]]; then
is_caddy=1 is_caddy=1
# fix caddy run; ver >= 2.8.2
[[ ! $(grep '\-\-adapter caddyfile' /lib/systemd/system/caddy.service) ]] && {
load systemd.sh
install_service caddy
systemctl restart caddy &
}
is_caddy_ver=$($is_caddy_bin version | head -n1 | cut -d " " -f1) is_caddy_ver=$($is_caddy_bin version | head -n1 | cut -d " " -f1)
is_tmp_http_port=$(egrep '^ {2,}http_port|^http_port' $is_caddyfile | egrep -o [0-9]+) is_tmp_http_port=$(egrep '^ {2,}http_port|^http_port' $is_caddyfile | egrep -o [0-9]+)
is_tmp_https_port=$(egrep '^ {2,}https_port|^https_port' $is_caddyfile | egrep -o [0-9]+) is_tmp_https_port=$(egrep '^ {2,}https_port|^https_port' $is_caddyfile | egrep -o [0-9]+)
@@ -119,17 +136,6 @@ if [[ -f $is_caddy_bin && -d $is_caddy_dir && $is_caddy_service ]]; then
fi fi
fi fi
# load bash script.
load() {
. $is_sh_dir/src/$1
}
# wget add --no-check-certificate
_wget() {
# [[ $proxy ]] && export https_proxy=$proxy
wget --no-check-certificate "$@"
}
load core.sh load core.sh
[[ ! $args ]] && args=main [[ ! $args ]] && args=main
main $args main $args

View File

@@ -38,8 +38,8 @@ Requires=network-online.target
Type=notify Type=notify
User=root User=root
Group=root Group=root
ExecStart=$is_caddy_bin run --environ --config $is_caddyfile ExecStart=$is_caddy_bin run --environ --config $is_caddyfile --adapter caddyfile
ExecReload=$is_caddy_bin reload --config $is_caddyfile ExecReload=$is_caddy_bin reload --config $is_caddyfile --adapter caddyfile
TimeoutStopSec=5s TimeoutStopSec=5s
LimitNPROC=10000 LimitNPROC=10000
LimitNOFILE=1048576 LimitNOFILE=1048576