GoAway 项目启动与配置教程
goaway DNS sinkhole written in go 项目地址: https://gitcode.com/gh_mirrors/goa/goaway
1. 项目的目录结构及介绍
GoAway 项目是一个轻量级的 DNS Sinkhole,用于拦截不需要的域名。项目的目录结构如下:
goaway/
├── .github/ # GitHub 工作流和配置文件
├── backend/ # 后端代码目录
├── client/ # 前端代码目录
├── resources/ # 资源文件目录
├── test/ # 测试代码目录
├── .air.toml # CI/CD 配置文件
├── .dockerignore # Docker 构建忽略文件
├── .gitignore # Git 忽略文件
├── .goreleaser.yml # GoReleaser 配置文件
├── .pre-commit-config.yaml # 预提交钩子配置文件
├── .releaserc.json # Release 配置文件
├── CHANGELOG.md # 更新日志文件
├── Dockerfile # Docker 构建文件
├── LICENSE # 项目许可证文件
├── Makefile # Makefile 文件
├── README.md # 项目说明文件
├── docker-compose.yml # Docker Compose 配置文件
├── go.mod # Go 依赖管理文件
├── go.sum # Go 依赖校验文件
├── installer.sh # 安装脚本
├── main.go # 主程序文件
├── settings.yaml # 配置文件
├── start.sh # 启动脚本
└── updater.sh # 更新脚本
2. 项目的启动文件介绍
项目的启动主要通过 main.go
文件进行。这是 GoAway 的主程序文件,它负责初始化和启动 DNS 和 Web 服务器。
启动项目的方式有以下几种:
-
使用 Docker:
docker run pommee/goaway:latest
或者使用 Docker Compose:
docker compose up -d
-
快速安装: 使用安装脚本进行安装:
curl https://raw.githubusercontent.com/pommee/goaway/main/installer.sh | sh /dev/stdin
-
从源代码构建: 首先构建前端客户端:
make build
然后构建 GoAway 二进制文件:
go build -o goaway
最后启动服务:
./goaway
3. 项目的配置文件介绍
GoAway 的默认设置定义在 settings.yaml
文件中。该文件包含了项目的所有配置项,你可以根据需要修改这些值。
以下是一些主要的配置项:
--auth
:是否启用管理员仪表板的认证(默认为 true)。--dns-port
:DNS 服务的端口(默认为 53)。--log-level
:日志级别(0 = DEBUG, 1 = INFO, 2 = WARNING, 3 = ERROR,默认为 1)。--logging
:是否启用日志记录(默认为 true)。--statistics-retention
:保留统计数据的天数(默认为 1)。--webserver-port
:Web 服务的端口(默认为 8080)。
你可以通过命令行参数或修改 settings.yaml
文件来自定义这些配置项。
goaway DNS sinkhole written in go 项目地址: https://gitcode.com/gh_mirrors/goa/goaway
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考