#!/bin/bash
DEST="/usr/share/caddy"
mkdir -p "$DEST"

# 记录当前目录下的文件数量，用于对比
LAST_COUNT=$(ls -A "$DEST" | wc -l)

echo "--- Taildrop 监控服务已启动 ---"

while true; do
    # 1. 尝试拉取文件
    # 无论有没有文件，执行这条命令都没副作用
    tailscale file get "$DEST/" 2>/dev/null

    # 2. 检查目录下的文件数量是否增加了
    CURRENT_COUNT=$(ls -A "$DEST" | wc -l)

    if [ "$CURRENT_COUNT" -gt "$LAST_COUNT" ]; then
        # 发现数量变多，说明有新文件进来了
        echo "[$(date '+%Y-%m-%d %H:%M:%S')] 🚀 发现新文件进入 $DEST"
        
        # 修复权限
        find "$DEST" -type d -exec chmod 755 {} +
        find "$DEST" -type f -exec chmod 644 {} +
        
        # 更新计数器
        LAST_COUNT=$CURRENT_COUNT
        echo "[$(date '+%Y-%m-%d %H:%M:%S')] ✅ 权限已同步，当前文件总数: $CURRENT_COUNT"
    else
        # 没有数量变化，打印心跳
        # echo "[$(date '+%Y-%m-%d %H:%M:%S')] 😴 暂无新文件 (当前总数: $CURRENT_COUNT)"
	# 暂无新文件：每小时只打印一次“平安报告”，或者干脆不打印
        if [ $(date +%M%S) == "0000" ] || [ $(date +%M%S) == "0001" ]; then 
             echo "[$(date '+%Y-%m-%d %H:%M:%S')] 😴 服务正常运行中 (当前总数: $CURRENT_COUNT)"
        fi
    fi

    sleep 5
done
