fryfrog / unifi-protect

An Ubuntu based Docker image for Unifi Protect
25 stars 9 forks source link

Future of Protect *not* on Ubiquity hardware is uncertain... #3

Open fryfrog opened 5 years ago

fryfrog commented 5 years ago

The .deb will be gone soon, and the upgrades around 1.14 wouldn't work on non-UI hardware anyway

If you use this Docker image, you'll likely never get an update to later versions.

I'm also going to need to pull out the .deb and make it an optional URL again, to be okay w/ their LICENSE.

PrivatePuffin commented 5 years ago

Maybe just stop believing the bullshit they pull? They said the same about every version before 1.12 and are just doing the same with 1.14.

If anything it might (but they said the same before, without any consequences) include some DRM this time, but there is no reason to believe it can't work on non ubnt hardware (which is their much repeated lie).

Simply put: Just continue the project without taking note of the same lies Ubiquiti makes ever newly leaked version.

nilathedragon commented 4 years ago

They introduced a completely new backend system in 1.14.8 apparently. I was able to get 1.14.4 running but I am missing a dependecy for 1.14.8... Might try to mess with the package a bit to accept an older version of it to see if it works anyway ^^

travis-south commented 4 years ago

@infinytum , where did you get the 1.14.4 .deb file?

nilathedragon commented 4 years ago

@travis-south Try searching their APT repositories, they are still on there. https://bintray.com/ubnt/apt/unifi-protect.

Update on 1.14.8 I also managed to fully dockerize 1.14.8 Unifi Protect. So technically, it seems like there would be no issue to run this software on other devices than NVR or dream machine. They tightly coupled it with unifi-core though which is coupled with ulp-go. They can run on other devices too, but they are absolutely not made to be run on other devices.

So, as I highly doubt that its OK to dockerize an entire cloud key or NVR, if there is no way to just get protect, it will be hard to keep it legal.

EnigmaWebdesign commented 4 years ago

Hi there,

Just found this repository after my quest from the UBNT forum -> Reddit -> this place. @infinytum, how did you build the new docker image? I want to test this myself on Ubuntu 18.04 LTS.

Cheers,

Steve

nilathedragon commented 4 years ago

@EnigmaWebdesign Well, basically I start with a debian stretch and use their APT repositories. I have to replace some version strings in their packages so they wont complain about too old packages.

I would release a working image for you guys but like I really don't want Ubiquiti to sue me for it.

@fryfrog You seem to know pretty well about their Licensing. Do you think I might be OK creating such an image? Its only made of what they published and some helper scripts I coded.

fryfrog commented 4 years ago

They haven't asked me to take this down, but I'm not a lawyer and I haven't talked to a lawyer. If they ever ask me to take it down, I'll just do it. I'm not interested in fighting anything, but I figure do it until they ask not to.

nilathedragon commented 4 years ago

I think I have an idea: I will not publish a built image. But the source for building it, which does not contain any of their software. I am not breaking any laws with that.

EnigmaWebdesign commented 4 years ago

Well, any help is appreciated and we as long as you say it's for "training purposes" there might not be any issue. Any idea or ETA on a DIY manual for this? And by the way I am very thankfull for all of this ;-)

Cheers,

Steve

nilathedragon commented 4 years ago

The Code is right here in my editor. I am cleaning out the sensitive data right now and add a readme. I must warn you: First Boot of the image is always a bit hit or miss due to DB init. Usually you get it to work though. Im running this on an Intel NUC since 2 months now with a camera and so far it works great.

EnigmaWebdesign commented 4 years ago

@infinytum. Cool, looking forward to it. I have some HP Thin clients I can work with. I use one now with video.

Keep up the good stuff, ha ha ha

PrivatePuffin commented 4 years ago

Okey, I hereby forked this... As I don't like project to die based on pressure from companies like UBNT.

That being said: Whether its legal or not to supply instructions or sourcecode to repackage their software, depends a lot on your jurisdiction. It even depends on your jurisdiction if their EULA and Licence even apply in the first place for such a project.

Generally speaking (in most jurisdictions) its legal to give instructions how to repackage a certain software package, certainly as long as you don't actively circumvent any security measures and don't aquire the software illegally or give instructions how to aquire the software illegaly.

As I can't find a licence for Unifi Protect, we need to asume it's "all rights reserved" and you aren't allowed to (at least) distribute (modified versions of) the software.

When it comes to modifing a software package your already own, it's quite dependend jurisdiction. But if you don't share (information about) it, the burden of proof is on UBNT. which they would never be able to statisfy and even if they do it's often allowed to modify or "play with" copyrighted works as long as you keep it for personal use under all sorts of legal umbrella's and jurisdictions.

So at the very least you are quite safe if you keep it to your personal playground.

