Skip to content

Sprint 01: Penyesuaian Bot AI Search & Citations ​

1. Ringkasan & Tujuan Sprint ​

Sprint 01 difokuskan pada penyesuaian filter bot di middleware BlockBotnet untuk membedakan antara AI Search & Citations Bot (yang memberikan timbal balik trafik dan referensi/sitasi kepada situs) dengan AI Pre-training / Scraper Bot (yang hanya menyedot data tanpa memberikan sitasi atau referral pengunjung).

Tujuan ​

  • Mengizinkan bot pencari AI modern (seperti Perplexity, SearchGPT/OAI-SearchBot, dan ChatGPT User browsing) untuk mengindeks halaman dracin.
  • Mempertahankan perlindungan server terhadap bot scraper massal pre-training dan botnet berbahaya guna menjaga kestabilan resource server dan efisiensi bandwidth.
  • Memastikan seluruh skenario bot tercakup dalam automated testing dengan tingkat kelulusan 100%.

Outcome ​

  • AI search engine dapat mengakses konten drama dan menghasilkan rujukan URL (citations) langsung ke dracin.
  • Scraper tanpa timbal balik trafik tetap diblokir secara tegas dengan status HTTP 403 Forbidden.
  • Dokumentasi sprint lengkap dan tersimpan sebagai source of truth di repository.

2. Keputusan Product Owner (PO) ​

Berdasarkan kesepakatan pada Sprint Planning:

  1. Whitelist AI Search & Citations:
    • Bot pencarian dan referensi AI berikut di-whitelist untuk mengembalikan respon HTTP 200 OK:
      • PerplexityBot (keyword token: perplexity)
      • OAI-SearchBot (keyword token: oai-searchbot)
      • ChatGPT-User (keyword token: chatgpt-user)
  2. Blacklist Scraper Pre-training:
    • Tetap memblokir bot pengumpul data pre-training LLM tanpa sitasi/referral dengan respon HTTP 403 Forbidden:
      • GPTBot
      • Bytespider
      • CCBot
      • ShapBot
      • meta-externalagent
      • ExaSearchBot
      • Amazonbot
      • ClaudeBot
  3. Pembersihan Konflik Blacklist:
    • Menghapus entri PerplexityBot dari isBlockedBot() dan $globalBlacklist di middleware BlockBotnet agar tidak terjadi tumpang tindih aturan.

3. Alur Evaluasi Botnet Middleware ​

Berikut diagram alur evaluasi request pada middleware BlockBotnet:

Request MasukBotBuster Aktif?Cek Whitelist Search Engine(Google, Bing, Perplexity,OAI-SearchBot, ChatGPT-User)Cek Blacklist Scraper AI(GPTBot, Bytespider, CCBot, dll.)Cek Headless Chrome?Cek Offensive / Botnet Windows?Cek Cookie Bot Verdict?HTTP 200 / Next MiddlewareHTTP 403 ForbiddenTidakYaCocok (Whitelist)Tidak CocokCocok (Blacklist)Tidak CocokYa (Headless)BukanYa (Offensive)BukanCookie BotPengunjung Valid

4. Backlog Task & Urutan Pelaksanaan ​

NoTask IDNama TaskDeskripsi & ScopeDependencyStatus
1#GONDO (gondomgsocqqzlyifhtifplh)Code & Automated Test- Buat dokumentasi sprint di docs/sprints/S01.md
- Perbarui BlockBotnet.php (whitelist perplexity, oai-searchbot, chatgpt-user; hapus dari blacklist)
- Update BotBusterTest.php (assertion 200 OK untuk AI search & 403 Forbidden untuk scraper)
- Verifikasi Pint dan Pest tests 100% pass
- Commit ke branch main
-Done
2#OOGKD (oogkdzbluzeqwdpfutydziga)Deploy & Live Probe- Deploy kode dari main ke lingkungan Laravel Cloud
- Jalankan live probe cURL dengan User-Agent target
- Verifikasi respons HTTP di production
Task 1Done

5. Definition of Done (DoD) ​

DoD Task 1: Code & Automated Test (#GONDO) ​

  • [x] Dokumen sprint docs/sprints/S01.md dibuat mencakup tujuan, outcome, backlog, keputusan PO, dan DoD.
  • [x] Middleware app/Http/Middleware/BlockBotnet.php diperbarui:
    • Whitelist isSearchEngine() mencakup perplexity, oai-searchbot, dan chatgpt-user.
    • Blacklist isBlockedBot() dan $globalBlacklist tidak lagi memuat PerplexityBot.
    • Blacklist scraper pre-training (GPTBot, Bytespider, CCBot, ClaudeBot, Amazonbot, dll.) tetap aktif.
  • [x] Test suite tests/Feature/BotBusterTest.php diperbarui:
    • Assert HTTP 200 OK untuk PerplexityBot, OAI-SearchBot, dan ChatGPT-User.
    • Assert HTTP 403 Forbidden untuk GPTBot, Bytespider, CCBot, ShapBot, meta-externalagent, ExaSearchBot, ClaudeBot, Amazonbot.
    • Assert HTTP 200 OK untuk browser normal dan search engine konvensional.
  • [x] Seluruh test pada BotBusterTest lulus 100% (php artisan test --filter=BotBusterTest).
  • [x] Standar kode lolos Laravel Pint (vendor/bin/pint --dirty).
  • [x] Perubahan di-commit ke branch main dengan author Buchin <buchin@dropsugar.com>.

DoD Task 2: Deploy & Live Probe (#OOGKD) ​

  • [x] Pipeline deployment Laravel Cloud berhasil tanpa error (Deployment ID: depl-a2b9a9e8-3580-4b83-9f9a-ae9508d70688, status: deployment.succeeded, commit: d6e9062).
  • [x] Live HTTP probe terhadap endpoint publik https://lelungan.net:
    • PerplexityBot: HTTP 200 OK
    • OAI-SearchBot: HTTP 200 OK
    • ChatGPT-User: HTTP 200 OK
    • Googlebot: HTTP 200 OK
    • GPTBot: HTTP 403 Forbidden
    • Bytespider: HTTP 403 Forbidden
    • Normal Chrome: HTTP 200 OK
  • [x] Sampel live access log Laravel Cloud (dracin / main) terverifikasi: 0 error 5xx / 504, pemblokiran scraper instan (rata-rata 247ms), server sehat dan stabil.

6. Risiko, Batasan, dan Mitigasi ​

  • Risiko Peningkatan Beban Server: Bot AI search cenderung melakukan crawling mendalam ketika menemukan link baru.Mitigasi: Respons halaman telah memanfaatkan cache layer Laravel dan CDN Cloudflare sehingga beban origin server minimal.
  • Risiko User-Agent Spoofing: Penyerang dapat menyamar menggunakan User-Agent bot AI search.Mitigasi: Lapisan pertahanan botnet lanjutan (inspeksi headless Chromium, pemeriksaan payload offensive/scanner, deteksi token botnet berbasis referer Windows, dan cookie verdict client-side) tetap aktif.
  • Batasan: Sprint ini tidak mengubah robots.txt statis maupun skema rate limiting per IP.

7. Out of Scope ​

  • Modifikasi robots.txt atau konfigurasi sitemap.
  • Modifikasi scraping engine internal untuk drama atau sumber video eksternal.
  • Perubahan tampilan UI/UX frontend atau pemutar video.
  • Penambahan otentikasi bot berbasis reverse DNS lookup (ptr lookup).

8. Deployment & Production Gate ​

  • Deployment Platform: Laravel Cloud
  • Branch Target: main
  • Gate Persyaratan Deploy:
    1. Automated test BotBusterTest 100% passing pada commit branch main.
    2. Pint linting lolos tanpa peringatan.
    3. Konfirmasi kesiapan live probe pasca deployment.

AGC Dracin — Platform streaming drama mandiri berkinerja tinggi untuk komunitas Dojo.