bycf (SDK)
bycf adalah modul SDK resmi dari layanan BYCF Engine (high-performance backend) yang dirancang khusus untuk mengeksekusi bypass keamanan Web Application Firewall (WAF) dan kapcai Cloudflare Turnstile secara transparan dan terintegrasi langsung di aplikasi Node.js Anda.
Dokumentasi ini secara spesifik membahas penggunaan official Node.js library. Seluruh *request* akan otomatis dikelola secara internal oleh SDK ke server engine utama.
Cara Kerja
Request Masuk
Permintaan eksekusi yang masuk akan dikelola melalui sistem Antrean (Queue) pintar untuk memastikan engine tidak pernah overload meskipun dihantam trafik ekstrem.
Browser Eksekusi
Pekerja (*Worker*) akan memulai proses rendering tersembunyi dengan konfigurasi khusus yang sangat ringan, memastikan setiap tantangan keamanan terdeteksi dan terselesaikan secara stealth.
Token Dihasilkan
Turnstile Response Token atau Cookies valid berhasil diambil dan dikirimkan kembali ke klien dalam hitungan detik.
Sistem Limitasi & Antrean (Guards)
Untuk menjamin stabilitas 99.9% uptime, engine ini dilengkapi pelindung lapis baja terhadap lonjakan trafik dan penyalahgunaan.
Rate Limiting (Anti Spam)
Maksimal 30 requests per menit untuk setiap alamat IP klien. Jika melampaui, Anda akan menerima HTTP Status 429 Too Many Requests.
Smart Queue System (Limit 100)
Server mengeksekusi maksimal 3 browser bersamaan. Sisa request akan ditahan di antrean (max 100). Jika ada request ke-101 masuk, akan otomatis di-reject dengan pesan Server is too busy.
Ghost Processing Prevention
Jika klien memutuskan koneksi (misal timeout) sebelum giliran antreannya dieksekusi, server akan membuang request tersebut agar resource tidak terbuang sia-sia.
Menggunakan NPM Package (Node.js)
Cara termudah untuk berinteraksi dengan engine ini di ekosistem Node.js adalah melalui official SDK wrapper yang sudah disediakan.
npm install bycf
// CommonJS
const { shannz: bycf } = require('bycf');
// ES Modules
// import { shannz as bycf } from 'bycf';
(async () => {
try {
// 1. Dapatkan Statistik Server
const stats = await bycf.stats();
// 2. Selesaikan Turnstile CF
const token = await bycf.turnstileMin('https://web-target.com', '0x4AAAAAA...');
console.log("Token Anda:", token);
// 3. Bypass WAF & Ambil Cookie
const session = await bycf.wafSession('https://web-target.com');
console.log("Cookies Bypass:", session.cookies);
} catch(err) {
console.error(err.message);
}
})();
bycf.wafSession()
Mengunjungi halaman target dan menunggu tantangan Cloudflare IUAM selesai, kemudian mengembalikan object cookies dan headers.
const { shannz: bycf } = require('bycf');
// Tanpa proxy
const bypass = await bycf.wafSession('https://web-target.com');
console.log(bypass.cookies);
// Menggunakan proxy otentikasi (opsional)
const bypassProxy = await bycf.wafSession('https://web-target.com', {
username: 'user_proxy',
password: 'password_proxy'
});
bycf.turnstileMin()
Membypass menggunakan injeksi HTML palsu untuk mendapatkan token dengan sangat cepat. Parameter `siteKey` dari target wajib diberikan.
const { shannz: bycf } = require('bycf');
// Mengembalikan string token response "0.4AAAA..."
const token = await bycf.turnstileMin(
'https://api.web-target.com/login', // URL Endpoint Target
'0x4AAAAAA_abc_def12345', // SiteKey milik Target
null // Proxy (opsional)
);
console.log("CF-Turnstile-Response:", token);
bycf.turnstileMax()
Melakukan render website target secara penuh layaknya pengguna nyata untuk mendapatkan token dari widget Turnstile yang disematkan secara native.
const { shannz: bycf } = require('bycf');
const token = await bycf.turnstileMax('https://web-target.com');
console.log("Token ditangkap:", token);
bycf.source()
Melakukan scraping elemen DOM secara utuh setelah lolos dari penjagaan awal Cloudflare.
const { shannz: bycf } = require('bycf');
// Menghasilkan string raw HTML (misal: "...")
const htmlData = await bycf.source('https://web-target.com/data');
console.log(htmlData);
bycf.stats()
Mengecek kondisi real-time dari resource engine milik Anda.
const { shannz: bycf } = require('bycf');
const serverStats = await bycf.stats();
console.log("Antrean saat ini:", serverStats.queueLength);
console.log("Memori Node:", Math.round(serverStats.memoryUsage / 1024 / 1024), "MB");
Error Responses
Setiap respon kegagalan akan memiliki "success": false dan disertai properti "error".
| HTTP Code | Kondisi | Contoh Pesan Error |
|---|---|---|
| 400 Bad Request | Parameter wajib tidak dikirim. | "Missing 'url' or 'siteKey'." |
| 429 Too Many Req | Rate Limit IP atau Antrean (Queue) Penuh. | "Server is too busy..." / "Too many requests..." |
| 500 Server Error | Batas waktu (Timeout) terlampaui / Gagal bypass. | "Timeout Error" / "Failed to get token" |