feat: Add SOCKS5 Proxy Support with Bootstrap Only Mode #1752
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds SOCKS5 proxy support to Session Desktop with a "Bootstrap Only" mode, allowing users to route traffic through a SOCKS5 proxy server to bypass network restrictions and Deep Packet Inspection (DPI).
Key Features
1. Full SOCKS5 Proxy Support
2. Bootstrap Only Mode
3. Proxy Settings UI
Technical Implementation
Core Changes
InsecureNodeFetch.ts: Added SOCKS5 proxy agent with TLS preservation
SocksProxyAgentWithTlsclass to maintain TLS optionsSeedNodeAPI.ts: Updated to use proxy for seed node connections
FetchDestination.SEED_NODEProxySettingsPage.tsx: New settings page for proxy configuration
settings-key.ts: New setting keys for proxy configuration
proxyEnabled,proxyHost,proxyPortproxyUsername,proxyPasswordproxyBootstrapOnlyLocalization
Testing
Tested with:
Build Artifacts
All platform builds verified:
Build artifacts available at: https://github.com/scrense-hash/session-desktop/actions/runs/20681144343
Use Cases
Breaking Changes
None. This is a purely additive feature with no impact on existing functionality when disabled.
Related Issues
Addresses requests for proxy support in Session Desktop to improve accessibility in restricted network environments.