Skip to content

feat(client): add proxy::SocksV4 and proxy::SocksV5 connectors #187

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

JPDye
Copy link

@JPDye JPDye commented Apr 25, 2025

cc hyperium/hyper#3851, hyperium/hyper#3877 #173

Adds SocksV4 and SocksV5 connectors with simple configuration for local and remote DNS. Supports SOCKSv5 user/pass authentication and allows optimistic message sending (not in RFC but supported by most servers) to reduce number of round-trips in SOCKSv5 handshake.

TODO:

  • Properly test optimistic sending against real server implementations
  • Cleanup error handling

@JPDye JPDye marked this pull request as draft April 25, 2025 14:18
@seanmonstar
Copy link
Member

I think this looks pretty great! What's holding it back as a draft?

@JPDye JPDye force-pushed the socks-connector branch from 591d8f7 to cf3c983 Compare May 8, 2025 12:22
@JPDye
Copy link
Author

JPDye commented May 8, 2025

Needed to test optimistic sending to see if it was worth including. 5/8 of the server implementations I tested worked so I feel like it's a worthwhile addition even if it's not in the RFC.

Will fix the failing check and some of the dirty code in a little, but I'm mostly happy with everything now

@JPDye JPDye marked this pull request as ready for review May 8, 2025 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants