46 lines
763 B
Go
46 lines
763 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
|
|
"github.com/urfave/cli/v2"
|
|
"github.com/zhang2092/health-check/internal"
|
|
)
|
|
|
|
func main() {
|
|
app := cli.App{
|
|
Name: "健康检查",
|
|
Usage: "健康检查小工具",
|
|
Flags: []cli.Flag{
|
|
&cli.StringFlag{
|
|
Name: "domain",
|
|
Aliases: []string{"d"},
|
|
Usage: "目标",
|
|
Required: true,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "port",
|
|
Aliases: []string{"p"},
|
|
Usage: "端口",
|
|
Required: false,
|
|
},
|
|
},
|
|
Action: func(ctx *cli.Context) error {
|
|
port := ctx.String("port")
|
|
if len(port) == 0 {
|
|
port = "80"
|
|
}
|
|
status := internal.Check(ctx.String("domain"), port)
|
|
fmt.Println(status)
|
|
return nil
|
|
},
|
|
}
|
|
|
|
err := app.Run(os.Args)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|