From 9795b9ffcd39a317fc038477b413af38a55c3d03 Mon Sep 17 00:00:00 2001 From: fscarmen <62703343+fscarmen@users.noreply.github.com> Date: Thu, 27 Mar 2025 06:02:02 +0000 Subject: [PATCH] Update config file describe. --- README.md | 18 ++++++------- config | 15 ----------- config.conf | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sing-box.sh | 17 ++++++++---- 4 files changed, 97 insertions(+), 29 deletions(-) delete mode 100644 config create mode 100644 config.conf diff --git a/README.md b/README.md index 8e170db..199ee59 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ sb ## 4.无交互极速安装: ### 方式1. KV 配置文件,内容参照本库里的 config ``` -bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh) -f config +bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh) -f config.conf ``` ### 方式2. KV 传参,举例 @@ -156,7 +156,7 @@ bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-b --START_PORT 8881 \ --PORT_NGINX 60000 \ --SERVER_IP 123.123.123.123 \ - --CDN dash.cloudflare.com \ + --CDN skk.moe\ --VMESS_HOST_DOMAIN vmess.test.com \ --VLESS_HOST_DOMAIN vless.test.com \ --UUID_CONFIRM 20f7fca4-86e5-4ddf-9eed-24142073d197 \ @@ -178,7 +178,7 @@ bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-b --START_PORT 8881 \ --PORT_NGINX 60000 \ --SERVER_IP 123.123.123.123 \ - --CDN dash.cloudflare.com \ + --CDN skk.moe\ --VMESS_HOST_DOMAIN vmess.test.com \ --VLESS_HOST_DOMAIN vless.test.com \ --UUID_CONFIRM 20f7fca4-86e5-4ddf-9eed-24142073d197 \ @@ -198,7 +198,7 @@ bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-b --START_PORT 8881 \ --PORT_NGINX 60000 \ --SERVER_IP 123.123.123.123 \ - --CDN dash.cloudflare.com \ + --CDN skk.moe\ --UUID_CONFIRM 20f7fca4-86e5-4ddf-9eed-24142073d197 \ --SUBSCRIBE=true \ --ARGO=true \ @@ -218,7 +218,7 @@ bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-b --START_PORT 8881 \ --PORT_NGINX 60000 \ --SERVER_IP 123.123.123.123 \ - --CDN dash.cloudflare.com \ + --CDN skk.moe\ --UUID_CONFIRM 20f7fca4-86e5-4ddf-9eed-24142073d197 \ --ARGO=true \ --PORT_HOPPING_RANGE 50000:51000 \ @@ -237,7 +237,7 @@ bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-b --START_PORT 8881 \ --PORT_NGINX 60000 \ --SERVER_IP 123.123.123.123 \ - --CDN dash.cloudflare.com \ + --CDN skk.moe\ --UUID_CONFIRM 20f7fca4-86e5-4ddf-9eed-24142073d197 \ --SUBSCRIBE=true \ --ARGO=true \ @@ -259,7 +259,7 @@ bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-b --START_PORT 8881 \ --PORT_NGINX 60000 \ --SERVER_IP 123.123.123.123 \ - --CDN dash.cloudflare.com \ + --CDN skk.moe\ --UUID_CONFIRM 20f7fca4-86e5-4ddf-9eed-24142073d197 \ --ARGO=true \ --ARGO_DOMAIN=sb.argo.com \ @@ -280,7 +280,7 @@ bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-b --START_PORT 8881 \ --PORT_NGINX 60000 \ --SERVER_IP 123.123.123.123 \ - --CDN dash.cloudflare.com \ + --CDN skk.moe\ --UUID_CONFIRM 20f7fca4-86e5-4ddf-9eed-24142073d197 \ --SUBSCRIBE=true \ --ARGO=true \ @@ -302,7 +302,7 @@ bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-b --START_PORT 8881 \ --PORT_NGINX 60000 \ --SERVER_IP 123.123.123.123 \ - --CDN dash.cloudflare.com \ + --CDN skk.moe\ --UUID_CONFIRM 20f7fca4-86e5-4ddf-9eed-24142073d197 \ --ARGO=true \ --ARGO_DOMAIN=sb.argo.com \ diff --git a/config b/config deleted file mode 100644 index ba997ce..0000000 --- a/config +++ /dev/null @@ -1,15 +0,0 @@ -# For details: https://github.com/fscarmen/sing-box/blob/main/README.md -LANGUAGE= -CHOOSE_PROTOCOLS= -START_PORT= -PORT_NGINX= -SERVER_IP= -CDN= -VMESS_HOST_DOMAIN= -VLESS_HOST_DOMAIN= -UUID_CONFIRM= -ARGO= -ARGO_DOMAIN= -ARGO_AUTH= -PORT_HOPPING_RANGE= -NODE_NAME_CONFIRM= \ No newline at end of file diff --git a/config.conf b/config.conf new file mode 100644 index 0000000..b9d2159 --- /dev/null +++ b/config.conf @@ -0,0 +1,76 @@ +# 使用说明 / Usage: +# 1. 复制此文件并重命名为 config.conf / Copy this file and rename it to config.conf +# 2. 根据需要修改配置参数 / Modify the configuration parameters as needed +# 3. 执行安装命令 / Run the installation command: +# bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh) -f config.conf + +# 配置文件说明 / Configuration Description: + +# 语言选项 / Language option: +# c 为中文 / c for Chinese +# e 为英文 / e for English +LANGUAGE='' + +# 协议选择 / Protocol selection: +# a 为全部协议,也可以选择 b-k 的任意组合 +# a for all protocols, or choose any combination from b-k +# b: VLESS + Reality +# c: Hysteria2 +# d: Tuic V5 +# e: ShadowTLS +# f: Shadowsocks +# g: Trojan +# h: VMESS + WebSocket +# i: VLESS + WebSocket + TLS +# j: VLESS + H2 + Reality +# k: VLESS + gRPC + Reality +# l: AnyTLS +CHOOSE_PROTOCOLS='' + +# 起始端口号,其他协议会依次递增 / Starting port number, other protocols will increment sequentially +START_PORT='' + +# Nginx 端口号,用于 WebSocket 协议 / Nginx port number for WebSocket protocol +PORT_NGINX='' + +# 服务器 IP 地址,支持 IPv4 或 IPv6 / Server IP address, supports IPv4 or IPv6 +SERVER_IP='' + +# CDN 域名,用于优化线路 / CDN domain name for line optimization +CDN='' + +# UUID,用于节点识别和认证 / UUID for node identification and authentication +UUID_CONFIRM='' + +# 是否启用订阅功能 / Enable subscription function: true or false +SUBSCRIBE='' + +# 是否启用 Argo 隧道 / Enable Argo Tunnel: true or false +# 如果为 true,则使用 Argo Tunnel 回源,固定域名需要填写 ARGO_DOMAIN 与 ARGO_AUTH,临时隧道无需填写 +# If true, use Argo Tunnel for origin connection. For fixed domain, fill in ARGO_DOMAIN and ARGO_AUTH. For temporary tunnel, leave them empty +# 如果为 false,则需要填写 VMESS_HOST_DOMAIN 和 VLESS_HOST_DOMAIN +# If false, fill in VMESS_HOST_DOMAIN and VLESS_HOST_DOMAIN +ARGO='' + +# VMESS + WebSocket 域名配置,当 ARGO='false' 时必填 +# VMESS + WebSocket domain configuration, required when ARGO='false' +VMESS_HOST_DOMAIN='' + +# VLESS + WebSocket + TLS 域名配置,当 ARGO='false' 时必填 +# VLESS + WebSocket + TLS domain configuration, required when ARGO='false' +VLESS_HOST_DOMAIN='' + +# Argo 域名设置,当 ARGO='true' 时必填,如果使用临时隧道,则无需填写 +# Argo domain settings, required when ARGO='true'. Leave empty if using temporary tunnel +ARGO_DOMAIN='' + +# Argo 认证信息,包含账户标签、隧道密钥和隧道ID,当 ARGO='true' 时必填,如果使用临时隧道,则无需填写 +# Argo authentication info, including AccountTag, TunnelSecret and TunnelID. Required when ARGO='true'. Leave empty if using temporary tunnel +ARGO_AUTH='' + +# 端口跳跃范围,用于 Hysteria2 协议,格式为 起始端口:结束端口 +# Port hopping range for Hysteria2 protocol, format: start_port:end_port +PORT_HOPPING_RANGE='' + +# 节点名称,支持 emoji 表情 / Node name, emoji supported +NODE_NAME_CONFIRM='' \ No newline at end of file diff --git a/sing-box.sh b/sing-box.sh index 33d451b..dabf3c3 100644 --- a/sing-box.sh +++ b/sing-box.sh @@ -3125,6 +3125,16 @@ statistics_of_run-times [[ "${*^^}" =~ '-E' ]] && L=E [[ "${*^^}" =~ '-C'|'-B' ]] && L=C +# 获取 -F 参数的值 +CONFIG_FILE=$(awk '-F[ =]' 'tolower($1) ~ /^-f$/{print $2}' <<< "$*") +if [[ -n "$CONFIG_FILE" && -s "$CONFIG_FILE" ]]; then + NONINTERACTIVE_INSTALL=noninteractive_install + . $CONFIG_FILE + L=${LANGUAGE^^} + [ "$ARGO" = 'true' ] && IS_ARGO=is_argo || IS_ARGO=no_argo + [ "$SUBSCRIBE" = 'true' ] && IS_SUB=is_sub || IS_SUB=no_sub +fi + select_language check_system_info check_brutal @@ -3132,7 +3142,7 @@ check_brutal # 可以是 Key Value 或者 Key=Value 的形式。传参时, # 传参处理1: 把所有的 = 变为空格,但保留 =" ,因为 Json TunnelSecret 是 =" 结尾的,如 {"AccountTag":"9cc9e3e4d8f29d2a02e297f14f20513a","TunnelSecret":"6AYfKBOoNlPiTAuWg64ZwujsNuERpWLm6pPJ2qpN8PM=","TunnelID":"1ac55430-f4dc-47d5-a850-bdce824c4101"} # 传参处理2: 去掉 sudo cloudflared service install ,以方便用户输入 Token 并能正确读取真正的以 ey 开头的 Value -ALL_PARAMETER=($(sed -E 's/(-c|-e|-C|-E) //; s/=([^"])/ \1/g; s/sudo cloudflared service install //' <<< $*)) +ALL_PARAMETER=($(sed -E 's/(-c|-e|-f|-C|-E|-F) //; s/=([^"])/ \1/g; s/sudo cloudflared service install //' <<< $*)) [[ "${#ALL_PARAMETER[@]}" > 13 && "${ALL_PARAMETER[@]^^}" == *"--LANGUAGE"* && "${ALL_PARAMETER[@]^^}" == *"--CHOOSE_PROTOCOLS"* && "${ALL_PARAMETER[@]^^}" == *"--START_PORT"* && "${ALL_PARAMETER[@]^^}" == *"--PORT_NGINX"* && "${ALL_PARAMETER[@]^^}" == *"--SERVER_IP"* && "${ALL_PARAMETER[@]^^}" == *"--UUID"* && "${ALL_PARAMETER[@]^^}" == *"--NODE_NAME"* ]] && NONINTERACTIVE_INSTALL=noninteractive_install # 传参处理,无交互快速安装参数 @@ -3189,11 +3199,8 @@ for z in ${!ALL_PARAMETER[@]}; do -R ) change_protocols; exit 0 ;; - -F ) - ((z++)); VARIABLE_FILE=${ALL_PARAMETER[z]}; . $VARIABLE_FILE; NONINTERACTIVE_INSTALL=noninteractive_install - ;; --LANGUAGE ) - ((z++)); [[ "${ALL_PARAMETER[z]^^}" =~ ^C ]] && L=C || L=E + ((z++)); [[ "${ALL_PARAMETER[z]^^}" =~ ^C ]] && LANGUAGE=C || LANGUAGE=E ;; --CHOOSE_PROTOCOLS ) ((z++)); CHOOSE_PROTOCOLS=${ALL_PARAMETER[z]}