npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

eufy-security-ws

v3.1.0

Published

Node WebSocket server implementation to integrate Eufy Security devices

Readme

eufy-security-ws

[!CAUTION]

🚨🚨🚨 LIBRARY DEPRECATION NOTICE 🚨🚨🚨

⚠️ Eufy is shutting down the legacy APIs this library is built on. ⚠️

Eufy is in the middle of a large migration of their ecosystem. The newer Eufy Mega platform (the "5-in-1" app, covering Security / Clean / Lights / Care) is gradually becoming the only supported backend, and Eufy has already started removing access to the legacy APIs this library was originally built on. Until recently both worked in parallel — that is no longer guaranteed.

🔔 What this means for you:

  • 🟢 A recent PR restores push notifications against the new v6 ("eufy_mega") backend, so push works again for now. This is a short-term stopgap.
  • 🟡 Other functionality that still depends on legacy endpoints may stop working without warning as Eufy continues the rollout. The current Eufy app no longer uses the legacy API at all.
  • 🔴 Once the legacy API is fully shut down, this library will stop functioning — no amount of patching here will change that.

🚧 What's next:

A new integration built around Eufy Mega is in active development (auto-discovery, less battery drain for P2P), designed from the ground up rather than bolted onto the Security-only structure, and coordinated across the Home Assistant, Homebridge and Homey communities so the new library works for everyone.

👉 Treat this release as a temporary stopgap. 👈

This notice will be updated as the migration progresses.

Logo

node NPM version Downloads Total Downloads Dependency Status Known Vulnerabilities

NPM

Small server wrapper around eufy-security-client library to access it via a WebSocket.

Join us on Discord:

The development of this server was inspired by the following project:

Credits go to them as well.

If you appreciate my work and progress and want to support me, you can do it here:

ko-fi Donate

This project is not affiliated with Anker and Eufy (Eufy Security). It is a personal project that is maintained in spare time.

Get started

To try it out or for more information, such as API documentation, Docker image, etc., please see here.

Deployment

Instructions aimed at maintainers for deploying a new version: Deployment

RSA_PKCS1_PADDING / CVE-2023-46809

The Eufy cloud handshake requires RSA_PKCS1_PADDING, which Node.js restricted as part of the Marvin attack fix (CVE-2023-46809). Earlier versions worked around this by launching Node with --security-revert=CVE-2023-46809, but that flag is no longer recognized on Node 24+ and causes Node to abort on startup (Error: Attempt to revert an unknown CVE).

This is now handled by eufy-security-client's embedded (pure-JS) PKCS#1 implementation, which is enabled by default (enableEmbeddedPKCS1Support: true). No Node flag is required and you no longer need to set anything. To opt out, set "enableEmbeddedPKCS1Support": false in your config file.

Changelog

1.9.9 (2026-02-14)

  • Upgrade to eufy-security-client 3.7.0
  • Feature: Add search by date for events @temp-droid in https://github.com/bropat/eufy-security-ws/pull/502
  • Fix: Fixed websocket handle by @temp-droid in https://github.com/bropat/eufy-security-ws/pull/499