package main import ( "flag" "log" "strings" "gopkg.in/routeros.v2" ) var ( command = flag.String("command", "/system/resource/print", "RouterOS command") address = flag.String("address", "127.0.0.1:8728", "RouterOS address and port") username = flag.String("username", "admin", "User name") password = flag.String("password", "admin", "Password") async = flag.Bool("async", false, "Use async code") useTLS = flag.Bool("tls", false, "Use TLS") ) func dial() (*routeros.Client, error) { if *useTLS { return routeros.DialTLS(*address, *username, *password, nil) } return routeros.Dial(*address, *username, *password) } func main() { flag.Parse() c, err := dial() if err != nil { log.Fatal(err) } defer c.Close() if *async { c.Async() } r, err := c.RunArgs(strings.Split(*command, " ")) if err != nil { log.Fatal(err) } log.Print(r) }