资讯动态

PhoneInfoga 源码构建指南:从 Node 与 Go 环境准备到生成内嵌 Web 客户端的可执行文件

发布时间:2026/9/15 10:15:26 来源:尧图企业网站定制
PhoneInfoga 源码构建指南从 Node 与 Go 环境准备到生成内嵌 Web 客户端的可执行文件【免费下载链接】phoneinfogaInformation gathering framework for phone numbers项目地址: https://gitcode.com/GitHub_Trending/ph/phoneinfogaPhoneInfoga 是一个面向电话号码的信息收集框架除命令行扫描外还自带一个 Web 客户端界面。如果你不想直接下载发行版二进制而是想从源码构建一个把 Web 客户端打包进单一可执行文件的phoneinfoga需要同时准备 Node 和 Go 两套环境先用 Node 工具链构建前端静态文件再由 Go 构建过程把这些文件嵌入二进制。本文按 docs/contribute.md 与 Makefile 中给出的步骤走通从环境准备到得到bin/phoneinfoga的完整路径并说明如何验证产物可用。环境准备Node 与 Go 的最低要求docs/contribute.md 中列出的源码构建要求Nodejs v15npm 或 yarnGo 1.16文档同时说明如果使用 npm把yarn command替换为npm run command即可。另外注意 Makefile 中的GIT_TAG和GIT_COMMIT变量分别通过git describe --abbrev0 --tags和git rev-parse --short HEAD取得并会被go build的-ldflags注入到构建信息中。因此源码构建要在 git 仓库内执行否则这些变量为空。安装构建所需的工具链在仓库根目录执行make install-tools该目标安装文档中标注为“构建、创建 mocks 或运行测试所需”的工具内容见 Makefilego install gotest.tools/gotestsumv1.6.3 go install github.com/vektra/mockery/v2v2.38.0 go install github.com/swaggo/swag/cmd/swagv1.16.3 # golangci-lint 若未安装则通过官方 install 脚本安装 v1.46.2 到 $(go env GOPATH)/bin副作用说明前三个工具安装到 Go 的GOPATH/bin第四个命令会在本机未安装golangci-lint时通过curl下载并执行安装脚本。如果只是要产出可执行文件而不做 lint/mock可以评估是否真的需要这一步。构建 Web 客户端静态资源内嵌的前提是web/client/dist目录存在。文档给出的命令是(cd web/client yarn yarn build)这一步会在web/client下创建dist目录包含客户端的静态文件。文档提醒如果你同时在前端开发每次改动后都需要重新执行这一步。使用 npm 时按文档说明替换为(cd web/client npm install npm run build)生成内嵌 Web 客户端的二进制确认web/client/dist已生成后在仓库根目录执行make buildbuild目标实际执行的是见 Makefilego generate ./... go build -v -ldflags-s -w -X github.com/sundowndev/phoneinfoga/v2/build.Version${GIT_TAG} -X github.com/sundowndev/phoneinfoga/v2/build.Commit${GIT_COMMIT} -o ./bin/phoneinfoga .其中go generate用于生成内存中的资产构建产物输出到./bin/phoneinfoga。嵌入机制在 web/client.go//go:embed client/dist/*指令把dist目录的全部文件打进二进制因此最终只有一个文件同时包含后端 API 与 Web 客户端。验证构建结果版本信息。运行构建产物./bin/phoneinfoga versionversion子命令会打印PhoneInfoga 版本信息见 cmd/version.go其中的版本与提交号来自上面ldflags注入的GIT_TAG/GIT_COMMIT可用于确认二进制确实来自当前源码树。启动 Web 服务。运行./bin/phoneinfoga serveserve子命令默认监听端口 5000启动时会打印Listening on :5000见 cmd/serve.go。浏览器访问http://localhost:5000应能看到内嵌的 Web 客户端界面选择国家代码、输入号码后点击 Lookup页面展示号码信息Valid、Local、E164、Country 等字段与各 Scanner 的结果即文首截图所示的界面。若只要 REST API 不要前端可以加--no-client参数。可选的开发路径文档提到开发期间不必每次改动都重新构建可以直接编译并运行go run main.go应用入口是 main.go它初始化日志后进入 cmd 包执行命令。构建完成后如需清理make clean会执行go clean并删除bin/下的文件——注意这会移除刚构建出的bin/phoneinfoga需要时重新执行make build即可。参考文档贡献指南含源码构建章节、安装文档、Makefile。【免费下载链接】phoneinfogaInformation gathering framework for phone numbers项目地址: https://gitcode.com/GitHub_Trending/ph/phoneinfoga创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价