Zum Inhalt springen

Benutzerdefinierte Speicherung

Capgo unterstützt benutzerdefinierte Speichersysteme für Ihre App-Bundles, sodass Sie Ihre Updates auf Ihrem eigenen Infrastruktur oder auf Diensten Dritter speichern können. Dies ist insbesondere nützlich für Organisationen mit spezifischen Sicherheitsanforderungen, Compliance-Anforderungen oder bestehender Speichereinrichtungen.

Benutzerdefinierte Speicherung in Capgo funktioniert, indem Sie Ihr Bundle an einen externen Ort hochladen und Capgo die URL mitteilen, über die es erreicht werden kann. Der Capgo SDK wird dann die Updates direkt von Ihrem benutzerdefinierten Speicherort herunterladen, anstatt von Capgo’s Standard-Cloud-Speicher.

Die einfachste Möglichkeit, benutzerdefinierte Speicher zu verwenden, besteht darin, Ihr Bundle an jede öffentlich zugängliche URL hochzuladen und diese URL Capgo bereitzustellen.

Terminal-Fenster
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip

Diese Anweisung sagt Capgo, dass die Bundle an der angegebenen URL verwiesen werden soll, anstatt es in Capgo’s Cloud-Speicher hochzuladen.

Für sichere externe Speicherung können Sie Ihr Bundle verschlüsseln und die Entschlüsselungsschlüssel bereitstellen:

Terminalfenster
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEY

Capgo bietet eine integrierte Unterstützung für Amazon S3 und S3-kompatible Speicherdienste. CLI kann Ihre Bundle automatisch auf S3 hochladen und Capgo konfigurieren, um die S3-URL zu verwenden.

Terminalfenster
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

Für S3-kompatible Dienste oder benutzerdefinierte Endpunkte:

Terminalfenster
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
ParameterBeschreibungPflichtfeld
--s3-regionRegion Ihres S3-Buckets bei AWSJa
--s3-apikeyS3-Zugriffschlüssel-IDJa
--s3-apisecretName Ihres S3-BucketsJa
--s3-bucket-nameURL des benutzerdefinierten S3-EndpunktsJa
--s3-endpointBenutzerdefinierte S3-Endpunkt-URLNo
--s3-portSSL für S3-Upload deaktivierenNo
--no-s3-sslS3-Schlüssel für den ZugriffNo

Bei der Verwendung von benutzerdefinierten Speicher, insbesondere mit Verschlüsselung, müssen Sie Ihre Pakete ordnungsgemäß vorbereiten. Dies umfasst die Erstellung eines Zip-Ordners und die optionalen Verschlüsselung.

Erstellen Sie zunächst einen Zip-Ordner Ihres Anwendungs-Paketes:

Terminal-Fenster
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

The zip command will return the checksum of the zip file. You can use this checksum to encrypt the zip file if needed. Use the --json Option zur Erstellung eines strukturierten Ausgabes mit Prüfsumme.

Terminalfenster
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
OptionBeschreibung
--pathWeg zum Ordner zum Komprimieren (Standardwert: webDir aus capacitor.config)
--bundleBundle Versionsnummer zur Namensgebung des Zip-Dateis
--nameBenutzerdefinierter Dateinamen für das Zip
--jsonEingabeergebnisse in JSON-Format (enthält Prüfsumme)
--no-code-checkÜberspringen der Überprüfung auf notifyAppReady()-Aufruf und Indexdatei
--key-v2Verschlüsselung v2 verwenden
--package-jsonPfade zu package.json-Dateien für monorepos (getrennt durch Komma)

Schritt 2: Verschlüsseln des Bundles (Optional)

Schritt 2: Verschlüsseln Sie das Bundle (Optional)

Für eine erhöhte Sicherheit verschlüsseln Sie Ihr Zip-Bundle vor dem Hochladen:

Terminal-Fenster
# 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"

Der CHECKSUM Parameter ist erforderlich und sollte der Prüfsumme Ihres Zip-Dateis sein. Sie können die Prüfsumme aus dem Ausgabeoutput der zip-Kommando (verwenden Sie --json Option für strukturierte Ausgabe).

Mit der Standardkonfiguration wird der Verschlüsselungsbefehl Ihre lokale private Signierungsdatei verwenden. Sie können eine benutzerdefinierte Datei mithilfe der --key oder --key-data Alternativen

Der Verschlüsselungsbefehl wird den ivSessionKey Die Verschlüsselungskommando gibt die

