github.com/ncw/rclone@v1.48.1-0.20190724201158-a35aa1360e3e/cmd/serve/dlna/dlnaflags/dlnaflags.go (about) 1 package dlnaflags 2 3 import ( 4 "github.com/ncw/rclone/fs/config/flags" 5 "github.com/ncw/rclone/fs/rc" 6 "github.com/spf13/pflag" 7 ) 8 9 // Help contains the text for the command line help and manual. 10 var Help = ` 11 ### Server options 12 13 Use --addr to specify which IP address and port the server should 14 listen on, eg --addr 1.2.3.4:8000 or --addr :8080 to listen to all 15 IPs. 16 17 Use --name to choose the friendly server name, which is by 18 default "rclone (hostname)". 19 20 Use --log-trace in conjunction with -vv to enable additional debug 21 logging of all UPNP traffic. 22 ` 23 24 // Options is the type for DLNA serving options. 25 type Options struct { 26 ListenAddr string 27 FriendlyName string 28 LogTrace bool 29 } 30 31 // DefaultOpt contains the defaults options for DLNA serving. 32 var DefaultOpt = Options{ 33 ListenAddr: ":7879", 34 FriendlyName: "", 35 LogTrace: false, 36 } 37 38 // Opt contains the options for DLNA serving. 39 var ( 40 Opt = DefaultOpt 41 ) 42 43 func addFlagsPrefix(flagSet *pflag.FlagSet, prefix string, Opt *Options) { 44 rc.AddOption("dlna", &Opt) 45 flags.StringVarP(flagSet, &Opt.ListenAddr, prefix+"addr", "", Opt.ListenAddr, "ip:port or :port to bind the DLNA http server to.") 46 flags.StringVarP(flagSet, &Opt.FriendlyName, prefix+"name", "", Opt.FriendlyName, "name of DLNA server") 47 flags.BoolVarP(flagSet, &Opt.LogTrace, prefix+"log-trace", "", Opt.LogTrace, "enable trace logging of SOAP traffic") 48 } 49 50 // AddFlags add the command line flags for DLNA serving. 51 func AddFlags(flagSet *pflag.FlagSet) { 52 addFlagsPrefix(flagSet, "", &Opt) 53 }