goHttpDns 项目安装与使用教程
goHttpDns A HttpDns Server written by Go 项目地址: https://gitcode.com/gh_mirrors/go/goHttpDns
1. 项目目录结构及介绍
goHttpDns/
├── bin/
│ └── httpDns # 编译生成的可执行文件
├── etc/
│ └── logger.xml # 日志配置文件
├── src/
│ ├── main.go # 主程序入口
│ ├── config/ # 配置相关文件
│ ├── handler/ # 请求处理逻辑
│ ├── logger/ # 日志处理逻辑
│ └── resolver/ # DNS解析逻辑
├── LICENSE # 项目许可证
├── Makefile # 编译脚本
└── README.md # 项目说明文档
目录结构说明
bin/
: 存放编译生成的可执行文件。etc/
: 存放项目的配置文件,如日志配置文件。src/
: 项目的源代码目录,包含主程序入口、配置处理、请求处理、日志处理和DNS解析逻辑。LICENSE
: 项目的许可证文件。Makefile
: 项目的编译脚本。README.md
: 项目的说明文档。
2. 项目的启动文件介绍
主程序入口
主程序入口文件位于 src/main.go
,该文件负责初始化配置、启动HTTP服务器并处理DNS解析请求。
启动命令
编译完成后,可以通过以下命令启动服务:
./bin/httpDns -c="your_conf_yaml_path"
其中,-c
参数用于指定配置文件的路径,默认路径为 /etc/conf.yml
。
3. 项目的配置文件介绍
配置文件路径
配置文件默认路径为 /etc/conf.yml
,可以通过启动命令中的 -c
参数指定其他路径。
配置文件内容
# redis连接配置
redis:
host: 127.0.0.1:6379
db: 0
# 日志配置
log_config: /etc/logger.xml
# IP & 端口 & 解析结果缓存TTL
listen: 0.0.0.0
port: 9999
ttl: 100
# DNS服务器列表
dnsservers:
- 202.96.128.86
- 202.96.128.166
- 8.8.8.8
- 8.8.4.4
配置项说明
redis
: Redis连接配置,包括主机地址和数据库编号。log_config
: 日志配置文件路径。listen
: 监听的IP地址,默认为0.0.0.0
。port
: 监听的端口号,默认为9999
。ttl
: DNS解析结果的缓存时间,单位为秒。dnsservers
: DNS服务器列表,用于解析域名。
通过以上配置,可以灵活调整 goHttpDns
服务的行为,以适应不同的使用场景。
goHttpDns A HttpDns Server written by Go 项目地址: https://gitcode.com/gh_mirrors/go/goHttpDns