4 Commits
v1.04 ... v1.08

Author SHA1 Message Date
233boy
1eace3153c fix ipv6 err 2025-05-22 10:26:10 +08:00
233boy
9cf5655ac5 remove block 2025-04-24 12:52:13 +08:00
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
3 changed files with 16 additions and 9 deletions

View File

@@ -125,7 +125,7 @@ show_help() {
echo -e "Usage: $0 [-f xxx | -l | -p xxx | -v xxx | -h]" echo -e "Usage: $0 [-f xxx | -l | -p xxx | -v xxx | -h]"
echo -e " -f, --core-file <path> 自定义 $is_core_name 文件路径, e.g., -f /root/$is_core-linux-amd64.tar.gz" echo -e " -f, --core-file <path> 自定义 $is_core_name 文件路径, e.g., -f /root/$is_core-linux-amd64.tar.gz"
echo -e " -l, --local-install 本地获取安装脚本, 使用当前目录" echo -e " -l, --local-install 本地获取安装脚本, 使用当前目录"
echo -e " -p, --proxy <addr> 使用代理下载, e.g., -p http://127.0.0.1:2333 or -p socks5://127.0.0.1:2333" echo -e " -p, --proxy <addr> 使用代理下载, e.g., -p http://127.0.0.1:2333"
echo -e " -v, --core-version <ver> 自定义 $is_core_name 版本, e.g., -v v1.8.13" echo -e " -v, --core-version <ver> 自定义 $is_core_name 版本, e.g., -v v1.8.13"
echo -e " -h, --help 显示此帮助界面\n" echo -e " -h, --help 显示此帮助界面\n"
@@ -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.04 is_sh_ver=v1.08
. /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 ]] && {
@@ -369,7 +369,7 @@ create() {
else else
[[ ! $is_ntp_on ]] && is_ntp= [[ ! $is_ntp_on ]] && is_ntp=
fi fi
is_outbounds='outbounds:[{tag:"direct",type:"direct"},{tag:"block",type:"block"}]' is_outbounds='outbounds:[{tag:"direct",type:"direct"}]'
is_server_config_json=$(jq "{$is_log,$is_dns,$is_ntp$is_outbounds}" <<<{}) is_server_config_json=$(jq "{$is_log,$is_dns,$is_ntp$is_outbounds}" <<<{})
cat <<<$is_server_config_json >$is_config_json cat <<<$is_server_config_json >$is_config_json
manage restart & manage restart &
@@ -635,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
@@ -663,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
} }
@@ -1019,6 +1022,7 @@ get() {
[[ ! $is_addr ]] && { [[ ! $is_addr ]] && {
get_ip get_ip
is_addr=$ip is_addr=$ip
[[ $(grep ":" <<<$ip) ]] && is_addr="[$ip]"
} }
;; ;;
new) new)
@@ -1091,6 +1095,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*)
@@ -1326,10 +1332,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
@@ -1343,7 +1349,7 @@ info() {
is_info_show=(${is_info_show[@]/15/}) is_info_show=(${is_info_show[@]/15/})
} }
is_info_str=($is_protocol $is_addr $port $uuid $is_flow $is_net_type reality $is_servername chrome $is_public_key) is_info_str=($is_protocol $is_addr $port $uuid $is_flow $is_net_type reality $is_servername chrome $is_public_key)
is_url="$is_protocol://$uuid@$ip:$port?encryption=none&security=reality&flow=$is_flow&type=$is_net_type&sni=$is_servername&pbk=$is_public_key&fp=chrome#233boy-$net-$is_addr" is_url="$is_protocol://$uuid@$is_addr:$port?encryption=none&security=reality&flow=$is_flow&type=$is_net_type&sni=$is_servername&pbk=$is_public_key&fp=chrome#233boy-$net-$is_addr"
;; ;;
direct) direct)
is_can_change=(0 1 7 8) is_can_change=(0 1 7 8)