tools.go_host
1:75309599b04f Browse Files
+ Сортировка вывода
.hgignore _build/make.sh host.go src/host.go
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/.hgignore Wed Dec 23 11:42:02 2020 +0300 1.3 @@ -0,0 +1,2 @@ 1.4 +syntax: glob 1.5 +builded_bins/*
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/_build/make.sh Wed Dec 23 11:42:02 2020 +0300 2.3 @@ -0,0 +1,17 @@ 2.4 +#!/bin/sh 2.5 +my_path="$(dirname "$(readlink -f "$0")")" 2.6 +app_dir="$(dirname "$my_path")" 2.7 + 2.8 +src="$app_dir/src" 2.9 +res="$app_dir/builded_bins" 2.10 + 2.11 +mkdir -p "$res" 2.12 + 2.13 +build () { 2.14 + go build -o "$1" -v -x 2.15 +} 2.16 + 2.17 +cd "$src" 2.18 +go fmt 2.19 +build "$res/host" 2.20 +GOOS=windows GOARCH=amd64 build "$res/host.exe"
3.1 --- a/host.go Tue Dec 22 23:36:40 2020 +0300 3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 3.3 @@ -1,56 +0,0 @@ 3.4 -package main 3.5 - 3.6 -import ( 3.7 - "fmt" 3.8 - "net" 3.9 - "os" 3.10 - 3.11 - idna "golang.org/x/net/idna" 3.12 -) 3.13 - 3.14 -func say_err(msg interface{}) { 3.15 - _, err := fmt.Fprintf(os.Stderr, "ERROR: %s\n", msg) 3.16 - if err != nil { 3.17 - panic(err) 3.18 - } 3.19 - 3.20 - os.Exit(1) 3.21 -} 3.22 - 3.23 -func main() { 3.24 - if len(os.Args) < 2 { 3.25 - say_err("Need hostname or IP as argument") 3.26 - } 3.27 - 3.28 - arg := os.Args[1] 3.29 - 3.30 - ip := net.ParseIP(arg) 3.31 - 3.32 - if ip != nil { 3.33 - res, err := net.LookupAddr(ip.String()) 3.34 - if err != nil { 3.35 - say_err(err) 3.36 - } 3.37 - 3.38 - for _, i := range res { 3.39 - fmt.Println(i) 3.40 - } 3.41 - 3.42 - } else { 3.43 - hostname, err := idna.ToASCII(arg) 3.44 - if err != nil { 3.45 - say_err(err) 3.46 - } 3.47 - 3.48 - res, err := net.LookupHost(hostname) 3.49 - if err != nil { 3.50 - say_err(err) 3.51 - } 3.52 - 3.53 - for _, i := range res { 3.54 - fmt.Println(i) 3.55 - } 3.56 - 3.57 - } 3.58 - 3.59 -}
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/src/host.go Wed Dec 23 11:42:02 2020 +0300 4.3 @@ -0,0 +1,60 @@ 4.4 +package main 4.5 + 4.6 +import ( 4.7 + "fmt" 4.8 + "net" 4.9 + "os" 4.10 + "sort" 4.11 + 4.12 + idna "golang.org/x/net/idna" 4.13 +) 4.14 + 4.15 +func say_err(msg interface{}) { 4.16 + _, err := fmt.Fprintf(os.Stderr, "ERROR: %s\n", msg) 4.17 + if err != nil { 4.18 + panic(err) 4.19 + } 4.20 + 4.21 + os.Exit(1) 4.22 +} 4.23 + 4.24 +func out_res(items []string) { 4.25 + sort.Strings(items) 4.26 + for _, i := range items { 4.27 + fmt.Println(i) 4.28 + } 4.29 +} 4.30 + 4.31 +func main() { 4.32 + if len(os.Args) < 2 { 4.33 + say_err("Need hostname or IP as argument") 4.34 + } 4.35 + 4.36 + arg := os.Args[1] 4.37 + 4.38 + ip := net.ParseIP(arg) 4.39 + 4.40 + if ip != nil { 4.41 + res, err := net.LookupAddr(ip.String()) 4.42 + if err != nil { 4.43 + say_err(err) 4.44 + } 4.45 + 4.46 + out_res(res) 4.47 + 4.48 + } else { 4.49 + hostname, err := idna.ToASCII(arg) 4.50 + if err != nil { 4.51 + say_err(err) 4.52 + } 4.53 + 4.54 + res, err := net.LookupHost(hostname) 4.55 + if err != nil { 4.56 + say_err(err) 4.57 + } 4.58 + 4.59 + out_res(res) 4.60 + 4.61 + } 4.62 + 4.63 +}