report state of tunnels (open vs opening)

pull/8/head
knaccc 5 years ago
parent ab75b5c582
commit 21c001fc37

@ -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 -> {

Loading…
Cancel
Save