feat: Add SOCKS5 proxy support#1751
feat: Add SOCKS5 proxy support#1751scrense-hash wants to merge 14 commits intosession-foundation:devfrom
Conversation
471f358 to
1e6ad13
Compare
Working Build AvailableTested build artifacts with full SOCKS5 proxy UI are available here: What's included:These commits add critical fixes on top of the main SOCKS5 proxy support:
Testing status:✅ Tested on Linux (AppImage, deb) Download the AppImage or deb package from the artifacts link above to test the full functionality. |
This reverts commit ada9559.
Updated Build Available ✅Latest successful build with all fixes: What's new in this build:✅ Fix: Save button now visible when proxy is disabled - You can now properly save disabled proxy state Available artifacts (all platforms):
Testing status:✅ All builds completed successfully Download from the artifacts link above to test the complete functionality. |
Add "Bootstrap Only" toggle in proxy settings to use proxy only for initial connection phase (handshake). When enabled, only SEED_NODE requests go through proxy, all other traffic is direct. Changes: - Add proxyBootstrapOnly setting key - Add UI toggle in ProxySettingsPage - Implement shouldUseProxyForDestination() logic - Add localization for ru and en - Update getProxyAgent() to accept destination parameter 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Trigger new artifact build with SOCKS5 proxy Bootstrap Only mode enabled. This build includes: - Bootstrap Only toggle in proxy settings - Proxy used only for SEED_NODE connections - All other traffic sent directly 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
Cool stuff, hopefully we can get some time to review this soon, SOCKS Proxy support has been requested here #816 and is being tracked internally via SES-2167 |
Summary
This PR adds full SOCKS5 proxy support to Session Desktop, enabling all application traffic (including onion requests) to be routed through a SOCKS5 proxy server.
Features
Changes
18 files changed, 734 insertions(+), 20 deletions(-)
Core Implementation
InsecureNodeFetch.ts(+195 lines) -SocksProxyAgentWithTlsclass and integrationProxySettingsPage.tsx(+199 lines) - UI for proxy configurationsettings-key.ts(+15 lines) - Proxy settings storage keysIntegration
SeedNodeAPI.ts- 30s timeout when proxy enabledonionPath.ts- 30s timeout when proxy enabledupdater.ts- Disable auto-update with proxy (prevents leaks)main_node.ts- Electron proxy configurationDependencies
socks@^2.8.3,socks-proxy-agent@^8.0.4Localization
Security
sslAgentTesting
✅ Built and tested on:
Use Cases
🤖 Generated with Claude Code