mirror of
https://github.com/wnlen/clash-for-linux.git
synced 2026-03-21 22:06:45 +08:00
Update generate_config.sh
This commit is contained in:
@ -118,57 +118,69 @@ is_full_config() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
if [ "$CLASH_AUTO_UPDATE" != "true" ]; then
|
if [ "$CLASH_AUTO_UPDATE" != "true" ]; then
|
||||||
if [ -s "$RUNTIME_CONFIG" ]; then
|
if [ -s "$RUNTIME_CONFIG" ]; then
|
||||||
write_state "success" "auto_update_disabled_keep_runtime" "runtime_existing"
|
write_state "success" "auto_update_disabled_keep_runtime" "runtime_existing"
|
||||||
exit 0
|
exit 0
|
||||||
|
fi
|
||||||
|
use_fallback
|
||||||
|
write_state "success" "auto_update_disabled_use_fallback" "fallback"
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
use_fallback
|
|
||||||
write_state "success" "auto_update_disabled_use_fallback" "fallback"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! download_subscription; then
|
if ! download_subscription; then
|
||||||
if [ -s "$RUNTIME_CONFIG" ]; then
|
if [ -s "$RUNTIME_CONFIG" ]; then
|
||||||
write_state "success" "download_failed_keep_last_good" "runtime_existing"
|
write_state "success" "download_failed_keep_last_good" "runtime_existing"
|
||||||
exit 0
|
exit 0
|
||||||
|
fi
|
||||||
|
use_fallback
|
||||||
|
write_state "success" "download_failed_use_fallback" "fallback"
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
use_fallback
|
|
||||||
write_state "success" "download_failed_use_fallback" "fallback"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -f "$TEMP_DOWNLOAD" "$TEMP_CONVERTED"
|
cp -f "$TEMP_DOWNLOAD" "$TEMP_CONVERTED"
|
||||||
|
|
||||||
if is_full_config "$TEMP_CONVERTED"; then
|
if is_full_config "$TEMP_CONVERTED"; then
|
||||||
cp -f "$TEMP_CONVERTED" "$RUNTIME_CONFIG"
|
cp -f "$TEMP_CONVERTED" "$RUNTIME_CONFIG"
|
||||||
force_write_controller_and_ui "$RUNTIME_CONFIG"
|
force_write_controller_and_ui "$RUNTIME_CONFIG"
|
||||||
force_write_secret "$RUNTIME_CONFIG"
|
force_write_secret "$RUNTIME_CONFIG"
|
||||||
write_state "success" "subscription_full" "subscription_full"
|
write_state "success" "subscription_full" "subscription_full"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 片段订阅:这里先保留模板拼接逻辑
|
# 片段订阅:这里先保留模板拼接逻辑
|
||||||
if [ ! -s "$CONF_DIR/template_config.yaml" ]; then
|
TEMPLATE_FILE=""
|
||||||
echo "[ERROR] missing template_config.yaml" >&2
|
|
||||||
|
if [ -s "$CONF_DIR/template_config.yaml" ]; then
|
||||||
|
TEMPLATE_FILE="$CONF_DIR/template_config.yaml"
|
||||||
|
elif [ -s "$TEMP_DIR/templete_config.yaml" ]; then
|
||||||
|
TEMPLATE_FILE="$TEMP_DIR/templete_config.yaml"
|
||||||
|
elif [ -s "$CONF_DIR/templete_config.yaml" ]; then
|
||||||
|
TEMPLATE_FILE="$CONF_DIR/templete_config.yaml"
|
||||||
|
elif [ -s "$PROJECT_DIR/temp/templete_config.yaml" ]; then
|
||||||
|
TEMPLATE_FILE="$PROJECT_DIR/temp/templete_config.yaml"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$TEMPLATE_FILE" ]; then
|
||||||
|
echo "[ERROR] missing template config file (template_config.yaml / templete_config.yaml)" >&2
|
||||||
write_state "failed" "missing_template" "none"
|
write_state "failed" "missing_template" "none"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sed -n '/^proxies:/,$p' "$TEMP_CONVERTED" > "$TEMP_DIR/proxy.txt"
|
sed -n '/^proxies:/,$p' "$TEMP_CONVERTED" > "$TEMP_DIR/proxy.txt"
|
||||||
cat "$CONF_DIR/template_config.yaml" > "$RUNTIME_CONFIG"
|
cat "$TEMPLATE_FILE" > "$RUNTIME_CONFIG"
|
||||||
cat "$TEMP_DIR/proxy.txt" >> "$RUNTIME_CONFIG"
|
cat "$TEMP_DIR/proxy.txt" >> "$RUNTIME_CONFIG"
|
||||||
|
|
||||||
sed -i "s/CLASH_HTTP_PORT_PLACEHOLDER/${CLASH_HTTP_PORT}/g" "$RUNTIME_CONFIG"
|
sed -i "s/CLASH_HTTP_PORT_PLACEHOLDER/${CLASH_HTTP_PORT}/g" "$RUNTIME_CONFIG"
|
||||||
sed -i "s/CLASH_SOCKS_PORT_PLACEHOLDER/${CLASH_SOCKS_PORT}/g" "$RUNTIME_CONFIG"
|
sed -i "s/CLASH_SOCKS_PORT_PLACEHOLDER/${CLASH_SOCKS_PORT}/g" "$RUNTIME_CONFIG"
|
||||||
sed -i "s/CLASH_REDIR_PORT_PLACEHOLDER/${CLASH_REDIR_PORT}/g" "$RUNTIME_CONFIG"
|
sed -i "s/CLASH_REDIR_PORT_PLACEHOLDER/${CLASH_REDIR_PORT}/g" "$RUNTIME_CONFIG"
|
||||||
sed -i "s/CLASH_LISTEN_IP_PLACEHOLDER/${CLASH_LISTEN_IP}/g" "$RUNTIME_CONFIG"
|
sed -i "s/CLASH_LISTEN_IP_PLACEHOLDER/${CLASH_LISTEN_IP}/g" "$RUNTIME_CONFIG"
|
||||||
sed -i "s/CLASH_ALLOW_LAN_PLACEHOLDER/${CLASH_ALLOW_LAN}/g" "$RUNTIME_CONFIG"
|
sed -i "s/CLASH_ALLOW_LAN_PLACEHOLDER/${CLASH_ALLOW_LAN}/g" "$RUNTIME_CONFIG"
|
||||||
|
|
||||||
force_write_controller_and_ui "$RUNTIME_CONFIG"
|
force_write_controller_and_ui "$RUNTIME_CONFIG"
|
||||||
force_write_secret "$RUNTIME_CONFIG"
|
force_write_secret "$RUNTIME_CONFIG"
|
||||||
|
|
||||||
write_state "success" "subscription_fragment_merged" "subscription_fragment"
|
write_state "success" "subscription_fragment_merged" "subscription_fragment"
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
||||||
Reference in New Issue
Block a user