Skip to content

Upstreaming SOCKS5 proxy support across CRT libraries #790

@carlos-apex

Description

@carlos-apex

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:

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestA feature should be added or improved.needs-triageThis issue or PR still needs to be triaged.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions