package net import ( "b612.me/apps/b612/netforward" "github.com/spf13/cobra" ) var Cmd = &cobra.Command{ Use: "net", Short: "网络工具,包括nat穿透,端口转发等", } func init() { Cmd.AddCommand(netforward.CmdNetforward) } var natc NatClient var nats NatServer func init() { CmdNatClient.Flags().StringVarP(&natc.ServiceTarget, "target", "t", "", "forward server target address") CmdNatClient.Flags().StringVarP(&natc.CmdTarget, "server", "s", "", "nat server command address") CmdNatClient.Flags().StringVarP(&natc.Passwd, "passwd", "p", "", "password") CmdNatClient.Flags().BoolVarP(&natc.enableTCP, "enable-tcp", "T", true, "enable tcp forward") CmdNatClient.Flags().BoolVarP(&natc.enableUDP, "enable-udp", "U", true, "enable udp forward") CmdNatClient.Flags().IntVarP(&natc.DialTimeout, "dial-timeout", "d", 10000, "dial timeout milliseconds") CmdNatClient.Flags().IntVarP(&natc.UdpTimeout, "udp-timeout", "D", 60000, "udp connection timeout milliseconds") Cmd.AddCommand(CmdNatClient) CmdNatServer.Flags().StringVarP(&nats.ListenAddr, "listen", "l", "", "listen address") CmdNatServer.Flags().StringVarP(&nats.Passwd, "passwd", "p", "", "password") CmdNatServer.Flags().Int64VarP(&nats.UDPTimeout, "udp-timeout", "D", 60000, "udp connection timeout milliseconds") CmdNatServer.Flags().Int64VarP(&nats.NetTimeout, "dial-timeout", "d", 10000, "dial timeout milliseconds") CmdNatServer.Flags().BoolVarP(&nats.enableTCP, "enable-tcp", "T", true, "enable tcp forward") CmdNatServer.Flags().BoolVarP(&nats.enableUDP, "enable-udp", "U", true, "enable udp forward") Cmd.AddCommand(CmdNatServer) } var CmdNatClient = &cobra.Command{ Use: "natc", Short: "nat穿透客户端", Run: func(cmd *cobra.Command, args []string) { if natc.ServiceTarget == "" || natc.CmdTarget == "" { cmd.Help() return } natc.Run() }, } var CmdNatServer = &cobra.Command{ Use: "nats", Short: "nat穿透服务端", Run: func(cmd *cobra.Command, args []string) { nats.Run() }, }