OptionBeschreibung
zipPathPfad zum zip-Datei zum Verschlüsseln (erforderlich)
checksumPrüfsumme der zip-Datei (erforderlich) - erhalten Sie sie mit dem zip-Befehl
--keyBenutzerdefinierter Pfad für die private Signierungsdatei (optional, verwendet lokale Datei standardmäßig)
--key-dataPrivate Signierungsdatei-Daten direkt (optional)
--jsonAusgabeergebnisse in JSON-Format
  1. Dein App erstellen:

    Terminalfenster
    npm run build
  2. Erstelle ein Zip-Bundle:

    Terminalfenster
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3

    Beachten Sie den bereitgestellten Prüfsummenwert.

  3. Verschlüsseln Sie das Bundle:

    Terminalfenster
    npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2

    Beachten Sie den ivSessionKey aus der Ausgabe.

  4. Hochladen in Ihr Speicher: Hochladen Sie das verschlüsselte Zip-Datei in Ihr Hosting-Service.

  5. Registrieren mit Capgo:

    Terminalfenster
    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
  1. Deine App erstellen:

    Terminalfenster
    npm run build
  2. Direkt auf S3 hochladen:

    Terminalfenster
    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. Erstelle und komprimiere:

    Terminalfenster
    npm run build
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2
  2. Verschlüsseln Sie das Bundle:

    Terminalfenster
    npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM
  3. Hochladen auf S3 mit Verschlüsselung:

    Terminalfenster
    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

Wenn Sie benutzerdefinierte Speicher verwenden, sollten Sie diese Sicherheitshinweise beachten:

  • Stellen Sie sicher, dass Ihre Speicher-URLs für Ihre App-Benutzer zugänglich sind, aber nicht öffentlich auffindbar sind
  • Verwenden Sie bei Bedarf signierte URLs oder Token-basierte Authentifizierung
  • Implementieren Sie die richtigen CORS-Header für webbasierte Anwendungen
  • Verschlüsseln Sie immer sensible Pakete mit den Capgo-Verschlüsselungstools
  • Speichern Sie Verschlüsselungsschlüssel sicher und rotieren Sie sie regelmäßig
  • Verwenden Sie HTTPS für alle Paket-URLs (erforderlich für mobile und Electron-Anwendungen)
  • Überwachen Sie Zugriffsprotokolle, um ungewöhnliche Herunterlademuster zu erkennen
  • Set up alerts for failed bundle downloads
  • Überprüfen Sie Ihre Speicherberechtigungen regelmäßig

Bundle wird nicht heruntergeladen:

  • Überprüfen Sie, ob die URL öffentlich zugänglich und über HTTPS (für mobile und Electron-Anwendungen erforderlich) ist
  • Überprüfen Sie die CORS-Kopfzeilen für Web-Anwendungen
  • Ensure the bundle format is correct

Verschlüsselungsfehler:

  • Prüfen Sie die ivSessionKey entspricht dem verschlüsselten Bundle
  • Überprüfen Sie, ob das Bundle mit der richtigen Schlüssel verschlüsselt wurde
  • Ensure encryption v2 is used for new bundles

S3-Upload-Fehler:

  • Überprüfen Sie Ihre S3-Zugriffsdaten und -berechtigungen
  • Überprüfen Sie die Bucket-Politik und die CORS-Konfiguration
  • Ensure the specified region is correct

Überprüfen Sie den Status des Pakets:

Terminal-Fenster
npx @capgo/cli@latest app debug

Überprüfen Sie die Integrität des Pakets:

Terminal-Fenster
npx @capgo/cli@latest bundle list
  • Über Kanäle um verschiedene Bereitstellungsumgebungen zu verwalten
  • Entdecken Updateverhalten um die Anwendung von Updates zu personalisieren
  • Einstellen CI/CD-Integration um Ihre Custom Storage-Arbeit zu automatisieren

Wenn Sie Custom Storage verwenden Benutzerdefinierte Speicherung um Sicherheit und Compliance zu planen, verbinden Sie es mit Verschlüsselung für die Implementierungsdetails in Verschlüsselung Einhaltung für die Implementierungsdetails in Einhaltung Capgo Sicherheits-Scanner für den Produktworkflow in Capgo Sicherheits-Scanner Capgo Sicherheit zur Produktworkflow in Capgo Sicherheit und Capgo Vertrauenszentrum zur Produktworkflow in Capgo Vertrauenszentrum.