Java源码示例:com.runjva.sourceforge.jsocks.protocol.SocksSocket
示例1
/**
* Resolves a hostname via remote DNS over socks5 proxy.
*/
@Nullable
public static InetSocketAddress lookup(Socks5Proxy proxy, InetSocketAddress addr) {
if (!addr.isUnresolved()) {
return addr;
}
try {
SocksSocket proxySocket = new SocksSocket(proxy, addr.getHostString(), addr.getPort());
InetAddress addrResolved = proxySocket.getInetAddress();
proxySocket.close();
if (addrResolved != null) {
log.debug("Resolved " + addr.getHostString() + " to " + addrResolved.getHostAddress());
return new InetSocketAddress(addrResolved, addr.getPort());
} else {
// note: .onion nodes fall in here when proxy is Tor. But they have no IP address.
// Unfortunately bitcoinj crashes in PeerAddress if it finds an unresolved address.
log.error("Connected to " + addr.getHostString() + ". But did not resolve to address.");
}
} catch (Exception e) {
log.warn("Error resolving " + addr.getHostString() + ". Exception:\n" + e.toString());
}
return null;
}
示例2
/**
* Resolves a hostname via remote DNS over socks5 proxy.
*/
@Nullable
public static InetSocketAddress lookup(Socks5Proxy proxy, InetSocketAddress addr) {
if (!addr.isUnresolved()) {
return addr;
}
try {
SocksSocket proxySocket = new SocksSocket(proxy, addr.getHostString(), addr.getPort());
InetAddress addrResolved = proxySocket.getInetAddress();
proxySocket.close();
if (addrResolved != null) {
//log.debug("Resolved " + addr.getHostString() + " to " + addrResolved.getHostAddress());
return new InetSocketAddress(addrResolved, addr.getPort());
} else {
// note: .onion nodes fall in here when proxy is Tor. But they have no IP address.
// Unfortunately bitcoinj crashes in PeerAddress if it finds an unresolved address.
log.error("Connected to " + addr.getHostString() + ". But did not resolve to address.");
}
} catch (Exception e) {
log.warn("Error resolving " + addr.getHostString() + ". Exception:\n" + e.toString());
}
return null;
}
示例3
public static Socket Socks5connection(Socks5Proxy proxy, String onionUrl, int HiddenServicePort) throws IOException {
Socket ssock = new SocksSocket(proxy, onionUrl, HiddenServicePort);
ssock.setTcpNoDelay(true);
return ssock;
}