{"id":13466764,"url":"https://github.com/kasuganosoras/SuperMicro-IPMI-LicenseGenerator","last_synced_at":"2025-03-26T00:31:26.821Z","repository":{"id":36229988,"uuid":"193359368","full_name":"kasuganosoras/SuperMicro-IPMI-LicenseGenerator","owner":"kasuganosoras","description":"🔑 SuperMicro 超微主板 IPMI 高级功能授权解锁 Key 生成工具","archived":false,"fork":false,"pushed_at":"2022-03-20T06:10:06.000Z","size":20,"stargazers_count":454,"open_issues_count":3,"forks_count":102,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-10-29T20:32:59.207Z","etag":null,"topics":["go","ipmi","java","javascript","keygen","php","python","supermicro"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kasuganosoras.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-23T14:41:31.000Z","updated_at":"2024-10-26T19:58:31.000Z","dependencies_parsed_at":"2022-07-20T05:00:17.333Z","dependency_job_id":null,"html_url":"https://github.com/kasuganosoras/SuperMicro-IPMI-LicenseGenerator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasuganosoras%2FSuperMicro-IPMI-LicenseGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasuganosoras%2FSuperMicro-IPMI-LicenseGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasuganosoras%2FSuperMicro-IPMI-LicenseGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasuganosoras%2FSuperMicro-IPMI-LicenseGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kasuganosoras","download_url":"https://codeload.github.com/kasuganosoras/SuperMicro-IPMI-LicenseGenerator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245566098,"owners_count":20636390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["go","ipmi","java","javascript","keygen","php","python","supermicro"],"created_at":"2024-07-31T15:00:49.790Z","updated_at":"2025-03-26T00:31:26.545Z","avatar_url":"https://github.com/kasuganosoras.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# SuperMicro IPMI 授权生成器\nSuperMicro 超微主板 IPMI 高级功能授权解锁 Key 生成工具，使用多种语言编写\n\n超微的主板自带的 IPMI 有些高级功能是需要授权才能解锁的，比如在线更新 BIOS，RAID 管理等等，但是我找半天也不知道这个 Key 在哪……\n\n在咕鸽上找了一下，看到一篇逆向超微 IPMI 源码的文章，大概摸清了它的授权验证原理：\n\n1. 将 IPMI BMC MAC 地址作为 16 进制字串转为二进制\n2. 使用 HMAC + SHA1 散列算法计算出 Key\n3. 取前 24 位作为授权密钥\n\n我寻思那挺简单啊……于是就给它写了个生成工具出来。\n\n在线版：https://tql.ink/ipmi/\n\nAPI 调用：`https://tql.ink/ipmi/api.php?mac=\u003c你的 BMC MAC\u003e`\n\n## 使用方法\n\n你可以直接使用网页版，最方便，也可以自己下载下来编译运行玩\n\n先 `git clone` 下来，然后选择一个你喜欢的语言，如果需要编译就编译一下，脚本语言例如 php python 可以直接运行\n\n然后执行方法：\n\n```\n命令 \u003c你的 BMC MAC\u003e\n```\n\n例如\n\n```\njava main 0c:c4:7a:3e:2f:de\n```\n\nPHP 类引用的方法：\n\n```php\n\u003c?php\ninclude('supermicro.php');\n$supermicro = new Supermicro();\necho $supermicro-\u003egetLicense(\"这里填写你的 IPMI MAC 地址\");\n```\n\n其实可以更简单，命令行执行：\n\n```bash\necho -n '你的 MAC 地址' | xxd -r -p | openssl dgst -sha1 -mac HMAC -macopt hexkey:8544E3B47ECA58F9583043F8 | awk '{print $2}' | cut -c 1-24\n```\n\n那还有必要写这个工具吗？有！为什么呢？因为无聊……\n\n![img](https://i.imgur.com/IjI8nY5.gif)\n\n## 多语言\n\n什么你不喜欢 PHP？那就试下其他语言吧，还有 Python、Go、Java、JavaScript 版本可选\n\nJavaScript 版本是 [@muzea](https://github.com/muzea) 大佬做的，很惭愧，我只是做了个微小的 UI。\n\n其他语言也是从咕鸽上搜索来东拼西凑做成的，凑合着看吧……\n\n目前我就会这几种语言了，如果你会其他语言的话，可以尝试自行实现生成，然后欢迎提交 Pr~\n\n## BMC MAC 地址在哪查看？\n\n登录你的主板 IPMI，首页就能看到 BMC MAC 地址\n\n## 怎么激活？\n\n登录 IPMI，找到下拉栏的 Other（其他），然后 Activate License 这个页面\n\n把生成出来的 License Key 填进去就行了\n\n## 开源协议\n\n本项目使用 MIT 协议开源\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasuganosoras%2FSuperMicro-IPMI-LicenseGenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkasuganosoras%2FSuperMicro-IPMI-LicenseGenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasuganosoras%2FSuperMicro-IPMI-LicenseGenerator/lists"}