JSPM

windscribe-proxy-sdk

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q46821F
  • License Apache-2.0

Unofficial Windscribe proxy SDK with custom SNI support, bulk testing, and session management for Node.js

Package Exports

  • windscribe-proxy-sdk
  • windscribe-proxy-sdk/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (windscribe-proxy-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

🌪️ 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.

npm version License: Apache 2.0

✨ 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');

// Login and test a proxy
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

// Basic login
await session('username', 'password');

// Login with 2FA
await session('username', 'password', '123456');

// Get proxy credentials
await serverCredentials();

Proxy Testing

// Test single proxy
const result = await testProxy('proxy.windscribe.com');

// Advanced testing with custom SNI
const result = await testCustomProxy({
    hostname: 'proxy.windscribe.com',
    port: 443,
    customSni: 'www.google.com',
    targetUrl: 'https://httpbin.org/ip'
});

Server Management

// Get all available servers
const servers = await serverList();

// Access account information
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

# Update credentials in login.js first
node examples/login.js

2. Test All Proxies - Complete proxy testing using saved session

# Load session and test all available servers
node examples/testproxy.js

3. Custom Request - Advanced proxy request with custom SNI

# Test with enhanced privacy using custom SNI
node examples/customreq.js

Quick Setup Steps:

# Step 1: Update credentials in login.js
# Step 2: Login and save session
node examples/login.js

# Step 3: Test custom proxy with SNI
node examples/customreq.js

# Step 4: (Optional) Test all servers
node examples/testproxy.js

🔧 Advanced Configuration

Custom SNI Options

// Most effective SNI options (recommended)
customSni: 'www.google.com'     // Best overall performance
customSni: 'cloudflare.com'     // Alternative option
customSni: 'www.microsoft.com'  // Corporate environments

Bulk Testing Configuration

const results = await bulkTestProxies(proxies, {
    concurrency: 3,        // Concurrent connections
    timeout: 10000,        // Connection timeout
    customSni: 'www.google.com'
});

📖 API Reference

Method Description Returns
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