From fe92d3c89efeee72f8b55a2be64347a23518c90f Mon Sep 17 00:00:00 2001 From: idk Date: Thu, 13 Sep 2018 17:30:37 -0400 Subject: [PATCH] Shorter flags for samcatd --- README.md.asc | 16 ++++---- USAGE.md | 85 ++++++++++++++++++++----------------------- daemon/main.go | 99 +++++++++++++++++++++++++++++++++----------------- 3 files changed, 113 insertions(+), 87 deletions(-) diff --git a/README.md.asc b/README.md.asc index bd298f1..f17fdf2 100644 --- a/README.md.asc +++ b/README.md.asc @@ -177,12 +177,12 @@ figure I give it a web interface to configure stuff with. TLS configuration is experimental. -----BEGIN PGP SIGNATURE----- -iQEzBAEBCAAdFiEEcNIGBzi++AUjrK/311wDs5teFOEFAluZ4F4ACgkQ11wDs5te -FOF3Dwf/S778UJLn92LpLFCzu+2mR5w6QRm+z/XYk4fjm4Vrln79BB5ubgc9l/L1 -WVyM7c2vaSgif0S9Wx4TLnPAit448nT7bzQGadeOHWBW+cvL/xNWRDjormDl2/XI -bsaBKshwMETNRS8pliILVbTFJRHGOTePWtauzbcNG6LiIqxoNRlP+N/JZVCjnRAq -FeQ7TweEqJ0UQJy9mFApX8u72Yyvy2lbj45B5/8V0AGGFNbkZvVOe0L9UE/HLu/v -5S5ghS41jjr3qXJb01B/UB1MIoplAuqgQ/+27h4IvG5dLaGvVmdJLjjtSAieDWlD -L0FWkASGxn5RWCjHTtZLTsWkXStX3g== -=CVmn +iQEzBAEBCAAdFiEEcNIGBzi++AUjrK/311wDs5teFOEFAlua1usACgkQ11wDs5te +FOEpaAf+LDscldudy5jnWD/v3zfj8NCQHGzkeRA6/LO5Q4kc5BooNiBVY+V0W1Et +UnKSCUpWN7v2sQ0TfYb+y9mm8oTcSPSX/8ryv41xZeH/k6ifxnZnDFn0SSqXjoQt +EJLZ5czL+je+SR3cJMvcGdOnzffn1kneIZjOOIEFjqq3IkcrcJz1m7kEfWupPRUu +xkTHOUMbU3nzdzJx5VtX+6gm5KCOo+42rBz45L7yo8stHbxAzvqOTX+BBU2SZNk8 +b7nGao9G4s/f82RISuhwnw9ymtQ8soKp/AxJcGztVO8Bdqq2wM1ZNqGSg6jTrasi +SAzJDk1v8jDfzhgzyEA+pGCompnUkw== +=9+UQ -----END PGP SIGNATURE----- diff --git a/USAGE.md b/USAGE.md index 5b50f6d..eb21f77 100644 --- a/USAGE.md +++ b/USAGE.md @@ -89,74 +89,67 @@ usage: ------ ``` +flag needs an argument: -h Usage of ./bin/samcatd: - -access string + -a string Type of access list to use, can be "whitelist" "blacklist" or "none". (default "none") -accesslist value Specify an access list member(can be used multiple times) - -client - Client proxy mode(true or false) - -close - Close tunnel idle(true or false) - -closetime int + -c Client proxy mode(true or false) + -ct int Reduce tunnel quantity after X (milliseconds) (default 600000) - -dest string - Destination for client tunnels. Ignored for service tunnels. (default "none") - -dir string + -d string Directory to save tunnel configuration file in. - -encryptlease - Use an encrypted leaseset(true or false) (default true) - -gzip - Uze gzip(true or false) - -headers - Inject X-I2P-DEST headers - -host string - Target host(Host of service to forward to i2p) (default "127.0.0.1") - -inback int - Set inbound tunnel backup quantity(0 to 5) (default 4) - -incount int - Set inbound tunnel quantity(0 to 15) (default 6) - -ini string + -f string Use an ini file for configuration(config file options override passed arguments for now.) (default "none") - -inlen int + -h string + Target host(Host of service to forward to i2p) (default "127.0.0.1") + -i string + Destination for client tunnels. Ignored for service tunnels. (default "none") + -ib int + Set inbound tunnel backup quantity(0 to 5) (default 4) + -ic int + Set inbound tunnel quantity(0 to 15) (default 6) + -ih + Inject X-I2P-DEST headers + -il int Set inbound tunnel length(0 to 7) (default 3) - -invar int + -iv int Set inbound tunnel length variance(-7 to 7) - -lsk string + -k string path to saved encrypted leaseset keys (default "none") - -name string + -l Use an encrypted leaseset(true or false) (default true) + -n string Tunnel name, this must be unique but can be anything. (default "forwarder") - -outback int + -ob int Set outbound tunnel backup quantity(0 to 5) (default 4) - -outcount int + -oc int Set outbound tunnel quantity(0 to 15) (default 6) - -outlen int + -ol int Set outbound tunnel length(0 to 7) (default 3) - -outvar int + -ov int Set outbound tunnel length variance(-7 to 7) - -port string + -p string Target port(Port of service to forward to i2p) (default "8081") - -reduce - Reduce tunnel quantity when idle(true or false) - -reducecount int + -r Reduce tunnel quantity when idle(true or false) + -rc int Reduce idle tunnel quantity to X (0 to 5) (default 3) - -reducetime int + -rt int Reduce tunnel quantity after X (milliseconds) (default 600000) - -samhost string + -s Start a tunnel with the passed parameters(Otherwise, they will be treated as default values.) + -sh string SAM host (default "127.0.0.1") - -samport string + -sp string SAM port (default "7656") - -save - Use saved file and persist tunnel(If false, tunnel will not persist after program is stopped. - -start - Start a tunnel with the passed parameters(Otherwise, they will be treated as default values.) - -tlsport string + -t Use saved file and persist tunnel(If false, tunnel will not persist after program is stopped. + -tls string (Currently inoperative. Target TLS port(HTTPS Port of service to forward to i2p) - -udp - UDP mode(true or false) - -zeroin + -u UDP mode(true or false) + -x Close tunnel idle(true or false) + -z Uze gzip(true or false) + -zi Allow zero-hop, non-anonymous tunnels in(true or false) - -zeroout + -zo Allow zero-hop, non-anonymous tunnels out(true or false) ``` diff --git a/daemon/main.go b/daemon/main.go index 7e215f2..563ea53 100644 --- a/daemon/main.go +++ b/daemon/main.go @@ -35,39 +35,72 @@ func (f *flagOpts) StringSlice() []string { } var ( - saveFile = flag.Bool("save", false, "Use saved file and persist tunnel(If false, tunnel will not persist after program is stopped.") - startUp = flag.Bool("start", false, "Start a tunnel with the passed parameters(Otherwise, they will be treated as default values.)") - encryptLeaseSet = flag.Bool("encryptlease", true, "Use an encrypted leaseset(true or false)") - inAllowZeroHop = flag.Bool("zeroin", false, "Allow zero-hop, non-anonymous tunnels in(true or false)") - outAllowZeroHop = flag.Bool("zeroout", false, "Allow zero-hop, non-anonymous tunnels out(true or false)") - useCompression = flag.Bool("gzip", false, "Uze gzip(true or false)") - reduceIdle = flag.Bool("reduce", false, "Reduce tunnel quantity when idle(true or false)") - closeIdle = flag.Bool("close", false, "Close tunnel idle(true or false)") - udpMode = flag.Bool("udp", false, "UDP mode(true or false)") - client = flag.Bool("client", false, "Client proxy mode(true or false)") - injectHeaders = flag.Bool("headers", false, "Inject X-I2P-DEST headers") - encryptedLeasesetKeys = flag.String("lsk", "none", "path to saved encrypted leaseset keys") - targetDir = flag.String("dir", "", "Directory to save tunnel configuration file in.") - iniFile = flag.String("ini", "none", "Use an ini file for configuration(config file options override passed arguments for now.)") - targetDestination = flag.String("dest", "none", "Destination for client tunnels. Ignored for service tunnels.") - targetHost = flag.String("host", "127.0.0.1", "Target host(Host of service to forward to i2p)") - targetPort = flag.String("port", "8081", "Target port(Port of service to forward to i2p)") - targetPort443 = flag.String("tlsport", "", "(Currently inoperative. Target TLS port(HTTPS Port of service to forward to i2p)") - samHost = flag.String("samhost", "127.0.0.1", "SAM host") - samPort = flag.String("samport", "7656", "SAM port") - tunName = flag.String("name", "forwarder", "Tunnel name, this must be unique but can be anything.") - accessListType = flag.String("access", "none", "Type of access list to use, can be \"whitelist\" \"blacklist\" or \"none\".") - inLength = flag.Int("inlen", 3, "Set inbound tunnel length(0 to 7)") - outLength = flag.Int("outlen", 3, "Set outbound tunnel length(0 to 7)") - inQuantity = flag.Int("incount", 6, "Set inbound tunnel quantity(0 to 15)") - outQuantity = flag.Int("outcount", 6, "Set outbound tunnel quantity(0 to 15)") - inVariance = flag.Int("invar", 0, "Set inbound tunnel length variance(-7 to 7)") - outVariance = flag.Int("outvar", 0, "Set outbound tunnel length variance(-7 to 7)") - inBackupQuantity = flag.Int("inback", 4, "Set inbound tunnel backup quantity(0 to 5)") - outBackupQuantity = flag.Int("outback", 4, "Set outbound tunnel backup quantity(0 to 5)") - reduceIdleTime = flag.Int("reducetime", 600000, "Reduce tunnel quantity after X (milliseconds)") - closeIdleTime = flag.Int("closetime", 600000, "Reduce tunnel quantity after X (milliseconds)") - reduceIdleQuantity = flag.Int("reducecount", 3, "Reduce idle tunnel quantity to X (0 to 5)") + saveFile = flag.Bool("t", false, + "Use saved file and persist tunnel(If false, tunnel will not persist after program is stopped.") + startUp = flag.Bool("s", false, + "Start a tunnel with the passed parameters(Otherwise, they will be treated as default values.)") + encryptLeaseSet = flag.Bool("l", true, + "Use an encrypted leaseset(true or false)") + inAllowZeroHop = flag.Bool("zi", false, + "Allow zero-hop, non-anonymous tunnels in(true or false)") + outAllowZeroHop = flag.Bool("zo", false, + "Allow zero-hop, non-anonymous tunnels out(true or false)") + useCompression = flag.Bool("z", false, + "Uze gzip(true or false)") + reduceIdle = flag.Bool("r", false, + "Reduce tunnel quantity when idle(true or false)") + closeIdle = flag.Bool("x", false, + "Close tunnel idle(true or false)") + udpMode = flag.Bool("u", false, + "UDP mode(true or false)") + client = flag.Bool("c", false, + "Client proxy mode(true or false)") + injectHeaders = flag.Bool("ih", false, + "Inject X-I2P-DEST headers") + encryptedLeasesetKeys = flag.String("k", "none", + "path to saved encrypted leaseset keys") + targetDir = flag.String("d", "", + "Directory to save tunnel configuration file in.") + iniFile = flag.String("f", "none", + "Use an ini file for configuration(config file options override passed arguments for now.)") + targetDestination = flag.String("i", "none", + "Destination for client tunnels. Ignored for service tunnels.") + targetHost = flag.String("h", "127.0.0.1", + "Target host(Host of service to forward to i2p)") + targetPort = flag.String("p", "8081", + "Target port(Port of service to forward to i2p)") + targetPort443 = flag.String("tls", "", + "(Currently inoperative. Target TLS port(HTTPS Port of service to forward to i2p)") + samHost = flag.String("sh", "127.0.0.1", + "SAM host") + samPort = flag.String("sp", "7656", + "SAM port") + tunName = flag.String("n", "forwarder", + "Tunnel name, this must be unique but can be anything.") + accessListType = flag.String("a", "none", + "Type of access list to use, can be \"whitelist\" \"blacklist\" or \"none\".") + inLength = flag.Int("il", 3, + "Set inbound tunnel length(0 to 7)") + outLength = flag.Int("ol", 3, + "Set outbound tunnel length(0 to 7)") + inQuantity = flag.Int("ic", 6, + "Set inbound tunnel quantity(0 to 15)") + outQuantity = flag.Int("oc", 6, + "Set outbound tunnel quantity(0 to 15)") + inVariance = flag.Int("iv", 0, + "Set inbound tunnel length variance(-7 to 7)") + outVariance = flag.Int("ov", 0, + "Set outbound tunnel length variance(-7 to 7)") + inBackupQuantity = flag.Int("ib", 4, + "Set inbound tunnel backup quantity(0 to 5)") + outBackupQuantity = flag.Int("ob", 4, + "Set outbound tunnel backup quantity(0 to 5)") + reduceIdleTime = flag.Int("rt", 600000, + "Reduce tunnel quantity after X (milliseconds)") + closeIdleTime = flag.Int("ct", 600000, + "Reduce tunnel quantity after X (milliseconds)") + reduceIdleQuantity = flag.Int("rc", 3, + "Reduce idle tunnel quantity to X (0 to 5)") ) var err error