无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 609|回复: 24
打印 上一主题 下一主题

[发布] [史上最伟大网管]自主研发!支持HTTP,适应BIOS/UEFI环境! NBpxeServer网启全面公测

[复制链接]
跳转到指定楼层
1#
发表于 昨天 14:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 江南一根葱 于 2025-8-14 20:54 编辑

声明:我完全不懂python,我连python写"hello world"都不会
全由AI使用python语言编写,我是躺在AI的怀抱里进行开发!

NBpxeServer 功能简介与使用说明
功能简介
本工具是一款轻量级的PXE网络启动服务器,专为同时兼容传统BIOS和现代UEFI(特别是VMware环境)而设计。软件为绿色单文件,内置代理DHCP (Proxy DHCP) 和TFTP服务,无需复杂安装,可与您现有的路由器、交换机共存,帮助您快速部署网络启动环境。
使用与配置
您可以通过以下两种方式对服务器进行配置:
方法一:直接修改配置文件 (推荐)
这是最快捷的方式。在启动服务器前,请按以下步骤操作:
  • 核心配置:用记事本打开 NBpxe.ini 文件。最关键的一步是将 server_ip 的值修改为您电脑的实际IP地址。然后根据需要,更改 [BootFiles] 部分中 bios 和 uefi64 对应的启动文件名。
  • 放置文件:将您需要的所有启动文件(例如 ipxe.efi, ipxe.bios 等)复制到 tftp_root 文件夹内。

方法二:使用交互式菜单修改
如果您不确定如何修改配置文件,可以使用程序自带的菜单:
  • 运行程序管理员身份或启动服务器应用程序。
  • 进入菜单:在主菜单界面,输入 2 并按回车,进入“配置菜单”。
  • 按需修改:根据屏幕提示,选择您想修改的选项(如网络IP、启动文件、服务开关等)。
  • 保存配置:完成修改后,务必输入 s 并按回车,将当前更改保存到 NBpxe.ini 文件中。
  • 返回主菜单:输入 b 返回主界面。

配置完成后,在主菜单选择 1 并按回车,即可根据最新配置启动所有服务。
直接把ipxefm目录里面的内容放入tftp_root目录即可使用


下载(支持win764位):

NBpxeSer.part1.rar (4 MB, 下载次数: 8)

NBpxeSer.part2.rar (1.33 MB, 下载次数: 7)

  






    20250814更新
  • 修复tftp服务器不可写的问题
  • 增加smb共享为pxe的功能(需要管理员运行),如果直接扔ipxefm目录里用,在ini里配置tftp目录为.\

2#
发表于 昨天 14:12 | 只看该作者
这是要出力作的前奏啊!注意身体啊!
回复

使用道具 举报

3#
发表于 昨天 14:27 | 只看该作者
楼主技术达人
回复

使用道具 举报

4#
发表于 昨天 14:40 | 只看该作者
感谢分享了
回复

使用道具 举报

5#
发表于 昨天 15:03 | 只看该作者
感谢分享原创优秀资源
回复

使用道具 举报

6#
发表于 昨天 15:31 | 只看该作者
感谢分享了
回复

使用道具 举报

7#
发表于 昨天 16:10 | 只看该作者
网刻这类的东西 都快忘完了
回复

使用道具 举报

8#
发表于 昨天 16:28 | 只看该作者
东西是好东西,奈何平时用不到。
回复

使用道具 举报

9#
发表于 昨天 16:42 | 只看该作者
感谢楼主的分享,超赞
回复

使用道具 举报

10#
发表于 昨天 17:48 | 只看该作者
版主,版本高了win7用不了,能否分享下py文件感谢

点评

编译了个低版本的  详情 回复 发表于 昨天 18:13
7用有啥提示没  详情 回复 发表于 昨天 17:54
回复

使用道具 举报

11#
 楼主| 发表于 昨天 17:54 | 只看该作者
season111 发表于 2025-8-14 17:48
版主,版本高了win7用不了,能否分享下py文件感谢

7用有啥提示没
回复

使用道具 举报

12#
 楼主| 发表于 昨天 18:13 | 只看该作者
season111 发表于 2025-8-14 17:48
版主,版本高了win7用不了,能否分享下py文件感谢

编译了个低版本的
回复

使用道具 举报

13#
发表于 昨天 18:31 | 只看该作者
本帖最后由 season111 于 2025-8-14 18:56 编辑

感谢分享,可以了,刚才80端口被iis占用了,共享B盘无法使用,找不到

点评

B盘手工smb共享为pxe就行了  详情 回复 发表于 昨天 19:13
回复

使用道具 举报

14#
发表于 昨天 18:49 | 只看该作者
感谢分享!
回复

使用道具 举报

15#
 楼主| 发表于 昨天 19:13 | 只看该作者
season111 发表于 2025-8-14 18:31
感谢分享,可以了,刚才80端口被iis占用了,共享B盘无法使用,找不到

B盘手工smb共享为pxe就行了
回复

使用道具 举报

