Mercurial > mercurial > hgweb_golang.cgi
comparison src/ut/main.go @ 20:0a6541999b53
ut: add netcat.
| author | pyon@macmini |
|---|---|
| date | Sat, 23 Jun 2018 18:23:54 +0900 |
| parents | 8008046c8d76 |
| children | 4232b4cbeeb5 |
comparison
equal
deleted
inserted
replaced
| 19:8008046c8d76 | 20:0a6541999b53 |
|---|---|
| 14 "fmt" | 14 "fmt" |
| 15 "io" | 15 "io" |
| 16 "io/ioutil" | 16 "io/ioutil" |
| 17 "log" | 17 "log" |
| 18 "mime/multipart" | 18 "mime/multipart" |
| 19 "net" | |
| 20 "net/http" | 19 "net/http" |
| 21 "os" | 20 "os" |
| 22 "runtime" | 21 "runtime" |
| 23 "strconv" | 22 "strconv" |
| 24 "strings" | 23 "strings" |
| 25 "time" | 24 "time" |
| 26 | 25 |
| 27 "./lu" | 26 "./lu" |
| 27 "./nw" | |
| 28 ) | 28 ) |
| 29 | 29 |
| 30 var version = "1.04" | 30 var version = "1.05" |
| 31 | 31 |
| 32 func main() { | 32 func main() { |
| 33 | 33 |
| 34 var getfile = flag.Bool( "g", false, "get a file from site." ) // ok | 34 var getfile = flag.Bool( "g", false, "get a file from site." ) // ok |
| 35 var putfile = flag.Bool( "G", false, "put a file to site." ) // ok | 35 var putfile = flag.Bool( "G", false, "put a file to site." ) // ok |
| 38 var noprefix = flag.Bool( "n", false, "not add prefix(YYYYMMDDhhmm_) to filename." ) // ok | 38 var noprefix = flag.Bool( "n", false, "not add prefix(YYYYMMDDhhmm_) to filename." ) // ok |
| 39 | 39 |
| 40 var wget = flag.Bool( "w", false, "little wget tool." ) // ok | 40 var wget = flag.Bool( "w", false, "little wget tool." ) // ok |
| 41 var wc_l = flag.Bool( "l", false, "little wc -l tool." ) // ok | 41 var wc_l = flag.Bool( "l", false, "little wc -l tool." ) // ok |
| 42 var catn = flag.Bool( "C", false, "little cat -n tool." ) // ok | 42 var catn = flag.Bool( "C", false, "little cat -n tool." ) // ok |
| 43 var reverse = flag.Bool( "q", false, "little tac tool. ( reverse file )" ) // ok | 43 var reverse = flag.Bool( "R", false, "little tac tool. ( reverse file )" ) // ok |
| 44 var uniq = flag.Bool( "u", false, "little uniq tool." ) // ok | 44 var uniq = flag.Bool( "u", false, "little uniq tool." ) // ok |
| 45 var uniqc = flag.Bool( "uc", false, "little uniq tool.( count )" ) // ok | 45 var uniqc = flag.Bool( "uc", false, "little uniq tool.( count )" ) // ok |
| 46 var uniqd = flag.Bool( "ud", false, "little uniq tool.( only dup )" ) // ok | 46 var uniqd = flag.Bool( "ud", false, "little uniq tool.( only dup )" ) // ok |
| 47 var uniqdc = flag.Bool( "udc", false, "little uniq tool.( count dup )" ) // ok | 47 var uniqdc = flag.Bool( "udc", false, "little uniq tool.( count dup )" ) // ok |
| 48 var md5 = flag.Bool( "md5", false, "md5." ) // ok | 48 var md5 = flag.Bool( "md5", false, "md5." ) // ok |
| 50 var grep = flag.String( "a", "", "little grep tool." ) // ok | 50 var grep = flag.String( "a", "", "little grep tool." ) // ok |
| 51 var grepv = flag.String( "b", "", "little grep -v tool." ) // ok | 51 var grepv = flag.String( "b", "", "little grep -v tool." ) // ok |
| 52 var orgrep = flag.String( "A", "", "little grep tool. ( from list file )" ) // ok | 52 var orgrep = flag.String( "A", "", "little grep tool. ( from list file )" ) // ok |
| 53 var orgrepv = flag.String( "B", "", "little grep -v tool. ( from list file )" ) // ok | 53 var orgrepv = flag.String( "B", "", "little grep -v tool. ( from list file )" ) // ok |
| 54 var tee = flag.String( "e", "", "little tee tool." ) // ok | 54 var tee = flag.String( "e", "", "little tee tool." ) // ok |
| 55 var nc = flag.Bool( "nc", false, "netcat." ) // ok | |
| 56 var ncl = flag.Bool( "ncl", false, "netcat listen-mode." ) // ok | |
| 57 | |
| 55 | 58 |
| 56 var msleep = flag.Bool( "M", false, "sleep." ) | 59 var msleep = flag.Bool( "M", false, "sleep." ) |
| 57 //var swatch = flag.Bool( "W", false, "stop watch." ) | 60 //var swatch = flag.Bool( "W", false, "stop watch." ) |
| 58 //var bccalc = flag.Bool( "j", false, "calculator." ) | 61 //var bccalc = flag.Bool( "j", false, "calculator." ) |
| 59 //var bhole = flag.Bool( "k", false, "black hole. ( /dev/null )" ) | 62 //var bhole = flag.Bool( "k", false, "black hole. ( /dev/null )" ) |
| 91 // IP, mask, gw, dns | 94 // IP, mask, gw, dns |
| 92 host, _ := os.Hostname() | 95 host, _ := os.Hostname() |
| 93 fmt.Fprintf( os.Stderr, "OS = %s\n", runtime.GOOS ) | 96 fmt.Fprintf( os.Stderr, "OS = %s\n", runtime.GOOS ) |
| 94 fmt.Fprintf( os.Stderr, "ARCH = %s\n", runtime.GOARCH ) | 97 fmt.Fprintf( os.Stderr, "ARCH = %s\n", runtime.GOARCH ) |
| 95 fmt.Fprintf( os.Stderr, "HOSTNAME = %s", host ) | 98 fmt.Fprintf( os.Stderr, "HOSTNAME = %s", host ) |
| 96 addrs, err := net.InterfaceAddrs() | 99 fmt.Fprintf( os.Stderr, " [%s]\n", nw.GetLocalIP() ) |
| 97 if err != nil { | |
| 98 log.Fatal( err ) | |
| 99 } | |
| 100 ip := "127.0.0.1" | |
| 101 for _, addr := range addrs { | |
| 102 if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { | |
| 103 if ipnet.IP.To4() != nil { | |
| 104 ip = ipnet.IP.String() | |
| 105 } | |
| 106 } | |
| 107 } | |
| 108 fmt.Fprintf( os.Stderr, " [%s]\n", ip ) | |
| 109 os.Exit( 0 ) | 100 os.Exit( 0 ) |
| 110 } | 101 } |
| 111 | 102 |
| 112 /* Here Utility Function ( unix tool like tools ) */ | 103 /* Here Utility Function ( unix tool like tools ) */ |
| 113 if *msleep { | 104 if *msleep { |
| 273 if *sha256 { // done. | 264 if *sha256 { // done. |
| 274 if err := is_exist_files( flag.Args() ); err != nil { | 265 if err := is_exist_files( flag.Args() ); err != nil { |
| 275 log.Fatal( err ) | 266 log.Fatal( err ) |
| 276 } | 267 } |
| 277 lu.Sha256( flag.Args() ) | 268 lu.Sha256( flag.Args() ) |
| 269 os.Exit( 0 ) | |
| 270 } | |
| 271 | |
| 272 if *nc { // done. | |
| 273 if flag.NArg() != 2 { | |
| 274 fmt.Fprintf( os.Stderr, "$ ut -nc 192.168.0.55 8080\n" ) | |
| 275 os.Exit( 1 ) | |
| 276 } | |
| 277 nw.Netcat( flag.Args()[0], flag.Args()[1] ) | |
| 278 os.Exit( 0 ) | |
| 279 } | |
| 280 | |
| 281 if *ncl { // done. | |
| 282 if flag.NArg() == 0 { | |
| 283 fmt.Fprintf( os.Stderr, "$ ut -ncl 8080\n" ) | |
| 284 os.Exit( 1 ) | |
| 285 } | |
| 286 nw.Netcat_l( flag.Args()[0] ) | |
| 278 os.Exit( 0 ) | 287 os.Exit( 0 ) |
| 279 } | 288 } |
| 280 | 289 |
| 281 if *ipscan { | 290 if *ipscan { |
| 282 fmt.Fprintln( os.Stderr, "not implement" ) | 291 fmt.Fprintln( os.Stderr, "not implement" ) |
