カスタム ストレージ
このプラグインのインストール手順と全マークダウンガイドを含むセットアップコマンドをコピーしてください。
Capgo supports custom storage solutions for your app bundles, allowing you to host your updates on your own infrastructure or third-party storage services. This is particularly useful for organizations with specific security requirements, compliance needs, or existing storage infrastructure.
protectedTokens
「概要」Capgoのカスタムストレージでは、バンドルを外部の場所にアップロードし、CapgoにアクセスするためのURLを提供することで機能します。 Capgo SDKは、Capgoのデフォルトクラウドストレージではなく、カスタムストレージの場所から直接アップデートをダウンロードします。
URLアップロード
「URLアップロード」カスタムストレージを使用する最も簡単な方法は、バンドルを任意の公開アクセス可能なURLにアップロードし、そのURLをCapgoに提供することです。
基本的な外部URLアップロード
「基本的な外部URLアップロード」のセクションnpx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipCapgoに指定されたURLのバンドルを参照するように指示します。Capgoのクラウドストレージにアップロードするのではなく。
暗号化
セクション「暗号化」安全な外部ストレージのために、バンドルを暗号化し、復号化キーを提供できます。
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEYS3統合
セクション「S3統合」CapgoはAmazon S3とS3互換ストレージサービスに対する組み込みサポートを提供します。CLIは自動的にS3にバンドルをアップロードし、CapgoをS3のURLで使用するように設定します。
S3アップロードオプション
「S3アップロードオプション」npx @capgo/cli@latest bundle upload \ --s3-region us-east-1 \ --s3-apikey YOUR_ACCESS_KEY \ --s3-apisecret YOUR_SECRET_KEY \ --s3-bucket-name your-bucket-nameS3の設定が完了しました
「S3の設定が完了しました」S3互換サービスまたはカスタムエンドポイントの場合:
npx @capgo/cli@latest bundle upload \ --s3-region us-east-1 \ --s3-apikey YOUR_ACCESS_KEY \ --s3-apisecret YOUR_SECRET_KEY \ --s3-endpoint https://s3.your-provider.com \ --s3-bucket-name your-bucket-name \ --s3-port 443 \ --no-s3-ssl # Only if your endpoint doesn't support SSLS3の設定パラメータ
「S3の設定パラメータ」| パラメータ | 説明 | 必要 |
|---|---|---|
--s3-region | S3 バケットのAWS リージョン | はい |
--s3-apikey | S3 アクセスキーID | はい |
--s3-apisecret | S3 シークレットアクセスキー | はい |
--s3-bucket-name | S3 バケットの名前 | はい |
--s3-endpoint | カスタムS3エンドポイントURL | なし |
--s3-port | S3エンドポイントのためのポート | なし |
--no-s3-ssl | S3アップロードのSSLを無効にする | なし |
バンドル準備と暗号化
バンドル準備と暗号化カスタムストレージを使用する場合、特に暗号化を使用する場合、バンドルを適切に準備する必要があります。これには、zipファイルを作成し、オプションで暗号化することが含まれます。
ステップ 1: Zip バンドルを作成する
ステップ 1: Zip バンドルを作成する最初に、zipファイルを作成してアプリケーションバンドルを圧縮してください:
npx @capgo/cli@latest bundle zip com.example.app --path ./distzipコマンドはzipファイルのチェックサムを返します。このチェックサムを使用してzipファイルを暗号化する必要がある場合は、使用できます。 --json このオプションを使用して、構造化された出力(チェックサムを含む)を取得します。
zipコマンドのオプション
「zipコマンドのオプション」のセクションnpx @capgo/cli@latest bundle zip [appId] \ --path ./dist \ --bundle 1.2.3 \ --name myapp-v1.2.3 \ --json \ --no-code-check \ --key-v2 \ --package-json ../../package.json,./package.json| オプション | 説明 |
|---|---|
--path | zipファイルを作成するフォルダのパス(capacitor.configのwebDirをデフォルトとして使用) |
--bundle | バンドルバージョン番号をzipファイルの名前として使用 |
--name | zipファイルのカスタム名を指定 |
--json | JSON形式で出力します (チェックサムを含みます) |
--no-code-check | notifyAppReady()の呼び出しとindexファイルのチェックをスキップします |
--key-v2 | 暗号化 v2 を使用します |
--package-json | モノレポ用のpackage.jsonファイルのパス (カンマで区切る) |
ステップ 2: バンドルを暗号化 (任意)
ステップ 2: バンドルを暗号化 (任意) のセクションアップロードする前に、zipファイルを暗号化してセキュリティを高めましょう:
# Using default local keynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key filenpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directlynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key-data "PRIVATE_KEY_CONTENT"The CHECKSUM パラメータは必須で、zipファイルのチェックサムを指定してください。zipコマンドの出力からチェックサムを取得できます (構造化された出力のオプションを使用してください)。 --json parameter is required and should be the checksum of your zip file. You can get the checksum from the zip command output (use __CAPGO_KEEP_0__ for structured output).
デフォルトでは、エンコード コマンドはローカル プライベート署名 キーを使用します。カスタム キーを指定するには --key または --key-data Capacitorライブアップデートの代替
エンコード コマンド ivSessionKey エンコード コマンドの結果
アップロードまたは復号化に必要なもの
エンコード コマンドのオプション| エンコード コマンドのオプション | オプション |
|---|---|
zipPath | 説明 |
checksum | エンコード対象のzipファイルのパス(必須) |
--key | zipファイルのチェックサム(必須) - zipコマンドから取得する |
--key-data | プライベート署名鍵データを直接指定 (任意) |
--json | 結果は JSON 形式で出力されます |
「完全なワークフロー例」のセクション
例 1: エンコードされた外部 URL「例 1: エンコードされた外部 URL」のセクション
アプリをビルドしてください:-
protectedTokens
ターミナル画面 npm run build -
zipアーカイブを作成します:
ターミナル画面 npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3このコマンドの返されたチェックサムを注意してください。
-
アーカイブを暗号化します:
ターミナル画面 npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2出力から
ivSessionKeyを注意してください。 -
あなたのストレージにアップロードします: アップロードする暗号化された zip ファイルをホスティング サービスにアップロードしてください。
-
Capgo に登録してください。
ターミナル ウィンドウ npx @capgo/cli@latest bundle upload \--external https://your-cdn.com/bundles/com.example.app-1.2.3.zip \--iv-session-key IV_SESSION_KEY_FROM_STEP_3
例 2: 直接 S3 アップロード
例 2: 直接 S3 アップロード-
アプリをビルドしてください。
ターミナル ウィンドウ npm run build -
直接 S3 にアップロードしてください。
ターミナル ウィンドウ npx @capgo/cli@latest bundle upload \--s3-region us-west-2 \--s3-apikey YOUR_ACCESS_KEY \--s3-apisecret YOUR_SECRET_KEY \--s3-bucket-name your-app-bundles \--channel Production
例 3: S3 での暗号化
「例 3: S3 での暗号化」-
ビルドと ZIP:
ターミナル画面 npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
バンドルを暗号化:
ターミナル画面 npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
暗号化されたバンドルを S3 にアップロード:
ターミナル画面 npx @capgo/cli@latest bundle upload \--s3-region us-west-2 \--s3-apikey YOUR_ACCESS_KEY \--s3-apisecret YOUR_SECRET_KEY \--s3-bucket-name your-app-bundles \--iv-session-key IV_SESSION_KEY_FROM_STEP_2 \--channel Production
セキュリティ上の考慮事項
セキュリティに関する考慮事項カスタム ストレージを使用する場合、次のセキュリティのベスト プラクティスを考慮してください。
アクセス制御
アクセス制御- ストレージのURLはアプリのユーザーにのみアクセス可能で、一般に公開されないようにする
- 署名URLまたはトークンベースの認証を使用する
- Webベースのアプリでは適切なCORSヘッダーを実装する
暗号化
暗号化- 敏感なバンドルを常にCapgo暗号化ツールを使用して暗号化する
- 暗号化キーを安全に保存し、定期的にローテートする
- すべてのバンドルURLにHTTPSを使用する(モバイルおよびElectronアプリでは必須)
監視
「監視」- アクセスログを監視して不正なダウンロードパターンを検出する
- 失敗したバンドルダウンロードのアラートを設定する
- ストレージ権限を定期的に検証する
トラブルシューティング
「トラブルシューティング」一般的な問題
「一般的な問題」ダウンロードが行われていない:
- URLがパブリックにアクセス可能であり、HTTPSを使用していることを確認する(モバイルおよびElectronアプリ用に必須)
- ウェブアプリ用のCORSヘッダーを確認する
- バンドルのフォーマットが正しいことを確認してください。
暗号化エラー:
- 確認してください。
ivSessionKey暗号化されたバンドルと一致していることを確認してください。 - 正しい鍵で暗号化されたことを確認してください。
- 新しいバンドルには暗号化 v2 を使用することを確認してください。
S3 アップロードエラー:
- S3 の資格情報と権限を確認してください。
- バケットポリシーと CORS の構成を確認してください。
- 正しいリージョンが指定されていることを確認してください。
デバッグ コマンド
デバッグ コマンドバンドルステータスを確認:
npx @capgo/cli@latest app debugバンドル完整性を検証:
npx @capgo/cli@latest bundle list次のステップ
「次のステップ」セクションCI/CD統合
カスタムストレージのワークフローを自動化するカスタムストレージから続ける カスタムストレージから続ける カスタムストレージを使用している場合 カスタムストレージ セキュリティとコンプライアンスを計画するために、カスタムストレージを 適合性 適合性の実装詳細について Capgo セキュリティ スキャナー Capgo セキュリティ スキャナーの製品ワークフローについて Capgo セキュリティ Capgo セキュリティの製品ワークフローについて Capgo トラスト センター Capgo トラスト センターの製品ワークフローについて