[
https://issues.apache.org/jira/browse/DIRMINA-963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17815906#comment-17815906
]
Jonathan Valliere commented on DIRMINA-963:
-------------------------------------------
I can try to look at this sometime in the next couple of weeks. However, it
clearly looks like this isn't a problem for many people given how old this
ticket is.
> Socks5 and ProxyConnector don't work with InetSocketAddress.createUnresolved
> ----------------------------------------------------------------------------
>
> Key: DIRMINA-963
> URL: https://issues.apache.org/jira/browse/DIRMINA-963
> Project: MINA
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0.7
> Reporter: Daniele guiducci
> Assignee: Jonathan Valliere
> Priority: Major
> Labels: InetSocketAddress, bug, proxy, socks
>
> I'm tring to use Tor to connect using proxy (SOCKS5).
> InetSocketAddress resolve dns without use Tor, so i can not use in production.
> To use tor to resolve dns i must use InetSocketAddress.createUnresolved.
> java.net.Socket work perfectly also with .onion url.
> {code}
> public static void main(String[] args) throws Exception{
> NioSocketConnector nioConnector=new NioSocketConnector();
> nioConnector.setConnectTimeoutMillis(60000);
> SocksProxyRequest pr = new SocksProxyRequest(
> SocksProxyConstants.SOCKS_VERSION_5,
> SocksProxyConstants.ESTABLISH_TCPIP_STREAM,
> new InetSocketAddress("www.google.com", 80), "");
> ProxyIoSession ps=new ProxyIoSession(new
> InetSocketAddress("127.0.0.1", 9050), pr);
> ProxyConnector connector=new ProxyConnector(nioConnector);
> connector.getFilterChain().addLast("logger", new LoggingFilter());
> connector.setProxyIoSession(ps);
> connector.setHandler(new MyHandler());
> ConnectFuture cf=connector.connect();
> IoSession session=cf.getSession();
> session.getCloseFuture().awaitUninterruptibly();
> cf.awaitUninterruptibly();
> Thread.sleep(40000);
> }
> private static class MyHandler extends AbstractProxyIoHandler {
> @Override
> public void proxySessionOpened(IoSession session) {
> System.out.println("ProxySession aperta");
> session.write(IoBuffer.wrap("GET / HTTP/1.0\n\n".getBytes()));
> }
> @Override
> public void messageReceived(IoSession session, Object msg) {
> System.out.println("Data:"+new String(((IoBuffer)msg).array()));
> }
> @Override
> public void exceptionCaught(IoSession session, Throwable cause)
> throws Exception {
> System.out.println("Error: "+cause);
> }
> }
> {code}
> =======================================================
> {code}
> public static void main(String[] args) throws Exception{
> NioSocketConnector nioConnector=new NioSocketConnector();
> nioConnector.setConnectTimeoutMillis(60000);
> SocksProxyRequest pr = new SocksProxyRequest(
> SocksProxyConstants.SOCKS_VERSION_5,
> SocksProxyConstants.ESTABLISH_TCPIP_STREAM,
> InetSocketAddress.createUnresolved("www.google.com", 80),
> "");
> ProxyIoSession ps=new ProxyIoSession(new
> InetSocketAddress("127.0.0.1", 9050), pr);
> ProxyConnector connector=new ProxyConnector(nioConnector);
> connector.getFilterChain().addLast("logger", new LoggingFilter());
> connector.setProxyIoSession(ps);
> connector.setHandler(new MyHandler());
> ConnectFuture cf=connector.connect();
> IoSession session=cf.getSession();
> session.getCloseFuture().awaitUninterruptibly();
> cf.awaitUninterruptibly();
> Thread.sleep(40000);
> }
> private static class MyHandler extends AbstractProxyIoHandler {
> @Override
> public void proxySessionOpened(IoSession session) {
> System.out.println("ProxySession aperta");
> session.write(IoBuffer.wrap("GET / HTTP/1.0\n\n".getBytes()));
> }
> @Override
> public void messageReceived(IoSession session, Object msg) {
> System.out.println("Data:"+new String(((IoBuffer)msg).array()));
> }
> @Override
> public void exceptionCaught(IoSession session, Throwable cause)
> throws Exception {
> System.out.println("Error: "+cause);
> }
> }
> {code}
> =========================
> java.net.Socket example working with tor.
> {code}
> Socket socket=new Socket(new Proxy(Proxy.Type.SOCKS,new
> InetSocketAddress("127.0.0.1", 9050)));
> System.out.println("Tryng connect ");
>
> socket.connect(InetSocketAddress.createUnresolved("kpvz7ki2v5agwT35.onion",
> 80),200000);
> System.out.println("Connected.");
> OutputStream os=socket.getOutputStream();
> os.write("GET /wiki/index.php/Main_Page HTTP/1.0\n\n".getBytes());
> os.flush();
> System.out.println("Waiting answer.");
>
> System.out.println("Output:"+IOUtils.toString(socket.getInputStream()));
> {code}
> Tell me for other information.
> Thank you.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]