mirror of
https://github.com/wownero/i2p-zero.git
synced 2026-10-17 15:21:40 +02:00
report state of tunnels (open vs opening)
This commit is contained in:
@@ -100,6 +100,12 @@ specified host and port. Note that the base 32 I2P destination address determini
|
||||
|
||||
`tunnel-control.sh server.create <host> <port> <(optional) directory>`
|
||||
|
||||
#### Check the state of a tunnel. Returns "opening" or "open"
|
||||
|
||||
`tunnel-control.sh server.state <base 32 I2P address>`
|
||||
`tunnel-control.sh client.state <local port>`
|
||||
`tunnel-control.sh socks.state <local port>`
|
||||
|
||||
|
||||
#### Close the tunnel listening for connections on the specified I2P destination address. Returns "OK".
|
||||
|
||||
|
||||
@@ -349,6 +349,14 @@ public class TunnelControl implements Runnable {
|
||||
break;
|
||||
}
|
||||
|
||||
case "server.state": {
|
||||
String dest = args[1];
|
||||
tunnelList.getTunnelsCopyStream().filter(t -> t.getType().equals("server") && ((ServerTunnel) t).dest.equals(dest)).forEach(t -> {
|
||||
out.println(((ServerTunnel) t).tunnel==null ? "opening" : "open");
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
case "client.create": {
|
||||
String destPubKey = args[1];
|
||||
int port = Integer.parseInt(args[2]);
|
||||
@@ -368,6 +376,14 @@ public class TunnelControl implements Runnable {
|
||||
break;
|
||||
}
|
||||
|
||||
case "client.state": {
|
||||
int port = Integer.parseInt(args[1]);
|
||||
tunnelList.getTunnelsCopyStream().filter(t->t.getType().equals("client") && ((ClientTunnel) t).port == port).forEach(t->{
|
||||
out.println(((ClientTunnel) t).tunnel==null ? "opening" : "open");
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
case "socks.create": {
|
||||
int port = Integer.parseInt(args[1]);
|
||||
tunnelList.addTunnel(new SocksTunnel(port));
|
||||
@@ -384,6 +400,13 @@ public class TunnelControl implements Runnable {
|
||||
out.println("OK");
|
||||
break;
|
||||
}
|
||||
case "socks.state": {
|
||||
int port = Integer.parseInt(args[1]);
|
||||
tunnelList.getTunnelsCopyStream().filter(t -> t.getType().equals("socks") && ((SocksTunnel) t).port == port).forEach(t -> {
|
||||
out.println(((SocksTunnel) t).tunnel==null ? "opening" : "open");
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
case "all.destroy": {
|
||||
tunnelList.getTunnelsCopyStream().forEach(t -> {
|
||||
|
||||
Reference in New Issue
Block a user