
Security News
npm Phishing Email Targets Developers with Typosquatted Domain
A phishing attack targeted developers using a typosquatted npm domain (npnjs.com) to steal credentials via fake login pages - watch out for similar scams.
windscribe-proxy-sdk
Advanced tools
Unofficial Windscribe proxy SDK with custom SNI support, bulk testing, and session management for Node.js
A powerful and unofficial Node.js SDK for Windscribe proxy services featuring custom SNI support, bulk testing capabilities, comprehensive session management, and advanced monitoring.
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`);
const { WindscribeSDK } = require('windscribe-proxy-sdk');
const sdk = new WindscribeSDK({
autoReconnect: true,
enableLogging: true,
healthCheckInterval: 30000
});
// Event-driven monitoring
sdk.on('proxy_connected', (server) => {
console.log(`Connected to: ${server.hostname}`);
});
sdk.on('health_check', (result) => {
console.log(`Health: ${result.status}, Latency: ${result.latency}ms`);
});
// Advanced operations
await sdk.session('username', 'password');
const bestServers = await sdk.findBestServers({
country: 'US',
maxLatency: 500,
testCount: 10
});
// Basic login
await session('username', 'password');
// Login with 2FA
await session('username', 'password', '123456');
// Get proxy credentials
await serverCredentials();
// 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'
});
// Bulk testing with concurrency
const results = await bulkTestProxies(proxies, {
concurrency: 5,
timeout: 10000,
customSni: 'www.google.com'
});
// Find best servers by location
const bestServers = await sdk.findBestServers({
country: 'US',
maxLatency: 300,
testCount: 5
});
// Real-time connection monitoring
const monitoring = await sdk.monitorConnection(
'us-central-001.windscribe.com',
443,
60000 // Monitor for 1 minute
);
// Load balancing across servers
const response = await sdk.loadBalanceRequests([
'us-east-001.windscribe.com',
'us-west-001.windscribe.com'
], 'https://httpbin.org/ip');
// Get detailed statistics
const stats = sdk.getStatistics();
console.log(`Success Rate: ${stats.successRate}%`);
Check out the examples/
directory for complete usage examples:
# Update credentials in login.js first
node examples/login.js
# Load session and test all available servers
node examples/testproxy.js
# Test with enhanced privacy using custom SNI
node examples/customreq.js
# Monitor proxy connections with health checks
node examples/monitoring.js
# Distribute requests across multiple servers
node examples/loadbalance.js
# 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
# Step 5: (Optional) Try advanced monitoring
node examples/monitoring.js
// Most effective SNI options (recommended)
customSni: 'www.google.com' // Best overall performance
customSni: 'cloudflare.com' // Alternative option
customSni: 'www.microsoft.com' // Corporate environments
const sdk = new WindscribeSDK({
autoReconnect: true, // Enable auto-reconnection
enableLogging: true, // Enable debug logging
healthCheckInterval: 30000, // Health check interval (ms)
maxRetries: 3, // Max connection retries
timeout: 10000, // Request timeout (ms)
cacheTimeout: 600000 // Server cache timeout (ms)
});
const results = await bulkTestProxies(proxies, {
concurrency: 3, // Concurrent connections
timeout: 10000, // Connection timeout
customSni: 'www.google.com',
retries: 2 // Retry failed connections
});
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 |
Method | Description | Returns |
---|---|---|
session(user, pass, 2fa?) | Authenticate and create session | Promise<Object> |
findBestServers(options) | Find optimal servers by criteria | Promise<Array> |
monitorConnection(host, port, duration) | Monitor connection in real-time | Promise<Object> |
loadBalanceRequests(servers, url) | Distribute requests across servers | Promise<Object> |
testServerLatency(hostname, rounds) | Multi-round latency testing | Promise<Object> |
getAccountInfo() | Get account information | Object |
getStatistics() | Get detailed statistics | Object |
clearCache() | Clear server cache | void |
Event | Description | Data |
---|---|---|
session_created | Session successfully created | {username, traffic, servers} |
proxy_connected | Proxy connection established | {hostname, ip, latency} |
proxy_failed | Proxy connection failed | {hostname, error} |
health_check | Health check completed | {status, latency, timestamp} |
monitoring_result | Monitoring data available | {server, results} |
bulk_test_completed | Bulk testing finished | {total, successful, failed} |
Apache 2.0 License - see LICENSE file for details.
This is an unofficial SDK created for educational purposes. Please respect Windscribe's Terms of Service and use responsibly.
Contributions are welcome! Please feel free to submit a Pull Request.
FAQs
Unofficial Windscribe proxy SDK with custom SNI support, bulk testing, and session management for Node.js
The npm package windscribe-proxy-sdk receives a total of 7 weekly downloads. As such, windscribe-proxy-sdk popularity was classified as not popular.
We found that windscribe-proxy-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A phishing attack targeted developers using a typosquatted npm domain (npnjs.com) to steal credentials via fake login pages - watch out for similar scams.
Security News
Knip hits 500 releases with v5.62.0, refining TypeScript config detection and updating plugins as monthly npm downloads approach 12M.
Security News
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.