__CAPGO_KEEP_0__ - __CAPGO_KEEP_1__ アプリ用ライブ アップデート

カスタム ストレージ

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.

__CAPGO_KEEP_0__

概要

Capgoのカスタムストレージでは、バンドルを外部の場所にアップロードし、CapgoにアクセスするためのURLを提供することで機能します。 Capgo SDKは、Capgoのデフォルトのクラウドストレージではなく、カスタムストレージの場所から直接更新をダウンロードします。

The simplest way to use custom storage is by uploading your bundle to any publicly accessible URL and providing that URL to Capgo.

ターミナル画面
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip

Capgoに指定されたURLでバンドルを参照するように指示します。Capgoのクラウドストレージにアップロードするのではなく。

安全な外部ストレージのために、バンドルを暗号化し、復号化キーを提供できます。

ターミナル画面
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEY

CapgoはAmazon S3とS3互換ストレージサービスに対して組み込みでサポートしています。CLIは自動的にバンドルをS3にアップロードし、CapgoをS3 URLで設定します。

ターミナル画面
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-name

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 SSL
パラメーター説明必須
--s3-region__CAPGO_KEEP_0__エリアのS3バケットはい
--s3-apikey__CAPGO_KEEP_0__S3アクセスキーIDはい
--s3-apisecret__CAPGO_KEEP_0__S3シークレットアクセスキーはい
--s3-bucket-name__CAPGO_KEEP_0__のS3バケット名はい
--s3-endpoint__CAPGO_KEEP_0__カスタムS3エンドポイントURLNo
--s3-portS3 エンドポイントのポートNo
--no-s3-sslS3 アップロード用に SSL を無効にするNo

カスタムストレージを使用する場合、特に暗号化を使用する場合、バンドルを適切に準備する必要があります。これには、zip ファイルを作成し、オプションで暗号化することが含まれます。

ステップ 1: Zip バンドルを作成する

ステップ 1: Zip バンドルを作成するのセクション

最初に、zip ファイルを作成してアプリケーションバンドルを作成してください:

ターミナル画面
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

zipコマンドはzipファイルのチェックサムを返します。必要に応じてzipファイルを暗号化するために、このチェックサムを使用できます。必要に応じてzipファイルを暗号化するために、このチェックサムを使用できます。 --json オプションを使用して、構造化された出力、チェックサムを含む。

ターミナル画面
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
オプションパス
--pathPath to the folder to zip (defaults to webDir from capacitor.config)
--bundleバンドルバージョン番号
--nameカスタム名
--jsonJSON形式で出力します (チェックサムを含みます)
--no-code-checknotifyAppReady()の呼び出しとindexファイルのチェックをスキップします
--key-v2暗号化 v2 を使用します
--package-jsonモノレポ用のpackage.jsonファイルのパス (カンマで区切る)

ステップ 2: バンドルを暗号化 (任意)

ステップ 2: バンドルを暗号化 (任意) のセクション

アップロードする前に、zip バンドルを暗号化してセキュリティを高めます:

ターミナル画面
# Using default local key
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key file
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directly
npx @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 option for structured output).

デフォルトでは、エンコード コマンドはローカル プライベート署名 キーを使用します。カスタム キーを指定するには、 --key--key-data オプションを使用します。

エンコード コマンドは、 ivSessionKey アップロードまたは復号化に必要な

エンコード コマンド オプション

セクション
オプション説明
zipPathエンコード対象の zip ファイルのパス (必須)
checksumzip コマンドから取得する zip ファイルのチェックサム (必須)
--keyプライベート署名 キーのカスタム パス (任意、デフォルトではローカル キーを使用)
--key-dataプライベート署名鍵データを直接指定 (任意)
--json出力結果を JSON 形式で出力

「外部 URL にエンコード」

セクション
  1. アプリをビルド:

    ターミナル画面
    npm run build
  2. zipアーカイブを作成する:

    ターミナル画面
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3

    このコマンドの返されたチェックサムを注意してください。

  3. アーカイブを暗号化する:

    ターミナル画面
    npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2

    Note the ivSessionKey から

  4. の出力から。 __CAPGO_KEEP_0__に登録する

  5. 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への直接アップロード
  1. アプリをビルドする:

    ターミナル画面
    npm run build
  2. 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
  1. ビルドと ZIP:

    ターミナル画面
    npm run build
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2
  2. バンドルを暗号化:

    ターミナル画面
    npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM
  3. 暗号化された 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アプリ用)
  • Webアプリ用のCORSヘッダーを確認する
  • __CAPGO_KEEP_0__のバンドル形式が正しいことを確認する

__CAPGO_KEEP_1__エラー:

  • __CAPGO_KEEP_2__が正しいことを確認する ivSessionKey __CAPGO_KEEP_3__が暗号化されたバンドルと一致することを確認する
  • __CAPGO_KEEP_4__で暗号化されたバンドルが正しい鍵で暗号化されたことを確認する
  • __CAPGO_KEEP_5__を新しいバンドルに使用することを確認する

__CAPGO_KEEP_6__アップロード失敗:

  • __CAPGO_KEEP_7__の資格情報と権限を確認する
  • __CAPGO_KEEP_8__のポリシーとCORS構成を確認する
  • __CAPGO_KEEP_9__が正しいことを確認する

__CAPGO_KEEP_10__

__CAPGO_KEEP_11__

バンドルステータスを確認:

ターミナル画面
npx @capgo/cli@latest app debug

バンドル完整性を検証:

ターミナル画面
npx @capgo/cli@latest bundle list

「カスタムストレージから続ける」のセクション カスタムストレージを使用している場合 カスタムストレージ セキュリティとコンプライアンスを計画するために、カスタムストレージを 暗号化 Compliance for the implementation detail in Compliance, Capgo for the product workflow in Capgo Security Scanner, Capgo for the product workflow in Capgo Security, and Capgo for the product workflow in Capgo Trust Center.