[ https://issues.apache.org/jira/browse/DIRMINA-963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17813617#comment-17813617 ]
Beate Pomahatsch commented on DIRMINA-963: ------------------------------------------ We faced this issue just recently and it makes me wonder that this issue has not been resolved since 2012. Isn't there anyone else using Quickfix/J with Socks5-Proxy and no local dns resolution for external addresses? > 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: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org