cat > correct-r2-setup.sh << 'EOF' #!/bin/bash echo "========================================" echo " Cloudflare R2 正确配置脚本" echo "========================================" # 使用正确的信息 REMOTE_NAME="r2-storage" ACCOUNT_ID="c5F-lD9CfUvvI5wNsepuS-ghXU_exa0bgiwBgM_h" ACCESS_KEY="1204a46f27d9490d0fa37f928d6680a4" SECRET_KEY="54f24822de0265d98e8c2507d40250ba5254426b4c3b6a6745d5e688c832ac90" BUCKET_NAME="111" # 构建正确的 Endpoint ENDPOINT="https://${ACCOUNT_ID}.r2.cloudflarestorage.com" echo "使用配置:" echo "Account ID: $ACCOUNT_ID" echo "Access Key: ${ACCESS_KEY:0:8}..." echo "Secret Key: ${SECRET_KEY:0:8}..." echo "Endpoint: $ENDPOINT" echo "Bucket: $BUCKET_NAME" # 删除旧配置 echo "删除旧配置..." rclone config delete "$REMOTE_NAME" --quiet > /dev/null 2>&1 # 使用正确的配置 echo "创建新配置..." 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 "✓ 配置创建成功" else echo "✗ 配置创建失败" exit 1 fi # 测试网络连接 echo "测试网络连接..." curl -s -o /dev/null -w "HTTP状态码: %{http_code}\n" "$ENDPOINT" # 测试配置 echo "测试R2配置..." echo "1. 尝试列出存储桶..." rclone lsd "$REMOTE_NAME": echo "2. 尝试访问存储桶: $BUCKET_NAME" rclone lsd "$REMOTE_NAME:$BUCKET_NAME" echo "3. 尝试创建测试目录..." rclone mkdir "$REMOTE_NAME:$BUCKET_NAME/test-connection" if [ $? -eq 0 ]; then echo "✓ 配置测试成功" # 清理测试目录 rclone rmdir "$REMOTE_NAME:$BUCKET_NAME/test-connection" else echo "✗ 配置测试失败" fi echo "" echo "========================================" echo " 配置完成" echo "========================================" echo "远程名称: $REMOTE_NAME" echo "存储桶: $BUCKET_NAME" echo "Endpoint: $ENDPOINT" echo "" echo "使用命令:" echo "rclone lsd $REMOTE_NAME:" echo "rclone ls $REMOTE_NAME:$BUCKET_NAME" echo "rclone copy 文件.txt $REMOTE_NAME:$BUCKET_NAME/" EOF chmod +x correct-r2-setup.sh ./correct-r2-setup.sh