feat(docker): 支持通过构建参数注入编译时间
在 Dockerfile 中添加 BUILD_DATE 构建参数,并通过 ldflags 将编译时间注入到二进制文件中。 同时更新 build.sh 脚本,在构建镜像时传入当前时间作为 BUILD_DATE 参数。 refactor(build): 优化 build.sh 脚本结构与可读性 对 build.sh 脚本中的函数进行了缩进统一和结构调整,提高代码可读性和维护性。 新增 bin 命令用于直接编译并压缩二进制文件。 feat(main): 添加版本与构建信息显示功能 在 main.go 中增加 BuildDate 变量用于存储构建时间,并支持通过 -h 或 --help 参数查看帮助信息, 包括版本号、联系邮箱以及构建日期等元数据。 chore(blacklist): 移除默认黑名单条目 从 blacklist.txt 文件中移除默认的 *.baidu.com 黑名单规则。 docs(readme): 清理 README.md 文件末尾空行 删除 README.md 文件最后多余的空白行,保持文档整洁。
This commit is contained in:
19
main.go
19
main.go
@@ -19,6 +19,8 @@ import (
|
||||
lru "github.com/hashicorp/golang-lru/v2"
|
||||
)
|
||||
|
||||
var BuildDate = "unknown" // 由编译时注入
|
||||
|
||||
/******************************************************************
|
||||
* 日志初始化
|
||||
******************************************************************/
|
||||
@@ -571,6 +573,7 @@ func handleDNS(
|
||||
func main() {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
|
||||
var help bool
|
||||
certFile := flag.String("cert", "server.crt", "TLS 证书文件路径")
|
||||
keyFile := flag.String("key", "server.key", "TLS 私钥文件路径")
|
||||
addr := flag.String("addr", ":853", "DoT 监听地址")
|
||||
@@ -585,8 +588,24 @@ func main() {
|
||||
blacklistFile := flag.String("blacklist-file", "", "黑名单文件路径(每行一个域名;支持 # 或 ; 注释;后缀匹配)")
|
||||
blacklistRcodeFlag := flag.String("blacklist-rcode", "REFUSED", "命中黑名单返回的 RCODE:REFUSED|NXDOMAIN|SERVFAIL")
|
||||
verbose := flag.Bool("v", false, "verbose 日志")
|
||||
|
||||
flag.BoolVar(&help, "h", false, "")
|
||||
flag.BoolVar(&help, "help", false, "帮助信息")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
if help {
|
||||
fmt.Printf(
|
||||
"\t\tDNS-over-TLS (DoT)\n"+
|
||||
"\tVersion 0.1\n"+
|
||||
"\tE-mail: aixiao@aixiao.me\n"+
|
||||
"\tBuild Date: %s\n", BuildDate)
|
||||
|
||||
flag.Usage()
|
||||
fmt.Printf("\n")
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
initLogger(*verbose)
|
||||
|
||||
var err error
|
||||
|
||||
Reference in New Issue
Block a user