{"id":28076887,"url":"https://github.com/jaredhanson/node-ffi-ipmi","last_synced_at":"2026-04-15T18:01:53.375Z","repository":{"id":13130901,"uuid":"15812950","full_name":"jaredhanson/node-ffi-ipmi","owner":"jaredhanson","description":"wrapping various ipmi related tools and libs for node via node-ffi @ https://github.com/rbranson/node-ffi.git","archived":false,"fork":false,"pushed_at":"2017-10-25T20:40:02.000Z","size":70,"stargazers_count":7,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-20T21:41:02.743Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":false,"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/jaredhanson.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}},"created_at":"2014-01-10T23:37:21.000Z","updated_at":"2024-12-27T21:19:43.000Z","dependencies_parsed_at":"2022-08-29T22:32:17.859Z","dependency_job_id":null,"html_url":"https://github.com/jaredhanson/node-ffi-ipmi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jaredhanson/node-ffi-ipmi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhanson%2Fnode-ffi-ipmi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhanson%2Fnode-ffi-ipmi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhanson%2Fnode-ffi-ipmi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhanson%2Fnode-ffi-ipmi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredhanson","download_url":"https://codeload.github.com/jaredhanson/node-ffi-ipmi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhanson%2Fnode-ffi-ipmi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31853279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2025-05-13T01:54:54.437Z","updated_at":"2026-04-15T18:01:53.351Z","avatar_url":"https://github.com/jaredhanson.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"node-ffi-ipmi\n=============\n\nwrapping various ipmi related tools and libs for node via node-ffi @ https://github.com/rbranson/node-ffi.git\n\nFirst, clone https://github.com/speedops/ipmitool.git and configure and make it.\n\nThen, make the ipmi stuff here to do ipmitool stuff in node.js\n\nwhy\n===\n\ni looked at different ways of interfacing ipmitool from node.js.  The options i played with are: \n\n* http://github.com/joyent/v8plus  -- this has funny documentation (see FAQ).  I had some issues with it, I'm too afraid to talk about this in public\n* https://github.com/jmendeth/v8u -- this looked promising.  still too complex\n* https://github.com/rbranson/node-ffi -- this is the one I ended up using. Because I can make sense of it.\n\n\n\nwhat\n====\n\n* wanted to avoid shelling out to call ipmitool CLI commands\n* want to avoid having to connect for every command; want to run multiple commands per established channel\n* want a simple way to call -- without having to hack inside ipmitool too much and figure out which sequence of calls to make -- ipmitool does not seem to be designed to be used as a library\n* do not want fork/exec or shelling out per command\n* do not want hundreds of boilerplate wrappers for each command combo \n* make it fast and be async compatible\n* if you understand  ipmitool command or/and if the ipmitool command works for you this wrapper should work for you as well without having to figure out which C functions to call in which order\n* it does not prevent you from cooking up more javascripty / nicer API (see ipmi.c and ipmi.js for alternative API that are less stringy).\n\nexample\n=======\n\nLook at ipmi.js\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredhanson%2Fnode-ffi-ipmi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredhanson%2Fnode-ffi-ipmi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredhanson%2Fnode-ffi-ipmi/lists"}