Random port after all #152
Former-commit-id: cac7b9214af0d8f01c98aa8dd8a9cd3d564125cb [formerly 25bf09a073b247ca282796610a4ac3de6f98e6ec] [formerly ba24813e1e5e4fc9105ff6a48018e6d6d6ed3142 [formerly dd3ccec696
]]
Former-commit-id: 79b54956082db4f93d78cb04c48bcab4390c1163 [formerly 6cf6c0f610527cf7664149bd8fcccc22107f8de8]
Former-commit-id: 092e7842602412ef71623865bc32856ba959bbbc
pull/726/head
parent
a936d04bfc
commit
3a2ccf6275
|
@ -53,11 +53,13 @@ You can either use flags or a JSON configuration file, which should have the fol
|
|||
}
|
||||
```
|
||||
|
||||
The `scope`, `allowCommands`, `allowEdit`, `allowNew` and `commands` options are the defaults for new users. To set a configuration file, you will need to pass the path with a flag, like this: `filemanager --config=/path/to/config.json`.
|
||||
The `scope`, `allowCommands`, `allowEdit`, `allowNew` and `commands` options are the defaults for new users. To set a configuration file, you will need to pass the path with a flag, like this: `filemanager --config=/path/to/config.json`.
|
||||
|
||||
Otherwise, you may not want to use a configuration file, which can be done using the following flags:
|
||||
|
||||
```
|
||||
-address string
|
||||
Address to listen to (default is all of them)
|
||||
-allow-commands
|
||||
Default allow commands option (default true)
|
||||
-allow-edit
|
||||
|
@ -69,9 +71,9 @@ Otherwise, you may not want to use a configuration file, which can be done using
|
|||
-database string
|
||||
Database path (default "./filemanager.db")
|
||||
-port string
|
||||
HTTP Port (default "80")
|
||||
HTTP Port (default is random)
|
||||
-scope string
|
||||
Defualt scope for new users (default ".")
|
||||
Default scope for new users (default ".")
|
||||
```
|
||||
|
||||
# Features
|
||||
|
|
|
@ -5,6 +5,7 @@ import (
|
|||
"flag"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
@ -27,6 +28,7 @@ type confFile struct {
|
|||
}
|
||||
|
||||
var (
|
||||
addr string
|
||||
config string
|
||||
database string
|
||||
scope string
|
||||
|
@ -39,7 +41,8 @@ var (
|
|||
|
||||
func init() {
|
||||
flag.StringVar(&config, "config", "", "JSON configuration file")
|
||||
flag.StringVar(&port, "port", "8080", "HTTP Port")
|
||||
flag.StringVar(&port, "port", "0", "HTTP Port (default is random)")
|
||||
flag.StringVar(&addr, "address", "", "Address to listen to (default is all of them)")
|
||||
flag.StringVar(&database, "database", "./filemanager.db", "Database path")
|
||||
flag.StringVar(&scope, "scope", ".", "Default scope for new users")
|
||||
flag.StringVar(&commands, "commands", "git svn hg", "Space separated commands available for new users")
|
||||
|
@ -72,8 +75,13 @@ func main() {
|
|||
fm.SetBaseURL("/")
|
||||
fm.SetPrefixURL("/")
|
||||
|
||||
fmt.Println("Starting filemanager on *:" + port)
|
||||
if err := http.ListenAndServe(":"+port, fm); err != nil {
|
||||
listener, err := net.Listen("tcp", addr+":"+port)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
fmt.Println("Listening on", listener.Addr().String())
|
||||
if err := http.Serve(listener, fm); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue