mirror of
https://github.com/233boy/sing-box.git
synced 2026-05-03 14:24:40 +08:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
596efd5659 | ||
|
|
3d942cf5c2 | ||
|
|
45b099168f |
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
args=$@
|
args=$@
|
||||||
is_sh_ver=v1.0
|
is_sh_ver=v1.03
|
||||||
|
|
||||||
. /etc/sing-box/sh/src/init.sh
|
. /etc/sing-box/sh/src/init.sh
|
||||||
26
src/core.sh
26
src/core.sh
@@ -65,7 +65,7 @@ info_list=(
|
|||||||
"指纹 (Fingerprint)"
|
"指纹 (Fingerprint)"
|
||||||
"公钥 (Public key)"
|
"公钥 (Public key)"
|
||||||
"用户名 (Username)"
|
"用户名 (Username)"
|
||||||
"跳过证书验证 (allowlnsecure)"
|
"跳过证书验证 (allowInsecure)"
|
||||||
"拥塞控制算法 (congestion_control)"
|
"拥塞控制算法 (congestion_control)"
|
||||||
)
|
)
|
||||||
change_list=(
|
change_list=(
|
||||||
@@ -923,7 +923,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 +1066,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
|
||||||
@@ -1297,7 +1297,7 @@ info() {
|
|||||||
is_insecure=1
|
is_insecure=1
|
||||||
is_info_show+=(8 9 20)
|
is_info_show+=(8 9 20)
|
||||||
is_info_str+=(tls h3 true)
|
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_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)
|
is_url=vmess://$(echo -n $is_vmess_url | base64 -w 0)
|
||||||
@@ -1313,7 +1313,7 @@ info() {
|
|||||||
is_insecure=1
|
is_insecure=1
|
||||||
is_can_change=(0 1 4)
|
is_can_change=(0 1 4)
|
||||||
is_info_show=(0 1 2 10 4 8 20)
|
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)
|
is_info_str=($is_protocol $is_addr $port $password tcp tls true)
|
||||||
;;
|
;;
|
||||||
hy*)
|
hy*)
|
||||||
@@ -1366,11 +1366,14 @@ 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"
|
||||||
[[ $is_insecure ]] && {
|
[[ $is_insecure ]] && {
|
||||||
warn "某些客户端如(V2rayN 等)导入URL需手动将: 跳过证书验证(allowlnsecure) 设置为 true, 或打开: 允许不安全的连接"
|
warn "某些客户端如(V2rayN 等)导入URL需手动将: 跳过证书验证(allowInsecure) 设置为 true, 或打开: 允许不安全的连接"
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
if [[ $is_no_auto_tls ]]; then
|
if [[ $is_no_auto_tls ]]; then
|
||||||
@@ -1516,7 +1519,7 @@ is_main_menu() {
|
|||||||
show_help
|
show_help
|
||||||
;;
|
;;
|
||||||
9)
|
9)
|
||||||
ask list is_do_other "启用BBR 查看日志 查看错误日志 测试运行 重装脚本 设置DNS"
|
ask list is_do_other "启用BBR 查看日志 测试运行 重装脚本 设置DNS"
|
||||||
case $REPLY in
|
case $REPLY in
|
||||||
1)
|
1)
|
||||||
load bbr.sh
|
load bbr.sh
|
||||||
@@ -1526,15 +1529,12 @@ is_main_menu() {
|
|||||||
get log
|
get log
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
get logerr
|
|
||||||
;;
|
|
||||||
4)
|
|
||||||
get test-run
|
get test-run
|
||||||
;;
|
;;
|
||||||
5)
|
4)
|
||||||
get reinstall
|
get reinstall
|
||||||
;;
|
;;
|
||||||
6)
|
5)
|
||||||
load dns.sh
|
load dns.sh
|
||||||
dns_set
|
dns_set
|
||||||
;;
|
;;
|
||||||
|
|||||||
28
src/init.sh
28
src/init.sh
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user