{"id":49382328,"url":"https://github.com/sky22333/netboot","last_synced_at":"2026-05-01T09:02:42.564Z","repository":{"id":354324219,"uuid":"1223140800","full_name":"sky22333/netboot","owner":"sky22333","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-28T04:47:27.000Z","size":292,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-28T05:23:47.015Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sky22333.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-28T03:33:28.000Z","updated_at":"2026-04-28T04:45:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sky22333/netboot","commit_stats":null,"previous_names":["sky22333/netboot"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/sky22333/netboot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky22333%2Fnetboot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky22333%2Fnetboot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky22333%2Fnetboot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky22333%2Fnetboot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sky22333","download_url":"https://codeload.github.com/sky22333/netboot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky22333%2Fnetboot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32490815,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-28T06:04:16.947Z","updated_at":"2026-05-01T09:02:42.559Z","avatar_url":"https://github.com/sky22333.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## PXE\n\u003e 基于 Go + Vue 3 构建的**跨平台** PXE 网络启动管理服务，轻松实现多系统环境下的开箱即用。\n\n## ✨ 功能特点\n\n* 🖥️ **全平台支持**：采用 Go 语言开发，原生跨平台（Windows / Linux / macOS），无需繁琐的环境配置。\n* 📱 **Web 可视化管理**：纯中文响应式界面，适配手机与电脑，支持登录认证、实时日志查看和文件工作台。\n* ⚙️ **服务一键管控**：在 Web 端即可启动、停止或重启 DHCP (含 ProxyDHCP)、TFTP、HTTP Boot、SMB 和 Torrent 服务。\n* 📡 **智能网络引导**：\n    * **完整 DHCP**：支持标准 DHCP 地址分配及 ProxyDHCP 模式（不影响现有路由）。\n    * **自动适配**：智能识别终端架构（BIOS / UEFI / iPXE）并下发引导文件。\n    * **内置 netboot.xyz**：支持官方源拉取，同时兼容自定义启动文件。\n* ⚡ **高效协议传输**：提供稳定且带重试机制的 TFTP，以及支持缓存和虚拟路径的 HTTP Boot 服务。\n* 🗂️ **在线文件管理**：内置文件工作台，支持 HTTP Boot、TFTP、netboot.xyz 目录浏览、上传、新建、重命名、删除、种子制作和小型文本脚本在线编辑。\n* 🧰 **客户端维护**：支持客户端静态绑定、待认领、Wake-on-LAN 多目标唤醒，以及按服务器平台生成的 Ping/HTTP 检查操作模板。\n* 💾 **轻量级存储**：底层使用纯 Go SQLite（默认 `data/pxe.db`），零外部数据库依赖。\n* 🧩 **iPXE 固件构建**：提供独立 GitHub Actions，可用仓库根目录 `embed.ipxe` 构建 Legacy BIOS、UEFI x86_64 和 UEFI ARM64 固件。\n\n## 运行\n\n[Releases](https://github.com/sky22333/netboot/releases)页面下载构建好的二进制文件\n\nwin系统直接双击打开，linux系统需要使用命令行启动。\n\n```\n./pxe\n```\n\n不带参数启动时，程序会切换到可执行文件所在目录，并在当前目录自动创建`data`目录。常用参数（可选项）：\n\n```text\n--config     指定 pxe.toml\n--data-dir   指定数据目录\n--host       覆盖管理端监听主机\n--port       覆盖管理端端口\n--no-browser 禁止自动打开浏览器\n```\n\n启动成功后，会自动打开默认浏览器访问管理面板，终端环境没有浏览器的场景则不会打开。\n\n## 运行时目录\n\n```text\ndata/\n├─ pxe.toml\n├─ pxe.db\n├─ secret.key\n├─ logs/pxe.log\n├─ boot/\n│  ├─ netboot/  # netboot.xyz 下载文件\n│  ├─ tftp/     # 自定义 TFTP 文件，可为空\n│  └─ http/     # 自定义 HTTP Boot 文件，可为空\n├─ smb/\n└─ exports/\n```\n\n## iPXE 固件\n\n仓库根目录的 `embed.ipxe` 是用于固件编译的内置 iPXE 脚本，默认提供 Debian 12、Alpine Linux 公网安装入口、iPXE Shell 和退出项。`.github/workflows/build-boot.yml` 可手动触发，基于 iPXE v2.0.0 开启 HTTPS，并使用 iPXE 默认公共 CA/crosscert 机制生成：\n\n```text\nundionly.kpxe\nipxe-x86_64.efi\nipxe-arm64.efi\n```\n\n这些固件产物是辅助启动文件，不会由应用本体自动生成。应用运行时仍通过 DHCP/ProxyDHCP、TFTP、HTTP Boot、`/dynamic.ipxe` 和 `local-vars.ipxe` 完成客户端引导，并按 BIOS、UEFI IA32、UEFI x64、UEFI ARM32、UEFI ARM64 分别选择启动文件。\n\n更多内容见 [docs](./docs)。\n\n## 页面预览\n\n![1](docs/images/demo1.png)\n\n---\n\n![2](docs/images/demo2.png)\n\n---\n\n![3](docs/images/demo3.png)\n\n---\n\n![4](docs/images/demo4.png)\n\n---\n\n![5](docs/images/demo5.png)\n\n---\n\n## 💬 支持与反馈\n\n如果您在使用过程中遇到问题或有任何建议，欢迎：\n- 📧 提交 Issue\n- 💡 提出功能建议\n- 🔀 提交 Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky22333%2Fnetboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsky22333%2Fnetboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky22333%2Fnetboot/lists"}