🌪️ Windscribe Proxy SDK
A powerful and unofficial Node.js SDK for Windscribe proxy services featuring custom SNI support, bulk testing capabilities, and comprehensive session management.

✨ Features
- 🔐 Smart Authentication - Automatic session management with 2FA support
- 🌐 Custom SNI Support - Enhanced privacy with configurable SNI masking
- 🚀 Bulk Proxy Testing - Test multiple proxies concurrently with detailed metrics
- 📊 Real-time Analytics - Traffic usage, latency monitoring, and success rates
- 💾 State Persistence - Automatic session saving and loading
- 🔍 Smart DNS Resolution - Multiple resolver support with intelligent fallback
- 🛡️ TLS Security - Advanced TLS configurations with custom certificate handling
🚀 Quick Start
npm install windscribe-proxy-sdk
const { session, serverCredentials, testProxy } = require('windscribe-proxy-sdk');
await session('username', 'password');
await serverCredentials();
const result = await testProxy('us-east-001.totallyacdn.com');
console.log(`✅ Connected! IP: ${result.ip}, Latency: ${result.latency}ms`);
📚 Core API
Authentication
await session('username', 'password');
await session('username', 'password', '123456');
await serverCredentials();
Proxy Testing
const result = await testProxy('proxy.windscribe.com');
const result = await testCustomProxy({
hostname: 'proxy.windscribe.com',
port: 443,
customSni: 'www.google.com',
targetUrl: 'https://httpbin.org/ip'
});
Server Management
const servers = await serverList();
const state = getState();
console.log(`Traffic: ${state.trafficUsedFormatted}/${state.trafficMaxFormatted}`);
💡 Examples
Check out the examples/
directory for complete usage examples:
1. Login - Initial authentication and session creation
node examples/login.js
2. Test All Proxies - Complete proxy testing using saved session
node examples/testproxy.js
3. Custom Request - Advanced proxy request with custom SNI
node examples/customreq.js
Quick Setup Steps:
node examples/login.js
node examples/customreq.js
node examples/testproxy.js
🔧 Advanced Configuration
Custom SNI Options
customSni: 'www.google.com'
customSni: 'cloudflare.com'
customSni: 'www.microsoft.com'
Bulk Testing Configuration
const results = await bulkTestProxies(proxies, {
concurrency: 3,
timeout: 10000,
customSni: 'www.google.com'
});
📖 API Reference
session(user, pass, 2fa?) | Authenticate with Windscribe | Promise<Object> |
serverCredentials() | Get proxy credentials | Promise<Object> |
serverList() | Fetch available servers | Promise<Array> |
testProxy(hostname, port?) | Test single proxy | Promise<Object> |
testCustomProxy(options) | Advanced proxy testing | Promise<Object> |
bulkTestProxies(proxies, opts?) | Test multiple proxies | Promise<Object> |
saveState(filename) | Save session state | Boolean |
loadState(filename) | Load session state | Boolean |
getState() | Get current state | Object |
🛠️ Requirements
- Node.js 14.0.0 or higher
- Valid Windscribe account
- Internet connection
⚖️ License
Apache 2.0 License - see LICENSE file for details.
🚨 Disclaimer
This is an unofficial SDK created for educational purposes. Please respect Windscribe's Terms of Service and use responsibly.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Built with ❤️ for the privacy community