Files
o.nmgjg.com.cn/clash_sync.sh

47 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
# 定义日志函数,用于输出带有时间戳的日志
log() {
echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO] $1"
}
# 定义常量
URL="https://0e25b110.ghelper.me/subs/clash/88602cf20e25b1105f3ba0a433c1a35b"
CLASH_FILE="./index/proxy/clash.yml"
BACKUP_FILE="./index/proxy/clash_last.yml"
log "开始下载 Clash 配置文件..."
# 确保目标目录存在
mkdir -p "$(dirname "$CLASH_FILE")" 2>/dev/null
log "目录 $(dirname "$CLASH_FILE") 存在。"
# 尝试下载文件
if curl -sS --fail -o "$CLASH_FILE" "$URL"; then
log "Clash 配置文件下载成功。"
# 设置权限为 777
chmod 777 "$CLASH_FILE"
log "设置文件 $CLASH_FILE 权限为 777。"
# 复制为备份文件并设置权限
cp -f "$CLASH_FILE" "$BACKUP_FILE"
chmod 777 "$BACKUP_FILE"
log "已将配置文件复制到备份文件 $BACKUP_FILE,并设置权限为 777。"
log "下载和备份操作已完成。"
else
log "下载失败,尝试从备份恢复..."
# 检查备份文件是否存在
if [ -f "$BACKUP_FILE" ]; then
cp -f "$BACKUP_FILE" "$CLASH_FILE"
chmod 777 "$CLASH_FILE"
log "已从备份文件 $BACKUP_FILE 恢复配置文件,并设置权限为 777。"
else
log "错误:备份文件 $BACKUP_FILE 不存在,无法恢复。"
exit 1
fi
fi
log "Clash 配置文件处理完成。"