隧道链接改成标准URI格式

This commit is contained in:
2026-07-11 22:28:50 +08:00
parent 053450429c
commit 314f90b5f3
66 changed files with 1578 additions and 1506 deletions
@@ -4,10 +4,7 @@ import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketOption;
import java.net.SocketOptions;
import java.net.StandardSocketOptions;
import java.net.UnknownHostException;
import java.nio.channels.SocketChannel;
import java.util.Map;
@@ -15,8 +12,8 @@ public class SocketToSocketProxy extends Proxy {
private SocketListener sl;
private SocketChannelListener scl;
private DatagramSocketListener dsl;
private MultipurposeSocketAddress listen, cbind, defaultConnect;
private Map<String, MultipurposeSocketAddress> detectedConnect;
private MultiProtocolSocketAddress listen, cbind, defaultConnect;
private Map<String, MultiProtocolSocketAddress> detectedConnect;
private SocketBridgeFactory defaultFactory;
private SocketChannelBridgeFactory defaultChannelFactory;
private Map<String, SocketBridgeFactory> detectedFactory;
@@ -30,28 +27,28 @@ public class SocketToSocketProxy extends Proxy {
this.defaultSoTimeout = defaultSoTimeout;
}
public SocketToSocketProxy(MultipurposeSocketAddress listen, MultipurposeSocketAddress connect) throws IOException {
this(listen, new MultipurposeSocketAddress(new InetSocketAddress(0)), connect);
public SocketToSocketProxy(MultiProtocolSocketAddress listen, MultiProtocolSocketAddress connect) throws IOException {
this(listen, new MultiProtocolSocketAddress(new InetSocketAddress(0)), connect);
}
public SocketToSocketProxy(String l, String r) throws IOException {
this(new MultipurposeSocketAddress(l), new MultipurposeSocketAddress(r));
this(new MultiProtocolSocketAddress(l), new MultiProtocolSocketAddress(r));
}
public SocketToSocketProxy(MultipurposeSocketAddress listen, MultipurposeSocketAddress cbind,
MultipurposeSocketAddress defaultConnect, Map<String, MultipurposeSocketAddress> detectedConnect)
public SocketToSocketProxy(MultiProtocolSocketAddress listen, MultiProtocolSocketAddress cbind,
MultiProtocolSocketAddress defaultConnect, Map<String, MultiProtocolSocketAddress> detectedConnect)
throws IOException {
this(listen,cbind,defaultConnect,detectedConnect,new DefaultSocketBridgeFactory(),null);
}
public SocketToSocketProxy(MultipurposeSocketAddress listen, MultipurposeSocketAddress cbind,
MultipurposeSocketAddress defaultConnect, Map<String, MultipurposeSocketAddress> detectedConnect,SocketBridgeFactory defaultFactory,Map<String, SocketBridgeFactory> detectedFactory)
public SocketToSocketProxy(MultiProtocolSocketAddress listen, MultiProtocolSocketAddress cbind,
MultiProtocolSocketAddress defaultConnect, Map<String, MultiProtocolSocketAddress> detectedConnect, SocketBridgeFactory defaultFactory, Map<String, SocketBridgeFactory> detectedFactory)
throws IOException {
this(listen, cbind, defaultConnect, detectedConnect, defaultFactory, detectedFactory, new DefaultSocketChannelBridgeFactory());
}
public SocketToSocketProxy(MultipurposeSocketAddress listen, MultipurposeSocketAddress cbind,
MultipurposeSocketAddress defaultConnect, Map<String, MultipurposeSocketAddress> detectedConnect,SocketBridgeFactory defaultFactory,Map<String, SocketBridgeFactory> detectedFactory,SocketChannelBridgeFactory defaultChannelFactory)
public SocketToSocketProxy(MultiProtocolSocketAddress listen, MultiProtocolSocketAddress cbind,
MultiProtocolSocketAddress defaultConnect, Map<String, MultiProtocolSocketAddress> detectedConnect, SocketBridgeFactory defaultFactory, Map<String, SocketBridgeFactory> detectedFactory, SocketChannelBridgeFactory defaultChannelFactory)
throws IOException {
this.listen = listen;
this.cbind = cbind;
@@ -66,8 +63,8 @@ public class SocketToSocketProxy extends Proxy {
open();
}
public SocketToSocketProxy(MultipurposeSocketAddress listen, MultipurposeSocketAddress cbind,
MultipurposeSocketAddress defaultConnect) throws IOException {
public SocketToSocketProxy(MultiProtocolSocketAddress listen, MultiProtocolSocketAddress cbind,
MultiProtocolSocketAddress defaultConnect) throws IOException {
this(listen, cbind, defaultConnect,null);
}
@@ -112,7 +109,7 @@ public class SocketToSocketProxy extends Proxy {
ProtocolStack ps = ((ProtocolDetectorSocket) sox).getProtocolStack();
if (!ps.isEmpty()) {
String pname=ps.pop().getName();
MultipurposeSocketAddress pmsa = detectedConnect.get(pname);
MultiProtocolSocketAddress pmsa = detectedConnect.get(pname);
if(pmsa!=null) {
sk = pmsa.connectSocket(InetAddress.getByName(cbind.getHost()), cbind.getPort());
}else {
@@ -178,19 +175,19 @@ public class SocketToSocketProxy extends Proxy {
sb.run();
}
public MultipurposeSocketAddress getListen() {
public MultiProtocolSocketAddress getListen() {
return listen;
}
public MultipurposeSocketAddress getCbind() {
public MultiProtocolSocketAddress getCbind() {
return cbind;
}
public MultipurposeSocketAddress getDefaultConnect() {
public MultiProtocolSocketAddress getDefaultConnect() {
return defaultConnect;
}
public Map<String, MultipurposeSocketAddress> getDetectedConnect() {
public Map<String, MultiProtocolSocketAddress> getDetectedConnect() {
return detectedConnect;
}