87 lines
2.5 KiB
Plaintext
87 lines
2.5 KiB
Plaintext
cat > fix-r2-setup.sh << 'EOF'
|
||
#!/bin/bash
|
||
|
||
echo "========================================"
|
||
echo " Cloudflare R2 修复配置脚本"
|
||
echo "========================================"
|
||
|
||
# 使用你提供的准确信息
|
||
REMOTE_NAME="r2-storage"
|
||
ACCESS_KEY="1204a46f27d9490d0fa37f928d6680a4"
|
||
SECRET_KEY="54f24822de0265d98e8c2507d40250ba5254426b4c3b6a6745d5e688c832ac90"
|
||
ENDPOINT="https://bb6985de87fb012b3c626aa13eda6797.r2.cloudflarestorage.com"
|
||
|
||
echo "使用以下配置:"
|
||
echo "Endpoint: $ENDPOINT"
|
||
echo "Access Key: ${ACCESS_KEY:0:8}..."
|
||
echo "Secret Key: ${SECRET_KEY:0:8}..."
|
||
|
||
# 删除旧配置
|
||
echo "删除旧配置..."
|
||
rclone config delete "$REMOTE_NAME" --quiet > /dev/null 2>&1
|
||
|
||
# 方法1: 使用 Cloudflare provider (推荐)
|
||
echo "方法1: 使用 Cloudflare provider..."
|
||
rclone config create "$REMOTE_NAME" s3 \
|
||
provider Cloudflare \
|
||
access_key_id "$ACCESS_KEY" \
|
||
secret_access_key "$SECRET_KEY" \
|
||
endpoint "$ENDPOINT" \
|
||
region auto \
|
||
acl private \
|
||
--non-interactive
|
||
|
||
if [ $? -eq 0 ]; then
|
||
echo "✓ 方法1配置成功"
|
||
else
|
||
echo "方法1失败,尝试方法2..."
|
||
|
||
# 方法2: 使用 Other provider
|
||
rclone config create "$REMOTE_NAME" s3 \
|
||
provider Other \
|
||
access_key_id "$ACCESS_KEY" \
|
||
secret_access_key "$SECRET_KEY" \
|
||
endpoint "$ENDPOINT" \
|
||
region "" \
|
||
acl private \
|
||
--non-interactive
|
||
fi
|
||
|
||
# 测试配置
|
||
echo "测试配置..."
|
||
echo "1. 测试基本连接..."
|
||
if rclone lsd "$REMOTE_NAME": --config /root/.config/rclone/rclone.conf 2>/dev/null; then
|
||
echo "✓ 基本连接成功"
|
||
else
|
||
echo "基本连接失败,但配置可能仍然有效"
|
||
echo "请手动创建存储桶后测试"
|
||
fi
|
||
|
||
# 显示使用说明
|
||
echo ""
|
||
echo "========================================"
|
||
echo " 配置完成!下一步操作"
|
||
echo "========================================"
|
||
echo ""
|
||
echo "1. 在 Cloudflare 控制台创建存储桶:"
|
||
echo " - 登录 https://dash.cloudflare.com"
|
||
echo " - 进入 R2 → 创建存储桶"
|
||
echo " - 输入存储桶名称(如: my-backups)"
|
||
echo ""
|
||
echo "2. 测试配置(创建存储桶后):"
|
||
echo " rclone lsd $REMOTE_NAME:"
|
||
echo " rclone mkdir $REMOTE_NAME:你的存储桶名称"
|
||
echo " rclone ls $REMOTE_NAME:你的存储桶名称"
|
||
echo ""
|
||
echo "3. 如果仍有问题,检查:"
|
||
echo " - API 令牌是否有足够权限"
|
||
echo " - 存储桶是否已创建"
|
||
echo " - 网络连接是否正常"
|
||
echo ""
|
||
echo "配置文件名: $REMOTE_NAME"
|
||
echo "Endpoint: $ENDPOINT"
|
||
EOF
|
||
|
||
chmod +x fix-r2-setup.sh
|
||
./fix-r2-setup.sh
|