5 Commits
v1.0 ... 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
233boy
45b099168f fix url typo and remove err log menu 2024-05-30 14:50:01 +08:00
5 changed files with 40 additions and 28 deletions

View File

@@ -198,6 +198,7 @@ check_status() {
# dependent pkg install fail
[[ ! -f $is_pkg_ok ]] && {
msg err "安装依赖包失败"
msg err "请尝试手动安装依赖包: $cmd update -y; $cmd install -y $pkg"
is_fail=1
}

View File

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

View File

@@ -65,7 +65,7 @@ info_list=(
"指纹 (Fingerprint)"
"公钥 (Public key)"
"用户名 (Username)"
"跳过证书验证 (allowlnsecure)"
"跳过证书验证 (allowInsecure)"
"拥塞控制算法 (congestion_control)"
)
change_list=(
@@ -116,7 +116,7 @@ get_uuid() {
}
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
[[ ! $ip ]] && export "$(_wget -6 -qO- https://one.one.one.one/cdn-cgi/trace | grep ip=)" &>/dev/null
[[ ! $ip ]] && {
@@ -443,6 +443,7 @@ change() {
[[ $is_auto_get_config ]] && msg "\n自动选择: $is_config_file"
}
is_old_net=$net
[[ $is_tcp_http ]] && net=http
[[ $host ]] && net=$is_protocol-$net-tls
[[ $is_reality && $net_type =~ 'http' ]] && net=rh2
@@ -634,6 +635,8 @@ change() {
# delete config.
del() {
# dont get ip
is_dont_get_ip=1
[[ $is_conf_dir_empty ]] && return # not found any json file.
# get a config file
[[ ! $is_config_file ]] && get info $1
@@ -662,6 +665,7 @@ del() {
warn "当前配置目录为空! 因为你刚刚删除了最后一个配置文件."
is_conf_dir_empty=1
fi
unset is_dont_get_ip
[[ $is_dont_auto_exit ]] && unset is_config_file
}
@@ -923,7 +927,7 @@ add() {
fi
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
[[ $(is_test port_used 80) || $(is_test port_used 443) ]] && {
get_port
@@ -1066,9 +1070,9 @@ get() {
is_config_name=$is_config_file
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
[[ $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
get protocol $is_protocol-$net_type
fi
@@ -1290,6 +1294,7 @@ info() {
[[ $net == "http" ]] && {
net=tcp
is_type=http
is_tcp_http=1
is_info_show+=(5)
is_info_str=(${is_info_str[@]/http/tcp http})
}
@@ -1297,7 +1302,7 @@ info() {
is_insecure=1
is_info_show+=(8 9 20)
is_info_str+=(tls h3 true)
is_quic_add=",tls:\"tls\",alpn:\"h3\"" # cant add allowlnsecure
is_quic_add=",tls:\"tls\",alpn:\"h3\"" # cant add allowInsecure
}
is_vmess_url=$(jq -c "{v:2,ps:\"233boy-${net}-$is_addr\",add:\"$is_addr\",port:\"$port\",id:\"$uuid\",aid:\"0\",net:\"$net\",type:\"$is_type\"$is_quic_add}" <<<{})
is_url=vmess://$(echo -n $is_vmess_url | base64 -w 0)
@@ -1313,7 +1318,7 @@ info() {
is_insecure=1
is_can_change=(0 1 4)
is_info_show=(0 1 2 10 4 8 20)
is_url="$is_protocol://$password@$is_addr:$port?type=tcp&security=tls&allowlnsecure=1#233boy-$net-$is_addr"
is_url="$is_protocol://$password@$is_addr:$port?type=tcp&security=tls&allowInsecure=1#233boy-$net-$is_addr"
is_info_str=($is_protocol $is_addr $port $password tcp tls true)
;;
hy*)
@@ -1366,11 +1371,14 @@ info() {
fi
msg "$a $tt= \e[${is_color}m${is_info_str[$i]}\e[0m"
done
if [[ $is_new_install ]]; then
warn "首次安装请查看脚本帮助文档: $(msg_ul https://233boy.com/$is_core/$is_core-script/)"
fi
if [[ $is_url ]]; then
msg "------------- ${info_list[12]} -------------"
msg "\e[4;${is_color}m${is_url}\e[0m"
[[ $is_insecure ]] && {
warn "某些客户端如(V2rayN 等)导入URL需手动将: 跳过证书验证(allowlnsecure) 设置为 true, 或打开: 允许不安全的连接"
warn "某些客户端如(V2rayN 等)导入URL需手动将: 跳过证书验证(allowInsecure) 设置为 true, 或打开: 允许不安全的连接"
}
fi
if [[ $is_no_auto_tls ]]; then
@@ -1516,7 +1524,7 @@ is_main_menu() {
show_help
;;
9)
ask list is_do_other "启用BBR 查看日志 查看错误日志 测试运行 重装脚本 设置DNS"
ask list is_do_other "启用BBR 查看日志 测试运行 重装脚本 设置DNS"
case $REPLY in
1)
load bbr.sh
@@ -1526,15 +1534,12 @@ is_main_menu() {
get log
;;
3)
get logerr
;;
4)
get test-run
;;
5)
4)
get reinstall
;;
6)
5)
load dns.sh
dns_set
;;

View File

@@ -47,6 +47,17 @@ warn() {
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
cmd=$(type -P apt-get || type -P yum)
@@ -106,6 +117,12 @@ else
fi
if [[ -f $is_caddy_bin && -d $is_caddy_dir && $is_caddy_service ]]; then
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_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]+)
@@ -119,17 +136,6 @@ if [[ -f $is_caddy_bin && -d $is_caddy_dir && $is_caddy_service ]]; then
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
[[ ! $args ]] && args=main
main $args

View File

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