-
Notifications
You must be signed in to change notification settings - Fork 97
/
cli.go
39 lines (35 loc) · 1.19 KB
/
cli.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package server
import (
"flag"
)
type Options struct {
httpAddr string
httpsAddr string
tunnelAddr string
domain string
tlsCrt string
tlsKey string
logto string
loglevel string
}
func parseArgs() *Options {
httpAddr := flag.String("httpAddr", ":80", "HTTP连接端口,禁用空字符串")
httpsAddr := flag.String("httpsAddr", ":443", "HTTPS连接端口,禁用空字符串")
tunnelAddr := flag.String("tunnelAddr", ":4443", "ngrok客户端连接端口,禁用空字符串")
domain := flag.String("domain", "yilu.ml", "承载隧道的域名")
tlsCrt := flag.String("tlsCrt", "", "TLS证书文件的路径")
tlsKey := flag.String("tlsKey", "", "TLS密钥文件的路径")
logto := flag.String("log", "stdout", "将日志消息写入此文件。 'stdout'和'none'有特殊意义")
loglevel := flag.String("log-level", "INFO", "要记录的消息级别。 其中之一: DEBUG, INFO, WARNING, ERROR")
flag.Parse()
return &Options{
httpAddr: *httpAddr,
httpsAddr: *httpsAddr,
tunnelAddr: *tunnelAddr,
domain: *domain,
tlsCrt: *tlsCrt,
tlsKey: *tlsKey,
logto: *logto,
loglevel: *loglevel,
}
}