- Timestamp:
- Oct 19, 2021, 9:45:55 AM (4 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/go.mod
r26 r30 6 6 github.com/dustin/go-humanize v1.0.0 // indirect 7 7 github.com/vharitonsky/iniflags v0.0.0-20180513140207-a33cd0b5f3de // indirect 8 gopkg.in/ini.v1 v1.63.2 // indirect 8 9 ) -
trunk/partage.go
r29 r30 19 19 20 20 "github.com/dustin/go-humanize" 21 "g ithub.com/vharitonsky/iniflags"21 "gopkg.in/ini.v1" 22 22 ) 23 23 … … 35 35 36 36 var conf struct { 37 bindstring38 userstring39 groupstring40 b aseuristring41 filepathstring42 metapathstring43 rootdirstring44 chrootstring45 templatedirstring46 filectx string47 metactx string48 maxsize int6449 expiry int6437 user string 38 group string 39 chroot string 40 bind string 41 baseuri string 42 rootdir string 43 tmplpath string 44 filepath string 45 metapath string 46 filectx string 47 metactx string 48 maxsize int64 49 expiry int64 50 50 } 51 51 … … 118 118 119 119 func servetemplate(w http.ResponseWriter, f string, d templatedata) { 120 t, err := template.ParseFiles(conf.t emplatedir+ "/" + f)120 t, err := template.ParseFiles(conf.tmplpath + "/" + f) 121 121 if err != nil { 122 122 http.Error(w, "Internal error", http.StatusInternalServerError) … … 245 245 246 246 func main() { 247 flag.StringVar(&conf.bind, "bind", "0.0.0.0:8080", "Address to bind to (default: 0.0.0.0:8080)") 248 flag.StringVar(&conf.user, "user", "", "User to drop privileges to on startup (default: current user)") 249 flag.StringVar(&conf.group, "group", "", "Group to drop privileges to on startup (default: user's group)") 250 flag.StringVar(&conf.baseuri, "baseuri", "http://127.0.0.1:8080", "Base URI to use for links (default: http://127.0.0.1:8080)") 251 flag.StringVar(&conf.filepath, "filepath", "./files", "Path to save files to (default: ./files)") 252 flag.StringVar(&conf.metapath, "metapath", "./meta", "Path to save metadata to (default: ./meta)") 253 flag.StringVar(&conf.filectx, "filectx", "/f/", "Context to serve files from (default: /f/)") 254 flag.StringVar(&conf.metactx, "metactx", "/m/", "Context to serve metadata from (default: /m/)") 255 flag.StringVar(&conf.rootdir, "rootdir", "./static", "Root directory (default: ./static)") 256 flag.StringVar(&conf.chroot, "chroot", "", "Directory to chroot into upon starting (default: no chroot)") 257 flag.StringVar(&conf.templatedir, "templatedir", "./templates", "Templates directory (default: ./templates)") 258 flag.Int64Var(&conf.maxsize, "maxsize", 30064771072, "Maximum file size (default: 28Gib)") 259 flag.Int64Var(&conf.expiry, "expiry", 86400, "Link expiration time (default: 24h)") 260 261 iniflags.Parse() 247 var file string 248 flag.StringVar(&file, "f", "", "Configuration file") 249 flag.BoolVar(&verbose, "v", false, "Verbose logging") 250 flag.Parse() 251 252 /* default values */ 253 conf.bind = "0.0.0.0:8080" 254 conf.baseuri = "http://127.0.0.1:8080" 255 conf.rootdir = "/htdocs" 256 conf.tmplpath = "/htdocs/templates" 257 conf.filepath = "/htdocs/files" 258 conf.metapath = "/htdocs/meta" 259 conf.filectx = "/f/" 260 conf.metactx = "/m/" 261 conf.maxsize = 34359738368 262 conf.expiry = 86400 263 264 if file != "" { 265 if verbose { 266 log.Printf("Reading configuration %s", file) 267 } 268 269 cfg, err := ini.Load(file) 270 if err != nil { 271 fmt.Println(err) 272 return 273 } 274 275 conf.bind = cfg.Section("").Key("bind").String() 276 conf.user = cfg.Section("").Key("user").String() 277 conf.group = cfg.Section("").Key("group").String() 278 conf.baseuri = cfg.Section("").Key("baseuri").String() 279 conf.filepath = cfg.Section("").Key("filepath").String() 280 conf.metapath = cfg.Section("").Key("metapath").String() 281 conf.filectx = cfg.Section("").Key("filectx").String() 282 conf.metactx = cfg.Section("").Key("metactx").String() 283 conf.rootdir = cfg.Section("").Key("rootdir").String() 284 conf.chroot = cfg.Section("").Key("chroot").String() 285 conf.tmplpath = cfg.Section("").Key("tmplpath").String() 286 conf.maxsize, _ = cfg.Section("").Key("maxsize").Int64() 287 conf.expiry, _ = cfg.Section("").Key("expiry").Int64() 288 } 262 289 263 290 if verbose {
Note:
See TracChangeset
for help on using the changeset viewer.