Lewati ke konten

Instalasi

Kebutuhan Versi / catatan
Node.js >=18 untuk Worker (lihat engines di package.json)
npm Disertakan bersama Node.js
Akun Cloudflare Tier gratis cukup untuk KV dan Analytics Engine dasar
Wrangler Terpasang sebagai devDependency proyek
Terminal window
git clone https://github.com/Bangkah/Bangk-Shield.git
cd Bangk-Shield
npm install
Terminal window
npx wrangler login

Perintah ini membuka browser untuk otorisasi akun Cloudflare yang akan dipakai deploy.

KV dipakai untuk dua hal:

  • Circuit breaker — key strike:<ip>.
  • Salt watermark — key wm:salt:current dan wm:salt:history.
Terminal window
npm run kv:create

Salin nilai id dari output perintah tersebut ke wrangler.toml:

[[kv_namespaces]]
binding = "BANGK_KV"
id = "id-namespace-anda"

Aktifkan Analytics Engine di dashboard Cloudflare, lalu pastikan binding berikut ada di wrangler.toml:

[[analytics_engine_datasets]]
binding = "BANGK_ANALYTICS"
dataset = "bangk_shield_events"

Tanpa binding ini, src/logger.js langsung return dan tidak ada event yang tersimpan. Tidak ada fallback ke console.log.

Minimal isi ORIGIN_URL dengan alamat origin asli yang akan dilindungi:

[vars]
ORIGIN_URL = "https://origin-anda.example.com"
WATERMARK_SALT = "dev-only-change-me"
CIRCUIT_BREAKER_ENABLED = "true"
Variabel Wajib Default Fungsi
ORIGIN_URL Untuk produksi "" Tujuan passthrough() untuk trafik sah.
WATERMARK_SALT Tidak "" Fallback salt jika KV tidak tersedia. Jangan diandalkan di produksi.
CIRCUIT_BREAKER_ENABLED Tidak "true" Set "false" untuk menonaktifkan circuit breaker.

Penjelasan lengkap ada di Konfigurasi wrangler.toml.

src/index.js membaca artefak src/rules.compiled.json, bukan config/rules.json langsung. Artefak ini dihasilkan oleh:

Terminal window
npm run build:rules

Perintah ini otomatis dipanggil lewat predev, prebuild, dan predeploy, sehingga Anda biasanya tidak perlu menjalankannya manual. Detail tahapannya ada di Build Pipeline.

Terminal window
npm run dev

Dev server Wrangler biasanya berjalan di http://localhost:8787. Panduan uji coba ada di Mulai Cepat.