bycf
v1.0.3
Published
To bypass cloudflare security
Readme
🚀 Instalasi
Instal modul menggunakan npm:
npm install shannz-cf1. cf.wafSession(url, proxy)
Mengambil cookies dan headers yang diperlukan untuk melewati challenge WAF (seperti Cloudflare) pada URL target, memungkinkan request HTTP non-browser berikutnya.
| Parameter | Tipe | Diperlukan | Deskripsi |
| :--- | :--- | :--- | :--- |
| url | string | Ya | URL yang dilindungi WAF. |
| proxy | string | Tidak | Alamat proxy opsional (user:pass@host:port). |
Contoh:
const { shannz: cf } = require('shannz-cf');
async function getSession() {
try {
const session = await cf.wafSession("https://example.com/protected", "host:port");
console.log("Cookies:", session.cookies);
console.log("User-Agent:", session.headers['User-Agent']);
} catch (error) {
console.error("Gagal mendapatkan WAF Session:", error.message);
}
}2. cf.turnstileMin(url, siteKey, proxy)
Menyelesaikan challenge Cloudflare Turnstile menggunakan mode injeksi/minimum yang cepat. Mengembalikan token respons yang dapat diverifikasi di sisi server.
| Parameter | Tipe | Diperlukan | Deskripsi |
| :--- | :--- | :--- | :--- |
| url | string | Ya | URL halaman yang menampung widget Turnstile. |
| siteKey | string | Ya | Kunci situs (Site Key) dari widget Turnstile. |
| proxy | string | Tidak | Alamat proxy opsional. |
Contoh:
const token = await cf.turnstileMin(
"https://forms.com/login",
"0x4AAAAAAAT-yE...", // Site Key
"host:port"
);
console.log("Token Turnstile Min:", token);3. cf.turnstileMax(url, proxy)
Menyelesaikan challenge Cloudflare Turnstile menggunakan mode maksimum (simulasi interaksi pengguna alami). Lebih andal pada kasus yang ketat. Mengembalikan token respons.
| Parameter | Tipe | Diperlukan | Deskripsi |
| :--- | :--- | :--- | :--- |
| url | string | Ya | URL halaman yang menampung widget Turnstile. |
| proxy | string | Tidak | Alamat proxy opsional. |
4. cf.source(url, proxy)
Mengambil source code HTML yang sudah di-render oleh JavaScript dari URL target. Berguna untuk mengambil konten yang dimuat secara dinamis.
| Parameter | Tipe | Diperlukan | Deskripsi |
| :--- | :--- | :--- | :--- |
| url | string | Ya | URL target. |
| proxy | string | Tidak | Alamat proxy opsional. |
Contoh:
const htmlSource = await cf.getSource("https://spa-website.com/");
console.log("HTML Source:", htmlSource.substring(0, 200) + "...");5. cf.stats()
Mengambil statistik operasional internal dari Browser Service yang digunakan oleh API.
| Parameter | Tipe | Diperlukan | Deskripsi | | :--- | :--- | :--- | :--- | | Tidak ada | | | Mengembalikan data status dan statistik browser. |
⚠️ Penanganan Error
Semua fungsi akan melempar Error jika:
- Permintaan gagal pada tingkat jaringan (koneksi terputus, DNS gagal).
- Respons API memiliki
success: false(misalnya, parameter hilang, atau solusi challenge gagal).
Disarankan untuk selalu membungkus pemanggilan API dengan blok try...catch.
