UNPKG

windscribe-proxy-sdk

Version:

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

240 lines (188 loc) โ€ข 6.18 kB
# Windscribe SDK Examples This directory contains practical usage examples for the Windscribe Proxy SDK, featuring both functional and object-oriented approaches. ## Available Examples ### 1. Login (login.js) Initial authentication and session creation: - ๐Ÿ” Login with username/password - ๐Ÿ’พ Save session to session.json - โœ… Prepare for subsequent operations ```bash node examples/login.js ``` ### 2. Load and Test All (testproxy.js) Complete proxy testing using saved session: - ๐Ÿ“‚ Load existing session from session.json - ๐Ÿ‘ค Display account information (username, traffic usage) - ๐ŸŒ Automatic server list fetching - ๐Ÿงช Testing all available proxy servers ```bash node examples/testproxy.js ``` ### 3. Custom Request (customreq.js) Advanced proxy request with customizable SNI: - ๐Ÿ”ง Custom SNI implementation for enhanced privacy - ๐ŸŒ IP address verification - โšก Latency measurement - ๐Ÿ”’ Protocol information ```bash node examples/customreq.js ``` ### 4. Advanced Monitoring (monitoring.js) Real-time connection monitoring with health checks: - ๐Ÿ“Š Continuous connection monitoring - ๐Ÿ” Health check automation - ๐Ÿ“ˆ Real-time latency tracking - ๐Ÿ”„ Auto-reconnect demonstration - ๐Ÿ“ฑ Event-driven notifications ```bash node examples/monitoring.js ``` ### 5. Load Balancing (loadbalance.js) Smart request distribution across multiple servers: - โš–๏ธ Load balancing with round-robin strategy - ๐Ÿ”„ Automatic failover handling - ๐Ÿ“Š Performance comparison - ๐ŸŽฏ Best server selection - ๐Ÿ“ˆ Success rate tracking ```bash node examples/loadbalance.js ``` ### 6. Server Discovery (discovery.js) Intelligent server selection and optimization: - ๐Ÿ” Find best servers by location - ๐Ÿ“Š Performance-based filtering - ๐ŸŒ Geographic optimization - โšก Latency-based ranking - ๐Ÿ’พ Smart caching ```bash node examples/discovery.js ``` ## Quick Setup ### Step 1: Update credentials in login.js ```javascript const USERNAME = 'your_username'; const PASSWORD = 'your_password'; ``` ### Step 2: Login and save session ```bash node examples/login.js ``` ### Step 3: Test custom proxy with SNI ```bash node examples/customreq.js ``` ### Step 4: (Optional) Test all servers using saved session ```bash node examples/testproxy.js ``` ### Step 5: (Optional) Try advanced monitoring ```bash node examples/monitoring.js ``` ### Step 6: (Optional) Test load balancing ```bash node examples/loadbalance.js ``` ### Step 7: (Optional) Try server discovery ```bash node examples/discovery.js ``` ## Example Output ### Login: ``` // examples/login.js ๐Ÿ” Logging in... โœ… Login successful! Session saved to session.json ๐Ÿ‘ค Welcome: WS_1234567890 ๐Ÿ“Š Traffic: 833.55 KB/10.00 GB ๐ŸŒ Available servers: 42 Now you can run other examples! ``` ### Test All Proxies: ``` // examples/testproxy.js ๐Ÿ“‚ Loading existing session... ๐Ÿ‘ค Proxy User: WS_1234567890 ๐Ÿ“Š Traffic: 833.55 KB/10.00 GB ๐Ÿš€ Testing 42 proxies... โœ… Canada Toronto (ca-toronto-003.whiskergalaxy.com) - IP: 142.44.133.45 (234ms) โœ… US East (us-east-026.whiskergalaxy.com) - IP: 198.7.58.232 (156ms) โŒ UK London (uk-london-018.whiskergalaxy.com) - Proxy error: timeout ๐Ÿ“Š Results: 38/42 servers working (90.5% success rate) ``` ### Custom SNI & Custom Request: ``` // examples/customreq.js ๐Ÿ”ง Testing with custom SNI... โœ… Connection successful! ๐ŸŒ Your IP: 142.44.133.45 โšก Latency: 234ms ๐Ÿ”’ Protocol: HTTPS with SNI: www.google.com ๐ŸŒ Location: Toronto, Canada ``` ### Advanced Monitoring: ``` // examples/monitoring.js ๐Ÿ”„ Starting WindscribeSDK with monitoring... โœ… Session created for: WS_1234567890 ๐Ÿ” Starting connection monitoring... ๐Ÿ“Š Health Check: โœ… Healthy (187ms) ๐Ÿ“Š Health Check: โœ… Healthy (201ms) ๐Ÿ“Š Health Check: โš ๏ธ Slow (456ms) ๐Ÿ“Š Health Check: โœ… Healthy (198ms) ๐Ÿ“ˆ Monitoring completed: - Average latency: 210ms - Success rate: 100% - Packet loss: 0% ``` ### Load Balancing: ``` // examples/loadbalance.js โš–๏ธ Testing load balancing... ๐Ÿ”„ Distributing 10 requests across 3 servers... ๐Ÿ“Š Load Balance Results: - us-east-001: 4 requests (avg: 156ms) - us-west-001: 3 requests (avg: 203ms) - ca-toronto-001: 3 requests (avg: 234ms) โœ… Overall success rate: 100% ๐Ÿš€ Best server: us-east-001 (156ms avg) ``` ### Server Discovery: ``` // examples/discovery.js ๐Ÿ” Discovering best servers... ๐Ÿ“ Searching for US servers with <300ms latency... ๐Ÿ† Top 5 servers found: 1. us-east-001.whiskergalaxy.com (156ms) โญ 2. us-central-012.whiskergalaxy.com (187ms) 3. us-west-005.whiskergalaxy.com (203ms) 4. us-east-026.whiskergalaxy.com (234ms) 5. us-west-018.whiskergalaxy.com (267ms) ๐Ÿ’พ Results cached for 10 minutes ``` ## Usage Patterns ### Functional API (Simple) ```javascript const { session, testProxy } = require('windscribe-proxy-sdk'); await session('user', 'pass'); const result = await testProxy('proxy.windscribe.com'); ``` ### OOP API (Advanced) ```javascript const { WindscribeSDK } = require('windscribe-proxy-sdk'); const sdk = new WindscribeSDK({ autoReconnect: true }); sdk.on('proxy_connected', (data) => console.log('Connected!', data)); await sdk.session('user', 'pass'); const servers = await sdk.findBestServers({ country: 'US' }); ``` ## Notes - ๐Ÿ’พ Session data is automatically saved to `session.json` - ๐Ÿ”ง `www.google.com` is the most effective custom SNI option - โšก First login may take longer due to authentication - ๐ŸŒ Proxy list is dynamically fetched from Windscribe servers - ๐Ÿ“‚ Always run `login.js` first to create `session.json` - ๐Ÿงช Use `customreq.js` for testing custom proxy configurations - ๐Ÿ“Š Advanced examples demonstrate OOP API with event handling - ๐Ÿ”„ Monitoring examples show real-time connection tracking - โš–๏ธ Load balancing examples demonstrate smart request distribution - ๐Ÿ” Discovery examples show intelligent server selection