Repository navigation
Releases: DX-Cloud/ipmg
Releases · DX-Cloud/ipmg
Release list
ipmg v1.4.2
ipmg v1.4.2
设备选择菜单(分组 + 分页)的交互修正版本。
缺陷修复
- 分组标题占用序号:标题被当成普通选项参与编号,导致第一台设备显示 2 号、按数字与设备错位。现在序号是页内快捷键——每页从 1 开始、只给可选项编号,标题不占号,按数字直接选中当页对应设备
- 分页把分组标题留在上一页页尾:标题沦为孤儿行,下一页的条目看不到自己属于哪个分组。现在分页按"设备行"配额计算(每页 9 台设备,分组标题额外显示、不占这 9 行),标题不会再被留在页尾;分组跨页时下一页顶部补一行「分组名(续)」
- 取消
↑/↓到页边界自动翻页:此前光标移到页首/页尾会自动切页。现在↑/↓(及j/k)只在当前页内循环移动——在0(返回)按↓回到第 1 项,在第 1 项按↑到0;翻页只认←/→(或n/p) - 固定尾部(如设备管理里的"添加新设备")跟随当页编号(本页 9 台设备时是 10 号、6 台时是 7 号)
- 设备选择过滤后分组标记未同步,可能导致编号与续页提示错乱
使用
ipmg.exe:主程序(双击运行,自动 UAC 提权)ipmg-config-editor.exe:配置可视化编辑器(GUI,免管理员)- 帮助与版本:
ipmg --help、ipmg --version;环境自检:ipmg --selfcheck
升级提示
- 从 v1.4.1 升级:配置格式未变,直接替换 exe 即可
- 已开启开机自启的用户:计划任务记录的是 exe 路径,原地替换 exe 后无需重建任务
校验
ipmg.exe 32CDD26B72E775D78CE7C111591ED4E24F4A43F25ED3BF68A8DC5E58101E4757
ipmg-config-editor.exe 9A5E987A6993093A9B6A73ABC2F19DC79C26A048231462ACEB29686491A54BF6
ipmg v1.4.1
ipmg v1.4.1
v1.4.0 的补丁版本:修复若干"文档承诺了但功能没接线"的问题、单实例与提权的竞态缺陷,并把 README 重写为规范项目文档。
缺陷修复
- 提权与单实例竞态:自动提权会拉起新进程接管,而父进程在退出前仍持有单实例互斥体,新进程可能抢在这个窗口内启动、误判"已在运行"而直接退出(表现为点击后程序没启动)。现在提权前先让出单实例,提权失败再重新取回
- 单实例判定更稳健:改为"创建后立即尝试取得所有权"(
WaitForSingleObject)。此前只要系统里存在同名互斥体对象(哪怕没有任何进程持有),程序就会永久认为"已有实例在运行"而拒绝启动 - 重复启动唤出既有窗口真正接线:v1.4.0 只发送了通知事件却没有代码等待它,第二个实例提示"已请求既有实例显示窗口"却无人响应。现在既有实例会显示并前置窗口(常驻实例恢复被隐藏的控制台)并唤醒重绘
- 操作闸门接入前台界面:配置、恢复、撤销、历史恢复现在都持闸门,与后台热键应用互斥。此前闸门只有热键路径使用,手动配置期间按预设热键会出现两边同时写同一块网卡
- 手动流程备份失败默认中止:此前只提示"备份失败(继续执行)"就照常写网卡;现在默认中止(没有回滚点就不动网卡),确认知情后才继续;网卡没有 IPv4(未连接/APIPA,撤销无法还原)时给出提示
- 空备份提示判断取错栈元素:备份栈 index 0 才是刚写入的那条,此前取最旧一条,会双向误报/漏报
- 设置里的自定义更新检测地址(镜像站)真正生效:此前该设置项无人读取,手动检查与启动检测都只用内置源
- 删除
utils/backup.py中四个无调用者且绕过操作闸门的直接写网卡函数,恢复入口统一为core.operations
新增
- 命令行
-h/--help帮助、-V/--version版本输出;未知选项报错并返回退出码 2(此前被静默忽略——例如--help会被当成没写而直接启动界面) --autostart-min有实际语义:等价于--resident,但不打印常驻启动信息- 热键注册失败现在会写入日志
文档
- README 按成熟项目规范重写:徽章、功能分组表、界面预览、环境要求、安装、使用指南、命令行参数、配置文件、项目结构、架构、开发、FAQ、已知限制、技术栈、贡献
- 完整版本历史拆分到新的 CHANGELOG.md(补齐 v1.0–v1.2 记录)
- 修正文档中与实现不符的描述(界面预览的提示文本、日志不做轮转、设备/设置编辑不写操作日志、配置文件不会被自动搬移等)
使用
ipmg.exe:主程序(双击运行,自动 UAC 提权)ipmg-config-editor.exe:配置可视化编辑器(GUI,免管理员)- 帮助与版本:
ipmg --help、ipmg --version;环境自检:ipmg --selfcheck
升级提示
- 从 v1.4.0 升级:配置格式未变,直接替换 exe 即可
- 已开启开机自启的用户:计划任务记录的是 exe 路径,原地替换 exe 后无需重建任务
校验
ipmg.exe C90A0CB6D34A39D01DC1E6F24B92CC434434105CE782385EBCA06B05D5FC8D29
ipmg-config-editor.exe B1A300F220CA6468F96D22F73D63CBB0385B6089BCA8EB7624BC3216628783A9
ipmg v1.4
ipmg v1.4
追加 IP、常驻后台与全局热键、快捷预设、开机自启;同时修掉三个实测缺陷与一个常驻热键的 WMI 线程问题。
缺陷修复
- 设备选择菜单无法翻页:
↑/↓原本只在当前页内移动(提示却写着"↓ 下一页"),现在方向键可跨页并在页首/页尾安全饱和,←/→也已接入 - 恢复 IP 只还原主 IP:网卡配置了主 IP + 次要 IP 时,恢复/撤销会丢掉次要地址;现在备份与恢复都按完整 IPv4 列表处理(索引 0 仍是主 IP),旧格式备份仍兼容
- 移除连通性探测:配置前预检与配置后 Ping 验证实测每次吃满超时且结果不可信(对
127.0.0.1也返回不可达),单次配置白等约 6 秒;现已整体删除 - 修复常驻下按预设热键报"备份网卡IP失败,已中止":热键应用跑在独立工作线程,而 WMI 底层是 COM,线程内未调用
pythoncom.CoInitialize必然失败;现在按线程缓存连接并自动初始化 COM,另加连接失效自愈重试 - 未知设置键不再被静默丢弃;备份失败与 WMI 异常现在带堆栈写入日志
新功能
- 配置 IP 支持
[Y]覆盖 / [n]取消 / [a]追加(默认覆盖):追加会保留网卡现有地址与默认网关,写入后回读校验主 IP 与网关 - 常驻后台:托盘图标 + 可隐藏控制台 + 单实例;重复启动会唤出既有窗口;常驻时选"退出"默认最小化到托盘
- 全局热键:
Ctrl+Alt+I唤出/收起(可在设置里改) - 快捷预设:主菜单新增「快捷预设」(快捷键
p),把「网卡 + 设备 + 覆盖/追加」存为预设并绑定热键;可选"应用前二次确认",确认与结果都用原生弹窗,不依赖系统通知设置 - 开机自启:计划任务
ipmg-resident,/RL HIGHEST登录静默提权(不弹 UAC) --selfcheck环境自检(单实例/热键/托盘/控制台隐藏/自启任务)- 应用图标
使用
ipmg.exe:主程序。双击运行即可(会自动 UAC 提权);设置里开启常驻后双击就是常驻模式,也可显式ipmg.exe --residentipmg-config-editor.exe:配置可视化编辑器(GUI),无需管理员- 环境自检:
ipmg.exe --selfcheck - 完整说明见 README
升级提示
- 从 v1.3 升级:配置格式兼容,直接替换 exe 即可;v1.3 的"配置前预检 / Ping 验证"已在 v1.4 移除
- 已开启开机自启的用户:计划任务里记录的是 exe 路径,原地替换 exe 后无需重建任务
校验
ipmg.exe 597DAB8CF4FA44E248D7BA20B09194B2C139A79240066DE37402EAE5D7F19DF5
ipmg-config-editor.exe 18DC9D8777576C04D25D968070355B44A751F7867E89F1DE282D4325EF040341
ipmg v1.3
ipmg v1.3
版本更新检测、配置前预检、原子保存与配套配置可视化编辑器。
新功能
- 检查更新:无论是否有新版本,均展示 GitHub 最新版本与本地版本(含完整版本号)
- 版本更新检测:启动时后台检测 GitHub(或镜像站)最新版本,标题栏提醒;主菜单新增"检查更新"(快捷键
u),可打开 Release 页面;可在设置中关闭或指定镜像地址 - 配置前预检:配置 IP 前检查本机 IP 冲突、ARP 冲突、网关网段、设备可达性,错误项阻止配置、警告项提示后可继续
- 配置原子保存与自动备份:写入改为临时文件 + 原子替换,保留上一版
config.yaml.bak,异常时不损坏原配置 - 配套配置可视化编辑器(GUI,tkinter):
ipmg-config-editor.exe,可打开/编辑/保存本地配置(设备、设置、网卡记忆、备份与历史),校验与主程序一致,损坏文件拒绝打开 - 版本号集中管理,设置 schema 由 TUI 设置页与 GUI 编辑器共用
使用
ipmg.exe:主程序,双击运行(Windows,首次运行需要管理员权限)ipmg-config-editor.exe:配置可视化编辑器(GUI),无需管理员权限- 完整说明见 README
ipmg v1.2
ipmg v1.2
TUI 交互重构版本:统一交互组件、键盘导航、设置中心,并修复多项稳定性问题。
新功能
- 统一交互组件:选择菜单支持关键字即时过滤、↑/↓ 或 j/k 键盘导航、c<编号> 复制到剪贴板
- 主菜单改为动作注册表驱动,新增功能注册一条 Action 即可获得菜单入口
- 新增设置界面:自动打开管理页、虚拟网卡过滤、配置/恢复成功后执行自定义命令(钩子)
- 网卡列表默认过滤虚拟网卡(VMware / Hyper-V / WSL / 蓝牙等),可在设置中关闭
- 配置流程合并"选设备方式"步骤,确认精简为一行;配置失败时按
r直达恢复流程 - 主菜单记忆上次动作并默认高亮,
s进设置、q退出快捷键 - WMI 错误码附带解决建议(如 84=网卡未连接、97=IP 已被占用)
- 配置 schema 引入版本化迁移框架,旧配置自动无损迁移
修复
- 键盘导航原地刷新:光标上移 + 逐行覆盖,消除闪烁与菜单堆叠;启用控制台 VT 处理
- 光标可移动到"返回""添加新设备""帮助说明"等固定选项,缩进统一对齐
- 设置页回车直接切换、高亮位置记忆、帮助整页展示
- UAC 提权被取消时不再静默退出;路径含空格也能正确提权重启
- 撤销恢复失败时备份栈保持不变,可重试
- 子网掩码 0.0.0.0 不再导致程序卡死;/31、/32 网段明确报错
- 导入损坏或格式错误的配置文件不再覆盖现有配置
- 设备 IP 范围校验、MAC 读取越界保护、Ping 应答校验与 socket 泄漏修复
使用
下载 ipmg.exe 双击运行(Windows,首次运行需要管理员权限)。
完整说明见 README。
ipmg v1.1
ipmg v1.1
新增 IP 历史记录恢复与设备搜索功能。
新功能
- IP 历史记录恢复
- 每次配置 IP 前自动备份当前配置到历史记录
- 恢复界面首项固定为"恢复为 DHCP(自动获取)"
- 展示最近 10 条静态 IP 历史(IP/掩码/网关/时间戳)
- 相同 IP 配置自动去重合并,更新时间戳
- DHCP 配置不记录到历史,按网卡 MAC 分别存储
- 设备搜索
- 配置流程中新增"搜索设备"选项
- 支持设备名称模糊匹配(如"交换"→"核心交换机")
- 支持设备 IP 模糊匹配(如"251"→"10.251.251.251")
- 不区分大小写,无结果时可重新搜索
优化
- 恢复 IP 流程重构,复用 IP 历史记录管理
- 配置文件自动兼容升级
使用
下载 ipmg.exe 双击运行(Windows,首次运行需要管理员权限)。
完整说明见 README。
ipmg v1.0
ipmg v1.0
首个正式版本:Windows 网络设备 IP 一键配置工具。
功能
- 一键配置 IP:选择网卡和设备,自动计算网卡 IP 并配置静态地址
- 一键恢复 IP:自动备份操作前的 IP 配置,可恢复为 DHCP 或原静态配置
- 设备管理:添加、编辑、删除、收藏常用设备配置
- 自动 Ping 验证:配置完成后自动检测设备连通性
- 管理页面直达:配置完成后直接打开设备 Web 管理页面
- 网卡状态实时显示:标题栏显示当前网卡 IP、掩码、网关、DHCP/静态状态
- 断开网卡支持:未接线的网卡也可配置静态 IP(恢复 DHCP 需要接线)
- 配置导入导出:YAML 格式,方便团队共享设备配置
- 管理员自动提权:启动时自动检测权限并 UAC 提权
- 操作日志:所有操作自动记录到日志文件
使用
下载 ipmg.exe 双击运行(Windows,首次运行需要管理员权限)。
完整说明见 README。