solucion sirve que para example configurar code behind java sockets ssl proxy socks

sirve - proxy java example



SOCKS5 Proxy con SSLSocket (1)

Tengo una aplicación cliente / servidor que se conecta de forma remota a un servidor a través de SSLSocket de Java.

Estoy tratando de implementar un modo opcional que permita las conexiones a través de un proxy SOCKS v5 autenticado.

Intenté utilizar el tutorial relevante, pero no menciona nada sobre SSL específicamente.

Intenté establecer las propiedades de todo el sistema ("socksProxyHost" y "socksProxyPort"), pero parece que no hace nada.

Mi siguiente enfoque fue utilizar el método de fábrica en SSLSocketFactory:

String proxyHost = Config.prefs.get("PROXY_NAME", "localhost"); int proxyPort = Config.prefs.getInt("PROXY_PORT", 1080); InetSocketAddress proxyAddr = new InetSocketAddress(proxyHost, proxyPort); Socket underlying = new SSLSocket(new Proxy(Proxy.Type.SOCKS, proxyAddr)); underlying.connect(new InetSocketAddress(getHost(), getPort())); socket = (SSLSocket) factory.createSocket( underlying, getHost(), getPort(), true);

Pero el problema con este enfoque es que el método createSocket requiere que el socket subyacente ya esté conectado, y mi servidor no aceptará conexiones que no sean SSL.

¿Cuál es la mejor manera de conectarme a mi servidor remoto usando SOCKS? Además, no tengo ni idea de cómo proporcionar un nombre de usuario / contraseña para SOCKS autenticados en este sistema.

¡Gracias!


String proxyHost = Config.prefs.get("PROXY_NAME", "localhost"); int proxyPort = Config.prefs.getInt("PROXY_PORT", 1080); InetSocketAddress proxyAddr = new InetSocketAddress(proxyHost, proxyPort); Socket underlying = new Socket(new Proxy(Proxy.Type.SOCKS, proxyAddr)); underlying.connect(new InetSocketAddress(getHost(), getPort())); socket = (SSLSocket) factory.createSocket( underlying, proxyHost, proxyPort, true);