-
Notifications
You must be signed in to change notification settings - Fork 75
Description
Describe the feature
Hello,
As part of an internal project, we implemented SOCKS5 proxy support across several AWS CRT libraries:
- aws-crt-cpp
- aws-c-io
- aws-c-http
- aws-c-mqtt
- aws-c-auth
We’re planning to upstream these changes, but before submitting any PRs, we’d like to gather feedback and ensure that our implementation aligns well with the existing CRT architecture and design principles.
The implementation currently includes:
- Support for both unauthenticated and username/password SOCKS5 proxies
- Integration with TLS connections
- Both client-side and proxy-side DNS resolution
- Initial unit and integration tests at the socket and protocol layers (to be adapted and extended for upstream)
Could you please advise us on the preferred next steps for contributing these changes?
For example:
- Would you prefer a design summary or draft PR for initial review?
- How this feature should be properly tested? We are currently including some integration tests we run locally which will have to be adapted.
We appreciate your guidance and are happy to share additional design details or testing results as needed.
Thank you!
Use Case
Our internal use cases require routing MQTT over websocket and HTTP connections through SOCKS5 proxies.
Proposed Solution
Here you can find a preview of the changes we are planing to upstream:
- Add socks5 proxy support #797
- Add socks5 proxy support aws-c-io#771
- Add socks5 proxy support aws-c-http#536
- Add socks5 proxy support aws-c-mqtt#410
- Add socks5 proxy support aws-c-auth#277
Other Information
No response
Acknowledgements
- I may be able to implement this feature request
- This feature might incur a breaking change