@elainaa/tls
v1.0.3
Published
Advanced TLS client with fingerprint randomization and robust HTTP fetching capabilities.
Downloads
384
Maintainers
Readme
📖 Introduction
@elainaa/tls adalah pustaka HTTP client tingkat lanjut yang dirancang untuk meniru perilaku browser modern secara presisi. Dibangun di atas modul native Node.js, pustaka ini menawarkan kontrol granular terhadap negosiasi TLS, rotasi header dinamis, dan manajemen cookie otomatis.
Sangat cocok untuk tugas scraping data yang kompleks, pengujian keamanan, atau berinteraksi dengan endpoint yang memiliki filter keamanan ketat.
🚀 Features
🔮 Dynamic TLS Fingerprinting
Mengacak urutan Ciphers pada setiap request untuk menghindari deteksi statis.🍪 Smart Cookie Jar
Penyimpanan dan pengelolaan cookie sesi secara otomatis antar request.🎭 User-Agent Rotation
Menghasilkan User-Agent Chrome terbaru secara acak untuk menyamarkan identitas klien.⚡ High Performance
Dibangun menggunakanhttpsnative danzlibuntuk dekompresi (Gzip, Deflate, Brotli) yang cepat tanpa overhead dependensi berat.🔄 Auto-Follow Redirects
Menangani redirect HTTP (3xx) secara mulus dengan pemeliharaan state cookie.
📦 Installation
Pasang package menggunakan NPM:
npm install @elainaa/tlsAtau menggunakan Yarn:
yarn add @elainaa/tls🪄 Usage Example
Berikut adalah contoh implementasi profesional untuk mengambil data dari sebuah endpoint.
Basic Fetching
import { ElainaTLS } from '@elainaa/tls';
(async () => {
// Inisialisasi Client
const client = new ElainaTLS();
const target = 'https://example.com';
console.log(`✨ Fetching: ${target}`);
try {
const response = await client.fetch(target);
if (response.status === 200) {
console.log('✅ Success!');
console.log('📄 Body Length:', response.body.length);
// console.log(response.body);
} else {
console.log(`⚠️ Status Code: ${response.status}`);
}
} catch (error) {
console.error('❌ Request Failed:', error.message);
}
})();Advanced Configuration (Custom Headers)
Anda dapat menyuntikkan header kustom sesuai kebutuhan project Anda.
import { ElainaTLS } from '@elainaa/tls';
const client = new ElainaTLS();
const options = {
headers: {
'Authorization': 'Bearer magical-token-xyz',
'X-Custom-Header': 'Elaina/1.0',
'Referer': 'https://google.com'
}
};
client.fetch('https://api.secure-target.com/data', options)
.then(res => {
console.log(`🔮 Status: ${res.status}`);
console.log(`🍪 Cookies:`, client.getCookieString());
})
.catch(err => console.error(err));⚙️ API Reference
new ElainaTLS()
Membuat instance baru dengan cookie jar yang terisolasi.
client.fetch(url, options)
Melakukan HTTP GET request.
- url:
String- URL target. - options:
Object(Optional) - Konfigurasi tambahan (misal:headers). - Returns:
Promise<Object>- Object berisi{ status, headers, body }.
client.getCookieString()
Mengembalikan semua cookie yang tersimpan dalam format string header Cookie.
