SOCKS 5 username/password authentication doesn't exist?

I've been building a SOCKS 5 proxy from scratch and it was working perfectly fine when I redirected all my traffic through it with no authentication enabled. However, I noticed that adding credentials in my proxy settings did not actually do anything.


When I tried to use the username/password feature in the SOCKS proxy settings, I found after much debugging that the request contained x01 in the methods field (indicating it only supports 1 login method) and then that login method was x00 (NO AUTHENTICATION REQUIRED). Because of this, if my server requires a password, it is unable to agree on a connection method and fails to connect.

Output: \x05\x01\x00


If I did the connection manually via curl with my username and password, it would agree and connect.

Output: \x05\x03\x00\x01\x02

This means that curl supports 3 authentication methods: no authentication required, gssapi and username/password.


Certain mac services (i.e. cloudd) do support it and request a password to use the proxy (which works fine with these services), but the mac itself can't proxy requests through it.


Has anyone noticed something similar with SOCKS 5?

MacBook Air 13″

Posted on Jan 6, 2024 4:13 AM

Reply
2 replies

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

SOCKS 5 username/password authentication doesn't exist?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.