Skip to content

Support SOCKS5 proxy for tri protocol in NettyConnectionClient #16276

@ljlao

Description

@ljlao

Pre-check

  • I am sure that all the content I provide is in English.

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Apache Dubbo Component

Java SDK (apache/dubbo)

Descriptions

Body:
Hello maintainers,

We are currently using Dubbo 3.3.6 with the tri (Triple) protocol. While reviewing the source code, I noticed that org.apache.dubbo.remoting.transport.netty4.NettyConnectionClient still contains the following TODO:

// set null but do not close this client, it will be reconnecting in the future
ch.closeFuture().addListener(channelFuture -> clearNettyChannel());
// TODO support Socks5

From our current testing, it seems that tri protocol does not yet support SOCKS5 proxying on the client side. JVM-level proxy settings such as:

-DsocksProxyHost=...
-DsocksProxyPort=...

do not appear to work for tri connections, which is understandable since the client is based on Netty rather than plain JDK sockets.

We have a real use case for this feature, such as:

  • local development environments accessing remote Dubbo services through a SOCKS5 proxy
  • cross-network or restricted-network scenarios where direct connectivity is not available

Could you please clarify:

  1. Is SOCKS5 support for tri protocol already on the roadmap?
  2. If yes, is there any planned version or milestone for it?
  3. If not, what would be the recommended extension point or workaround for now?
    For example, is it expected to support something like Netty's Socks5ProxyHandler in the client pipeline in the future?

Environment:

  • Dubbo version: 3.3.6
  • Protocol: tri / Triple
  • Transport: Netty

Thanks in advance.

Related issues

No response

Are you willing to submit a pull request to fix on your own?

  • Yes I am willing to submit a pull request on my own!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedEverything needs help from contributors

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions