←back to thread

551 points arrdalan | 2 comments | | HN request time: 0.434s | source

I needed a security camera inside my house, one that would send motion notifications to my smartphone and would allow me to livestream remotely. However, I could not find one that I could trust due to privacy concerns. Many of them upload the plaintext of videos to their servers and none is fully open-source as far as I know. Therefore, I decided to use my spare time to build one from scratch. Called Privastead (as in Private Homestead), it uses OpenMLS for end-to-end encryption (between the camera local hub and the smartphone) and is mostly implemented in Rust (except for part of the Android app that is implemented in Kotlin). The system is functional now and I've been using it in my own house for the past couple of weeks.

Based on some of the discussions I've seen online, it seems like there are other users who are also concerned with the privacy implications of home security cameras. Therefore, I decided to open source my solution for everyone to use. If you need a privacy-preserving home security camera, please give it a try and provide feedback. Note that trying out the system requires you to have a supported IP camera, a local machine connected to the IP camera, a server, and an Android smartphone. I have put together detailed instructions on setting up the system, which I hope makes it easier for others to get the system up and running.

In addition, consider contributing to the project. The prototype currently has a lot of limitations: mainly that it has only been tested with one IP camera, only allows the use of one camera, and only supports Android. I'll continue to improve the prototype as time permits, but progress will be much faster if there are other contributors as well.

1. prymitive ◴[] No.42290093[source]
I have bought 3 Eufy cameras that were well reviewed and heavily advertised “no subscription fees, everything is local” as the main features. The hardware itself is fine but the software is rubbish, pure and total waste of every byte used to run it. Not only does it not work half of the time when I try to view the footage or connect to the live feed, but it also often misses motion that it should not - I would often walk in from of my house during perfect weather day and it would just not record any motion. On top of that the mobile app’s primary purpose is to show you ads of Eufy cameras, and they are everywhere in the UI, constant; every other feature is secondary extra that developers spend minimal time in between adding ads. Between unreliability and ads it’s all just so incredibly annoying to use. When you complain about the ads they will turn it down a notch, but not fully, the official response is that “they needs ads to pay for the app”, which is incredibly dishonest - it’s just Eufy product ads - you buy a camera, install the app that is required to use it, and you’re bombarded with ads trying to upsell you more of what you just bought because you using their product costs them. So instead of a simple subscription fee you have adware product with dishonest and misleading messaging, and an app that takes half a gig of space so it can show you ads.

I also remember reporting a bug that there was a constant “new” badge next to their referral button in-app, despite me clicking on it and reading it (which I though it would make the “new” badge go away) - support kindly explained to me that they have new referral program every week, which is bonkers because the only thing that changes is the date.

I did look into alternatives but didn’t see anything I could easily trust more after Eufy, so I’m looking forward to the future where simple open source software will cover this part of market, because private companies so far seem to just give you crap for as my $$$ as they can extract.

replies(1): >>42290710 #
2. squarefoot ◴[] No.42290710[source]
Cameras could be built using a single board computer (like the Raspberry Pi Zero, but there are better and cheaper options) plus a USB camera module, and the necessary firmware that could well be just a simple script invoking ffmpeg or similar streaming software; all Open Source.

For example:

https://www.friendlyelec.com/index.php?route=product/product...

https://www.friendlyelec.com/index.php?route=product/product...

https://www.armbian.com/nanopi-duo-2/

Then all video can be collected by applications like Shinobi, Zoneminder, Frigate, etc.

https://zoneminder.com/

https://moeiscool.github.io/Shinobi/

https://frigate.video/

The hardest part would probably be making an enclosure that is solid enough to withstand being exposed to sun, rain, temperature deltas etc. and remain sealed to protect the electronics.