16#
发表于 昨天 19:35 | 只看该作者
感谢楼主分享 !
回复

使用道具 举报

17#
发表于 昨天 20:17 来自手机 | 只看该作者
成功通过G4E网起虚拟机VM。要是HTTP服务支持断点续传就完美了。

点评

责令AI改了个怕点续传版本,试下看 AI是这么说的 好的,遵照您的要求,我已经将 HTTP 服务器的逻辑修改为支持 Range 请求,从而实现断点续传功能。[/backcolor]核心改动如下:[/backcolor] [*]创建了自定义的  详情 回复 发表于 昨天 21:04
有没有支持断点续传的软件,我可以让ai调试出来,貌似sanboot需要这个支持吧  详情 回复 发表于 昨天 20:55
回复

使用道具 举报

18#
 楼主| 发表于 昨天 20:55 | 只看该作者
2011yaya2007777 发表于 2025-8-14 20:17
成功通过G4E网起虚拟机VM。要是HTTP服务支持断点续传就完美了。

有没有支持断点续传的软件,我可以让ai调试出来,貌似sanboot需要这个支持吧
回复

使用道具 举报

19#
 楼主| 发表于 昨天 21:04 | 只看该作者
2011yaya2007777 发表于 2025-8-14 20:17
成功通过G4E网起虚拟机VM。要是HTTP服务支持断点续传就完美了。

责令AI改了个怕点续传版本,试下看 NBpxeSer断点续传测试.part2.rar (1.52 MB, 下载次数: 4) NBpxeSer断点续传测试.part1.rar (3.81 MB, 下载次数: 4)


AI是这么说的

好的,遵照您的要求,我已经将 HTTP 服务器的逻辑修改为支持 Range 请求,从而实现断点续传功能。

核心改动如下:

  • 创建了自定义的 :这个类继承自 http.server.SimpleHTTPRequestHandler,并重写了 do_GET 方法。

  • 方法的新逻辑

    • 它会检查客户端请求头中是否包含 Range 字段。

    • 如果没有 Range 头,它会像以前一样,发送整个文件。

    • 如果,它会解析请求的字节范围,并返回 206 Partial Content 状态码,以及所请求的那部分文件数据。

    • 它还会正确处理无效的范围请求,返回 416 Range Not Satisfiable 错误。

    • 为了告知客户端服务器支持此功能,响应头中会加入 Accept-Ranges: bytes。


  • 无缝集成:run_http_server 函数现在使用这个新的 RangeRequestHandler 来处理请求,而脚本的其他所有部分(DHCP, TFTP, SMB, 菜单等)均保持不变。



回复

使用道具 举报

20#
发表于 昨天 21:41 | 只看该作者
不错,现在支持断点续传了!

不过,他不支持:
bytes=-8         #从末尾读8字节
返回错误代码400:BAD_REQUEST(错误的请求)

再训练一下。

点评

您提出了一个非常好的问题,并且观察得非常仔细!您是对的,我之前的实现只解析了 bytes=start-end 格式,没有处理 bytes=-suffix(即从文件末尾计算的范围)这种有效的 Range 请求格式,因此会导致服务器返回 400  详情 回复 发表于 昨天 21:50
回复

使用道具 举报

21#
 楼主| 发表于 昨天 21:50 | 只看该作者
本帖最后由 江南一根葱 于 2025-8-14 21:58 编辑
2011yaya2007777 发表于 2025-8-14 21:41
不错,现在支持断点续传了!

不过,他不支持:

NBpxeSer断点续传2.part2.rar (1.33 MB, 下载次数: 2) NBpxeSer断点续传2.part1.rar (4 MB, 下载次数: 4)


AI回复:

您提出了一个非常好的问题,并且观察得非常仔细!您是对的,我之前的实现只解析了 bytes=start-end 格式,没有处理 bytes=-suffix(即从文件末尾计算的范围)这种有效的 Range 请求格式,因此会导致服务器返回 400 Bad Request。

我已经修正了这个问题。新的 RangeRequestHandler 类现在可以正确解析并响应以下所有 Range 格式:

  • bytes=100-200:请求第100到第200个字节。

  • bytes=100-:请求从第100个字节到文件末尾的所有内容。

  • bytes=-800:请求文件的最后800个字节 (这是您指出的未支持的功能)。


我对 do_GET 方法中的范围解析逻辑进行了重写,使其更加健壮和符合 RFC 7233 标准。其他所有功能(DHCP, TFTP, SMB, 菜单等)均保持原样。






回复

使用道具 举报

22#
发表于 昨天 22:03 | 只看该作者
先生大才,感谢分享,辛苦了
回复

使用道具 举报

23#
发表于 昨天 22:33 来自手机 | 只看该作者
你这效率太高了!我明天再测试吧。
回复

使用道具 举报

24#
发表于 昨天 22:43 | 只看该作者
不错!
回复

使用道具 举报

25#
发表于 昨天 23:06 | 只看该作者
赞 一只支持你!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-8-15 02:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表