We'd better keep -h for host

This commit is contained in:
Andrey Meshkov 2019-02-05 23:29:11 +03:00
parent f437d53c1c
commit 5fed5c0718
4 changed files with 14 additions and 10 deletions

View File

@ -21,4 +21,4 @@ EXPOSE 53 3000
VOLUME /data VOLUME /data
ENTRYPOINT ["/AdGuardHome"] ENTRYPOINT ["/AdGuardHome"]
CMD ["-o", "0.0.0.0"] CMD ["-h", "0.0.0.0"]

View File

@ -12,4 +12,4 @@ EXPOSE 53 3000
VOLUME /data VOLUME /data
ENTRYPOINT ["/AdGuardHome"] ENTRYPOINT ["/AdGuardHome"]
CMD ["-o", "0.0.0.0"] CMD ["-h", "0.0.0.0"]

View File

@ -127,19 +127,19 @@ You can redefine this behavior in AdGuard Home configuration file (see below).
Here is a list of all available command-line arguments. Here is a list of all available command-line arguments.
``` ```
$ ./AdGuardHome -h $ ./AdGuardHome --help
Usage: Usage:
./AdGuardHome [options] ./AdGuardHome [options]
Options: Options:
-c, --config path to config file -c, --config path to config file
-o, --host host address to bind HTTP server on -h, --host host address to bind HTTP server on
-p, --port port to serve HTTP pages on -p, --port port to serve HTTP pages on
-v, --verbose enable verbose output
-s, --service service control action: status, install, uninstall, start, stop, restart -s, --service service control action: status, install, uninstall, start, stop, restart
-l, --logfile path to the log file. If empty, writes to stdout, if 'syslog' -- system log -l, --logfile path to the log file. If empty, writes to stdout, if 'syslog' -- system log
-h, --help print this help -v, --verbose enable verbose output
--help print this help
``` ```
Please note, that the command-line arguments override settings from the configuration file. Please note, that the command-line arguments override settings from the configuration file.

12
app.go
View File

@ -258,7 +258,7 @@ func loadOptions() options {
callbackNoValue func() callbackNoValue func()
}{ }{
{"config", "c", "path to config file", func(value string) { o.configFilename = value }, nil}, {"config", "c", "path to config file", func(value string) { o.configFilename = value }, nil},
{"host", "o", "host address to bind HTTP server on", func(value string) { o.bindHost = value }, nil}, {"host", "h", "host address to bind HTTP server on", func(value string) { o.bindHost = value }, nil},
{"port", "p", "port to serve HTTP pages on", func(value string) { {"port", "p", "port to serve HTTP pages on", func(value string) {
v, err := strconv.Atoi(value) v, err := strconv.Atoi(value)
if err != nil { if err != nil {
@ -273,7 +273,7 @@ func loadOptions() options {
o.logFile = value o.logFile = value
}, nil}, }, nil},
{"verbose", "v", "enable verbose output", nil, func() { o.verbose = true }}, {"verbose", "v", "enable verbose output", nil, func() { o.verbose = true }},
{"help", "h", "print this help", nil, func() { {"help", "", "print this help", nil, func() {
printHelp() printHelp()
os.Exit(64) os.Exit(64)
}}, }},
@ -283,14 +283,18 @@ func loadOptions() options {
fmt.Printf("%s [options]\n\n", os.Args[0]) fmt.Printf("%s [options]\n\n", os.Args[0])
fmt.Printf("Options:\n") fmt.Printf("Options:\n")
for _, opt := range opts { for _, opt := range opts {
fmt.Printf(" -%s, %-30s %s\n", opt.shortName, "--"+opt.longName, opt.description) if opt.shortName != "" {
fmt.Printf(" -%s, %-30s %s\n", opt.shortName, "--"+opt.longName, opt.description)
} else {
fmt.Printf(" %-34s %s\n", "--"+opt.longName, opt.description)
}
} }
} }
for i := 1; i < len(os.Args); i++ { for i := 1; i < len(os.Args); i++ {
v := os.Args[i] v := os.Args[i]
knownParam := false knownParam := false
for _, opt := range opts { for _, opt := range opts {
if v == "--"+opt.longName || v == "-"+opt.shortName { if v == "--"+opt.longName || (opt.shortName != "" && v == "-"+opt.shortName) {
if opt.callbackWithValue != nil { if opt.callbackWithValue != nil {
if i+1 >= len(os.Args) { if i+1 >= len(os.Args) {
log.Printf("ERROR: Got %s without argument\n", v) log.Printf("ERROR: Got %s without argument\n", v)