
Security News
The Nightmare Before Deployment
Season’s greetings from Socket, and here’s to a calm end of year: clean dependencies, boring pipelines, no surprises.
hap-nodejs
Advanced tools
HAP-NodeJS is a Node.js implementation of HomeKit Accessory Server.
With this project, you should be able to create your own HomeKit Accessory on Raspberry Pi, Intel Edison or any other platform that can run Node.js :)
The implementation may not 100% follow the HAP MFi Specification since MFi program doesn't allow individual developer to join.
Remember to run npm install before actually running the server.
Users can define their own accessories in: accessories/name_accessory.js files, where name is a short description of the accessory. All defined accessories get loaded on server start. You can define accessories using an object literal notation (see Fan_accessory.js for an example) or you can use the API (see below).
You can use the following command to start the HAP Server in Bridged mode:
node BridgedCore.js
Or if you wish to host each Accessory as an independent HomeKit device:
node Core.js
The HAP-NodeJS library uses the debug library for log output. You can print some or all logs by setting the DEBUG environment variable. For instance, to see all debug logs while running the server:
DEBUG=* node BridgedCore.js
HAP-NodeJS provides a set of classes you can use to construct Accessories programatically. For an example implementation, see Lock_accessory.js.
The key classes intended for use by API consumers are:
LockMechanism Service contains a CurrentDoorState Characteristic describing whether the door is currently locked.All known built-in Service and Characteristic types that HomeKit supports are exposed as a separate subclass in HomeKitTypes.
See each of the corresponding class files for more explanation and notes.
Special thanks to Alex Skalozub, who reverse engineered the server side HAP. You can find his research at here. (Sadly, on Nov 4, Apple sent the DMCA request to Github to remove the research.)
There is a video demo running this project on Intel Edison.
If you are interested in HAP over BTLE, you might want to check this.
FAQs
HAP-NodeJS is a Node.js implementation of HomeKit Accessory Server.
The npm package hap-nodejs receives a total of 12,758 weekly downloads. As such, hap-nodejs popularity was classified as popular.
We found that hap-nodejs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 10 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Season’s greetings from Socket, and here’s to a calm end of year: clean dependencies, boring pipelines, no surprises.

Research
/Security News
Impostor NuGet package Tracer.Fody.NLog typosquats Tracer.Fody and its author, using homoglyph tricks, and exfiltrates Stratis wallet JSON/passwords to a Russian IP address.

Security News
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.