If you want to share knowhow about how to do any modifications, that often falls under (a form of) freedom of speech (A company can't forbid you to discus the working of their software in a licence) or education, as long as you don't give instructions how to breach security measures. But it depends a lot on jurisdiction (again).

PrivatePuffin commented 4 years ago

So my opinion in this case: Considering the (often false) statements Ubiquity continues to make about how impossible it is to run protect on other hardware, I think it won't be hard to defend this being either education or journalism.

In fact we are investigating 4 questions:

  1. Are the continues statements from UBNT true or a smokescreen?
  2. Is it possible to run this package on other hardware?
  3. What modifications would be required to run this package on other hardware
  4. What consequences would it have (stability, performance etc.) to run this package on other hardware.

I think those questions are significant enough to some form of copyright exception under most jurisdictions

nilathedragon commented 4 years ago

@Ornias1993 I do not modify their software at all. I use their public apt repositories to download it. the only thing necessary is to trick APT into thinking that a certain library is newer than it actually is.

Also a few supplemental scripts that are usually provided by the OS have been either replaced by an empty shim or just static content being echoed.

I also do not ship their software with my repository, but I do ship their APT repo URL which can be found online anyway.

To my understanding that means that I am in no way violating their licenses or rights as their software simply happens to be installed a container that provides the things it expects to have.

I am also not using any secrets they use on their devices to pull updates.

To your questions:

  1. Are the continues statements from UBNT true or a smokescreen? I think what they mean is that the software will be tightly coupled with the new UbiOS and its respective libraries like ulp-go and unifi-core which are available on their APT repository too. They work well on any hardware tho (so far).

  2. Is it possible to run this package on other hardware? It certainly is, given you provide the above libraries and some shim scripts.

  3. What modifications would be required to run this package on other hardware 2 shim scripts that are emtpy or return static content and a database to connect to.

  4. What consequences would it have (stability, performance etc.) to run this package on other hardware. The auto-install/update feature is broken as its a docker container. Also the reporting of CPU, RAM or Disk may not work for you. In my testing it works since 2 months without an issue.

PrivatePuffin commented 4 years ago

@infinytum I think you need to reread what I just wrote... Firstoff I do not say you do anything, I just explained how the law works.

In my second message I give 4 hypothesis, not questions. I just say those might qualify a journalist or educational exception to copyright.

edit So I don't know why you are responding to me the way you are... Because I never tried to ask any questions to you or anyone else, I just gave a general explaination.

nilathedragon commented 4 years ago

Because it's a discussion? So I wanted to state what of the above might or might not apply to the code in question...

PrivatePuffin commented 4 years ago

Not everything is a discussion. It was an explaination for people like fryfrog who don't really seem to grasp the law. If you do, or think you do, good for you.

About your answers:

  1. No they literally lied about technical reasons being the reason it wasn't even possible. I'm not pulling that out of thin air, I even roasted them for it, which got quickly deleted by their censorship team.
  2. Well, what I tried to explain is the fact we found out (by actually trying and doing it) might qualify as journalism.
  3. see 2.
  4. See 2.

So as I explained, those 4 question where hypothises why we would qualify for some sort of Copyright exception in some jurisdictions to begin with. They where not actual questions for you or anyone to answer, the point I tried to make is that the fact we CAN answer them, is because they ARE valid questions that required doing what we did to get to the bottom of them.

nilathedragon commented 4 years ago

@Ornias1993 About Nr 1. do you have a link to the technical reasons they provide why it couldn't work? I'm very interested.

PrivatePuffin commented 4 years ago

@Ornias1993 About Nr 1. do you have a link to the technical reasons they provide why it couldn't work? I'm very interested.

You know I don't even want to spend time on their BS anymore. Firstoff their is the big BS picture on top of this thread. Second their is their shitty excuse this could only run with their hardware because it uses special magic with the discs which couldn't even be done on a iscsi device apparently.. which is also complete BS. And i've seen enough of the same BS-smokescreens from them not to take a word they say serieusly... things like locking the firmware due to some legal BS even the FCC says is BS for example... Serieusly...

edit What I wanted to say is: I don't want to spend time re-googling to prove a point which is fairly obvious and easy as hack to find.

disclaimer I'm not a UBNT hater or something, I do have UBNT gear... Just not the Unifi Pro-Sell(1.), UDM-Spy(2.) or any bait-and-switch(3.)

While those names are a joke, here is an explaination for those than didn't get the joke:

  1. Locking down the ecosystem while it was before open to self-hosting, feels like pushing more sales
  2. Requiring a account with them to even be able to install hardware I OWN, is wrong IMHO.
  3. How many times did they over promise at launch and underdeliver when they stopped supporting a switch? Not accounting some of them burning down due to using underrated PSU's.
EnigmaWebdesign commented 4 years ago

LOL, this is really interesting to read. I agree with @Ornias1993. UBNT had a good view and system when installing the Unifi Network and UniFi Video software. We could deploy it on several systems. Now they locked it down with UniFi Protect and their own hardware and following in it's footsteps UniFi OS, etc. Anyway, we're going offread. I hope they make good on their promise to allow Protect to run on other hardware as stated in the forum's.

For now I would like to test Protect for myself on my own hardware ;-)

Cheers,

Steve

nilathedragon commented 4 years ago

So the latest version had some changes on how the database works. I will version lock it to something I know works for now. Might upgrade it to the latest if I'm bored once again

nilathedragon commented 4 years ago

@EnigmaWebdesign You can check my repository now.

EnigmaWebdesign commented 4 years ago

@infinytum Many thanks, I will try it out asap ;-)

Cheers,

Steve

snip commented 4 years ago

@EnigmaWebdesign You can check my repository now.

Any idea where we can found it @infinytum ? Thanks

nilathedragon commented 4 years ago

@EnigmaWebdesign You can check my repository now.

Any idea where we can found it @infinytum ? Thanks

Check my profile for it. @snip

PrivatePuffin commented 4 years ago

This: https://github.com/infinytum/ubnt-cloudkey-docker