Beispiel #1
0
func tunnelCreate(args []string, c *client.Client) {
	host := ""
	udp := false
	filtered := make([]string, 0)
	for _, arg := range args {
		if arg == "--udp" {
			udp = true
		} else {
			filtered = append(filtered, arg)
		}
	}
	args = filtered
	if len(args) > 1 {
		log.Fatalf("Too many args for tunnel-create: %v", args[1:])
	} else if len(args) == 0 {
		log.Fatalf("Argument host is required for tunnel-create")
	}
	host = args[0]
	var err error
	host, err = utils.ValidateAddr(args[0])
	if err != nil {
		log.Fatalf("%v", err)
	}

	src, dst, err := c.CreateTunnel(host, udp)
	if err != nil {
		log.Fatalf("client.CreateTunnel failed: %v", err)
	}
	fmt.Printf("%v %v\n", src, dst)
}