Repository navigation
v4.5.0 — “Velocity”
⚡ The speed & quality pass
One goal: make every proxied connection faster and make Connect feel instant. All client-side — the round-trips we spend on the server network are now a third of what they were.
🔥 Pre-warmed TLS connection pool
Every proxied connection used to pay the full setup toll — TCP + complete TLS handshake + CONNECT ≈ 3 round-trips before the first byte of real data (≈450 ms on a 150 ms path, per connection; browsers open 20–40 at once). The factory now keeps up to 4 TLS-established (pre-CONNECT) connections warm in the background:
- a client CONNECT costs one round-trip — ~3× lower per-connection latency (measured 2.3× even on loopback)
- stale warm connections (silently reaped by the server) are detected instantly and retried transparently — never surfaced to the client
- the refiller shares the handshake semaphore, so it never starves real traffic
🏁 Happy-Eyeballs address racing (RFC 8305 style)
A blackholed server address used to cost the full 8 s timeout before the next one was tried. Addresses now race with a 250 ms stagger — worst case 250 ms instead of 8 s.
📊 Latency-ranked servers
Servers inside a region were picked by blind round-robin. At startup every server is probed concurrently and the list is reordered fastest-first (sticky); the warm pool targets the same winner. The GUI’s per-region ping now reports the region’s best server (up to 5 probed concurrently), not just its first entry.
⚡ Instant “connected”
The UI used to sit on the exit-IP probe (up to 15 s × 2 servers) after the proxies were already live. The connected phase now flips the moment the listeners are up; the exit IP is verified in the background and arrives as its own event.
🧰 Everything else
- Cached SSL contexts — no system-CA-bundle reload per connection (tens of ms on Windows, every time)
- 256 KiB relay chunks & reader limits (was 64 KiB) — lifts throughput on high-bandwidth × high-latency paths
- DNS cache for the SOCKS5 UDP-DNS path — repeat lookups answered locally (question-section key, ID-rewritten replies)
- TCP tuning — contractual
TCP_NODELAY, 512 KiB buffers on Windows - CLI parity — same probe, pool and limits in
python -m vpeen.cli run
📦 Downloads
| Asset | Platform | Install |
|---|---|---|
VPeeN-4.5.0-Windows.zip |
Windows 10/11 | unzip → VPeeN.exe |
VPeeN-4.5.0-macOS.zip |
macOS 10.13+ | unzip → VPeeN.app (right-click → Open the first time) |
VPeeN-4.5.0-Linux.tar.gz |
Linux x64 | extract → ./VPeeN |
✅ Verification
scripts/test_speed_pass.py 17/17 PASS (fake TLS upstream)
scripts/test_webui_demo.py 23/23 PASS (live demo-mode server)
scripts/test_vpeen_integration.py 11/11 PASS (fake TLS upstream)
scripts/test_vpeen_fixes.py 59/59 PASS
bench (loopback): cold connect 3.4 ms → warm-pool 1.5 ms (2.3×)
Full Changelog: v4.4.0...v4.5.0