4 Commits
v1.02 ... v1.06

Author SHA1 Message Date
233boy
3909d2edaf tuic add password args 2025-04-16 11:21:19 +08:00
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
3 changed files with 20 additions and 9 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.02 is_sh_ver=v1.06
. /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
@@ -1090,6 +1094,8 @@ get() {
tuic*) tuic*)
net=tuic net=tuic
is_protocol=$net is_protocol=$net
[[ ! $password ]] && password=$uuid
is_users="users:[{uuid:\"$uuid\",password:\"$password\"}]"
json_str="$is_users,congestion_control:\"bbr\",$is_tls_json" json_str="$is_users,congestion_control:\"bbr\",$is_tls_json"
;; ;;
trojan*) trojan*)
@@ -1290,6 +1296,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})
} }
@@ -1324,10 +1331,10 @@ info() {
;; ;;
tuic) tuic)
is_insecure=1 is_insecure=1
is_can_change=(0 1 5) is_can_change=(0 1 4 5)
is_info_show=(0 1 2 3 8 9 20 21) is_info_show=(0 1 2 3 10 8 9 20 21)
is_url="$is_protocol://$uuid:@$is_addr:$port?alpn=h3&allow_insecure=1&congestion_control=bbr#233boy-$net-$is_addr" is_url="$is_protocol://$uuid:$password@$is_addr:$port?alpn=h3&allow_insecure=1&congestion_control=bbr#233boy-$net-$is_addr"
is_info_str=($is_protocol $is_addr $port $uuid tls h3 true bbr) is_info_str=($is_protocol $is_addr $port $uuid $password tls h3 true bbr)
;; ;;
reality) reality)
is_color=41 is_color=41
@@ -1366,6 +1373,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"