Support for SOCKS5 UDP_ASSOCIATE command#570
Conversation
decapsulate_udp_packet() signature. Moved udp data copy outside these functions
|
looks interesting , why its still not merged yet? |
|
@Abhinavpatel00 proxychains wasn't designed with UDP in mind, and integrating this properly is a huge task - or even impossible, if we want to keep all existing configuration knobs working. first of all, this PR only supports UDP via socks5, whereas proxychains supports HTTP, SOCKS4(a) and SOCKS5. next it's unclear whether this PR only supports a single proxy, or chaining of multiple proxies - which is the main feature of proxychains, as reflected in the name. it's also unclear whether the PR works properly with dnat, localnet, and all the other features. the PR is also huge - more than 2000 lines of code changed or added. a proper review would require a lot of time, which i'm currently unable to spend. even with that done, it's likely a lot of new bugs would be introduced in corner-cases, which i would have to fix myself over time. last but not least the PR introduces a dependency on libuv, if i understand correctly, just because the author likes that particular library and wants to support it out-of-the-box. that's completely unacceptable for upstreaming. |
thanks a ton for such a detailed reply :D , you might be on of the most humble oss maintainer out there |
|
Hello, since the Discord is now blocked in Russia, this will be very useful. Voice calls don't work without UDP and I can't find any other software to proxify UDP... (except tun interface) |
you can try out the fork's version i guess? |
|
I tested this version, it doesn't compile with GCC 14, GCC 13 compiled fine, it works normally with IPv4 UDP connections, but not with IPv6 ones: |
) * feat(client): allow passing outgoing traffic through a SOCKS5 proxy This could be useful if you want to reach the target tuic-server through another proxy. And usually external tools such as [proxychains-ng does not support sockifying UDP traffic](rofl0r/proxychains-ng#570). The SOCKS5 proxy should support UDP. So there is a small pitfall when you use a SOCKS5 proxy that is another tuic-server with an SOCKS5 outbound enabled and its `allow_udp` is set as false, because UDP over SOCKS5 outbound of tuic-server is not implemented. * make socks5 udp_buffer_size configurable(default to 2048); fix using ipv6 socks5 server; add address unmapping in UdpSession::send and recv
I have been working on the UDP support in ProxyChains. I have written a wiki (https://github.com/hc-syn/proxychains-ng/wiki) to explain my implementation.