İçeriğe geç

Eklenti hızlı başlangıcı ​

Bu kılavuz boş klasörden çalışan eklentiye hızlıca geçmenizi sağlar.

1) Yalnızca arka uç içeren minimal eklenti oluşturun ​

Şu dosyaları içeren klasör oluşturun:

text
my-plugin/
  manifest.json
  backend/
    script.js

manifest.json:

json
{
  "id": "my-plugin",
  "name": "My Plugin",
  "version": "0.1.0",
  "plugins": [
    {
      "kind": "backend",
      "id": "my-plugin-backend",
      "entrypoint": "backend/script.js"
    }
  ]
}

backend/script.js:

js
async function init(sdk) {
  sdk.console.log("Plugin started");

  sdk.events.onInterceptResponse(function(req, res) {
    if (!res) return;
    if (res.getCode() === 403) {
      sdk.console.warn("403 on " + req.getUrl());
    }
  });
}

Eklentiler > Yükle üzerinden klasörü seçin, eklentiyi etkinleştirin ve günlüklerde Plugin started göründüğünü doğrulayın.

2) TypeScript kullanıyorsanız ​

Şu yapıyı kullanın:

text
my-plugin/
  manifest.json
  backend/
    src/index.ts

Şu komutla paketleyin:

bash
pnpm add -D @ogmabox/ogma-sdk esbuild typescript
pnpm exec esbuild backend/src/index.ts \
  --bundle \
  --platform=neutral \
  --format=iife \
  --external:@ogma/sdk --external:@ogmabox/ogma-sdk \
  --outfile=backend/script.js

Ardından klasörü yukarıdaki gibi yükleyin.

3) Ön ucu daha sonra ekleyin ​

Yalnızca panel gerektiğinde ön uç kaydı ve arayüz dosyaları ekleyin:

text
my-plugin/
  frontend/
    script.js
    style.css   # optional

Ardından manifest.json dosyasını şununla genişletin:

json
{
  "kind": "frontend",
  "id": "my-plugin-frontend",
  "entrypoint": "frontend/script.js",
  "backend": { "id": "my-plugin-backend" }
}

Ön uç iletişiminde window.ogmaSDK.ready(...) kullanın ve arka uç çağrılarını sdk.api işleyicilerinde tutun.

4) Sık gereken izinler ​

Yukarıdaki arka uç örneği için:

  • İzin gerekmez (güvenli varsayılanlar otomatik verilir)

Eklentiniz dışarıya istek gönderiyorsa ekleyin:

json
"permissions": ["send_requests"]

Eklentiniz bulgu yazıyorsa ekleyin:

json
"permissions": ["write_findings"]

Yalnızca gerçekten kullandığınız izinleri isteyin.

İlk eklentide sorun giderme ​

  • Plugin failed to initialize → Günlükler bölümünü açıp init(sdk) tanımlandığını doğrulayın.
  • Invalid manifest → JSON virgüllerini ve tırnaklarını kontrol edin.
  • Geri çağrılar çalışmıyor → eklentinin etkin olduğunu ve ilgili olayın (onInterceptResponse) kaydedildiğini doğrulayın.

Tam API başvuru kaynakları:

Tescilli yazılım. Tüm hakları saklıdır.