mcpField
R
r2-upload

r2-upload

github.com/zebbernクラウド・DevOps4.7k39 回インストール1 日前に更新
リポジトリ

r2-upload について

r2-upload は、ファイルを Cloudflare R2 や他の S3 互換ストレージにアップロードし、有効期限付きのダウンロードリンクを作るコマンドラインツールです。複数のバケット設定や、ファイルの一覧表示・削除にも対応します。

主な機能

  1. 01R2 または S3 互換ストレージへのアップロード
  2. 02有効期限を指定した署名付きリンクの生成
  3. 03複数バケットの設定
  4. 04コンテンツタイプの自動検出
  5. 05最近のアップロードの一覧表示と削除

活用シーン

  1. 01ファイルをアップロードして一時リンクを共有
  2. 02用途に応じた設定済みバケットの選択
  3. 03オブジェクトパスや公開 URL の指定
  4. 04最近のアップロードの確認と削除

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zebbern/claude-code-guide --skill r2-upload

インストール後、Claude Code で/r2-uploadを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

_meta.json
CLAWDHUB.md
example-config.yml
package.json
pnpm-lock.yaml
README.md
SECURITY.md
tsconfig.json
src/
index.ts
onboard.ts

詳細

Send Me My Files - 有効期間の短い署名付き URL を使用した R2 アップロード

ファイルを Cloudflare R2 または S3 互換ストレージにアップロードし、署名付きダウンロードリンクを生成します。

特長

  • ファイルを R2/S3 バケットにアップロード
  • 署名付きダウンロード URL を生成(有効期限を設定可能)
  • あらゆる S3 互換ストレージに対応(R2、AWS S3、MinIO など)
  • 複数のバケット設定
  • コンテンツタイプを自動検出

設定

~/.r2-upload.yml を作成するか、R2_UPLOAD_CONFIG 環境変数を設定します。

# Default bucket (used when no bucket specified)
default: my-bucket

# Bucket configurations
buckets:
  my-bucket:
    endpoint: https://abc123.r2.cloudflarestorage.com
    access_key_id: your_access_key
    secret_access_key: your_secret_key
    bucket_name: my-bucket
    public_url: https://files.example.com  # Optional: custom domain
    region: auto  # For R2, use "auto"

  # Additional buckets
  personal:
    endpoint: https://xyz789.r2.cloudflarestorage.com
    access_key_id: ...
    secret_access_key: ...
    bucket_name: personal-files
    region: auto
Cloudflare R2 のセットアップ
  1. Cloudflare Dashboard → R2 に移動します
  2. バケットを作成します
  3. R2 API Tokens に移動します:https://dash.cloudflare.com/<ACCOUNT_ID>/r2/api-tokens
  4. 新しい API トークンを作成します
    • 重要: 特定のバケットに適用します(使用するバケットを選択してください)
    • 権限:Object Read & Write
  5. Access Key ID と Secret Access Key をコピーします
  6. エンドポイント形式を使用します:https://<account_id>.r2.cloudflarestorage.com
  7. region: auto を設定します
AWS S3 のセットアップ
aws-bucket:
  endpoint: https://s3.us-east-1.amazonaws.com
  access_key_id: ...
  secret_access_key: ...
  bucket_name: my-aws-bucket
  region: us-east-1

使い方

ファイルをアップロードする
r2-upload /path/to/file.pdf
# Returns: https://files.example.com/abc123/file.pdf?signature=...
カスタムパスを指定してアップロードする
r2-upload /path/to/file.pdf --key uploads/2026/file.pdf
特定のバケットにアップロードする
r2-upload /path/to/file.pdf --bucket personal
有効期限をカスタマイズする(デフォルト:5 分)
r2-upload /path/to/file.pdf --expires 24h
r2-upload /path/to/file.pdf --expires 1d
r2-upload /path/to/file.pdf --expires 300  # seconds
パブリック URL(署名なし)
r2-upload /path/to/file.pdf --public

ツール

  • r2_upload - ファイルをアップロードし、署名付き URL を取得します
  • r2_list - 最近のアップロードを一覧表示します
  • r2_delete - ファイルを削除します

環境変数

  • R2_UPLOAD_CONFIG - 設定ファイルのパス(デフォルト:~/.r2-upload.yml)
  • R2_DEFAULT_BUCKET - デフォルトのバケットを上書きします
  • R2_DEFAULT_EXPIRES - デフォルトの有効期限(秒)(デフォルト:300 = 5 分)

注意事項

  • --key を指定しない限り、アップロードしたファイルは元のファイル名で保存されます
  • 名前の重複を防ぐため、UUID プレフィックスが自動的に追加されます(例:abc123/file.pdf)
  • Content-Type はファイル拡張子から自動的に検出されます
  • 署名付き URL は設定した有効期間が過ぎると無効になります

コメント