প্লাগইন তৈরি শুরু করুন
এই নির্দেশিকা খালি ফোল্ডার থেকে দ্রুত কার্যকর প্লাগইন তৈরির ধাপ দেখায়।
1) ন্যূনতম শুধু ব্যাকএন্ডের প্লাগইন তৈরি
এই ফাইলগুলোসহ ফোল্ডার তৈরি করুন:
text
my-plugin/
manifest.json
backend/
script.jsmanifest.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());
}
});
}প্লাগইন > ইনস্টল করুন থেকে ফোল্ডার বেছে ইনস্টল করুন, প্লাগইন চালু করুন এবং লগে Plugin started দেখায় কি না যাচাই করুন।
2) TypeScript ব্যবহার করলে
এই গঠন ব্যবহার করুন:
text
my-plugin/
manifest.json
backend/
src/index.tsবান্ডল করুন:
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তারপর আগের মতো ফোল্ডার ইনস্টল করুন।
3) পরে ফ্রন্টএন্ড যোগ
প্যানেল দরকার হলেই শুধু ফ্রন্টএন্ড এন্ট্রি ও UI ফাইল যোগ করুন:
text
my-plugin/
frontend/
script.js
style.css # optionalতারপর manifest.json-এ যোগ করুন:
json
{
"kind": "frontend",
"id": "my-plugin-frontend",
"entrypoint": "frontend/script.js",
"backend": { "id": "my-plugin-backend" }
}ফ্রন্টএন্ডের যোগাযোগে window.ogmaSDK.ready(...) ব্যবহার করুন এবং ব্যাকএন্ড কল sdk.api হ্যান্ডলারে রাখুন।
4) সাধারণত প্রয়োজনীয় অনুমতি
ওপরের ব্যাকএন্ড উদাহরণের জন্য:
- কোনোটি নয় (নিরাপদ ডিফল্ট অনুমতি স্বয়ংক্রিয়ভাবে দেওয়া হয়)
প্লাগইন বহির্মুখী অনুরোধ পাঠালে যোগ করুন:
json
"permissions": ["send_requests"]প্লাগইন নিরাপত্তা পরীক্ষার ফলাফল লিখলে যোগ করুন:
json
"permissions": ["write_findings"]শুধু যা ব্যবহার করবেন, তার অনুমতিই চান।
প্রথম প্লাগইনের সমস্যার সমাধান
Plugin failed to initialize→ লগ খুলেinit(sdk)সংজ্ঞায়িত কি না নিশ্চিত করুন।Invalid manifest→ JSON-এর কমা ও উদ্ধৃতিচিহ্ন যাচাই করুন।- কলব্যাক চলছে না → প্লাগইন সক্রিয় এবং সংশ্লিষ্ট ইভেন্ট (
onInterceptResponse) নিবন্ধিত কি না নিশ্চিত করুন।
সম্পূর্ণ API রেফারেন্স: