1 Punkte von GN⁺ 2023-10-09 | 1 Kommentare | Auf WhatsApp teilen
  • OpenIPC ist ein Open-Source-Firmware-Projekt, das proprietäre oder vernachlässigte Vendor-Firmware auf ARM- und MIPS-basierten IP-Kameras verschiedener Hersteller ersetzen soll
  • Endnutzer können es als vorkompilierte binäre Firmware installieren, und Entwickler können auf den vollständigen Quellcode zugreifen und an Verbesserungen mitwirken
  • Der Quellcode wird unter der MIT License veröffentlicht und kann auch als Teil proprietärer Software wiederverwendet werden, es wird jedoch darum gebeten, Verbesserungen zurückzugeben und bei kommerzieller Nutzung Kontakt aufzunehmen
  • Für das Projekt und seine Komponenten gilt die ausdrückliche Einschränkung keine Nutzung zu militärischen Zwecken
  • Anfangs wurde nur HiSilicon-SoC unterstützt, inzwischen wurde die Bandbreite unterstützter Chips auf Ambarella, Anyka, Fullhan, Goke, GrainMedia, Ingenic, MStar, Novatek, SigmaStar, XiongMai und weitere erweitert

Ersatz für proprietäre IP-Kamera-Firmware

  • OpenIPC ist ein von der Open-Source-Community entwickeltes Open-Source-Betriebssystem
  • Es richtet sich an IP-Kameras auf Basis von ARM- und MIPS-Prozessoren verschiedener Hersteller
  • Ziel ist es, die vom Hersteller vorinstallierte Firmware zu ersetzen
    • Sie ist proprietär und ihre interne Funktionsweise lässt sich nur schwer nachvollziehen
    • Sie ist oft unsicher oder wird nicht mehr gepflegt
    • Auch für Geräte mit eingestelltem Support kann sie eine Alternative sein

Installation und Beteiligung an der Entwicklung

  • Damit Endnutzer sie leicht installieren können, werden vorkompilierte Binärdateien bereitgestellt
  • Für Weiterentwicklung und Verbesserungen ist auch der vollständige Zugriff auf die Quelldateien offen
  • Entwickler, die beitragen möchten, können sich an der Verbesserung des Projekts beteiligen

Lizenz und Nutzungseinschränkungen

  • Der OpenIPC-Quellcode wird unter der MIT License veröffentlicht
  • Nutzer erhalten die ausdrückliche Erlaubnis, den Code für jeden Zweck wiederzuverwenden
    • Auch die Verwendung als Teil proprietärer Software ist erlaubt
  • Das Projekt bittet darum, Verbesserungen zurückzugeben
  • Bei Nutzung des Projekts zu kommerziellen Zwecken wird darum gebeten, Kontakt aufzunehmen
  • Die Nutzung des OpenIPC-Projekts und seiner Komponenten zu militärischen Zwecken ist nicht erlaubt

Erweiterte SoC-Unterstützung

  • Die OpenIPC-Firmware unterstützte historisch nur HiSilicon-SoCs
  • Mit der fortlaufenden Entwicklung wurde die Liste unterstützter Prozessoren erweitert
  • Derzeit werden Chips der folgenden Hersteller unterstützt
    • Ambarella
    • Anyka
    • Fullhan
    • Goke
    • GrainMedia
    • Ingenic
    • MStar
    • Novatek
    • SigmaStar
    • XiongMai
  • Die Liste unterstützter Prozessoren soll in Zukunft weiter wachsen

Dokumentation und weiterführende Informationen

  • Weitere Informationen zum Projekt finden sich auf der OpenIPC-Website und im Wiki

1 Kommentare

 
GN⁺ 2023-10-09
Meinungen auf Hacker News
  • Ich habe mich früher selbst damit beschäftigt, aber größtenteils war es ein enttäuschender Prozess. Die Idee, irgendeine chinesische IP-Kamera zu kaufen und sie auf eine offene Firmware umzustellen, klingt in der Theorie gut. Das eigentliche Problem ist aber, ob man nun 1 oder 10 Kameras kauft und später weitere nachkauft
    Zu einem bestimmten Zeitpunkt ist schwer herauszufinden, welche interne Hardware verbaut ist, etwa welcher SoC tatsächlich verwendet wird, und chinesische Hersteller tauschen zur Verbesserung ihrer Margen häufig die internen SoCs aus. Selbst wenn jemand dasselbe Modell gemeldet hat, kann man kaum erwarten, dass ein halbes bis ein Jahr später unter derselben Modellnummer dieselbe Hardware steckt
    Auf Verkaufs- oder Herstellerseiten steht fast nie, welcher SoC verwendet wird, und selbst wenn man brauchbare Informationen findet oder übersetzen kann, ist unklar, ob der Anbieter mit diesem Namen ein paar Monate später noch existiert. Am Ende gibt es keine reproduzierbare Bezugsquelle, außer Muster zu testen und sie selbst Stück für Stück zu hacken
    Ich wünschte, jemand würde eine Kamerahardware-Linie verkaufen oder weiterverkaufen, auf der OpenIPC oder eine andere offene Firmware läuft. Es gibt eine unbesetzte Geschäftschance, Heim- und Geschäftskunden IP-Kameras mit garantiert sicherer Firmware anzubieten; derzeit gibt es nur zufälligen chinesischen Ramsch

    • Wenn ich misstrauisch bin, gehe ich davon aus, dass jede Kamera mit geschlossener Firmware Malware enthält, die darauf wartet, nach Hause zu telefonieren, sensible Video- oder Audiodaten zu stehlen oder Teil eines Botnets zu werden. Das ist tatsächlich schon mehrfach passiert, und die derzeitige Lösung besteht darin, eine Firewall dazwischenzuschalten, die sämtlichen Traffic ins LAN und nach außen blockiert, außer für Anwendungen, denen man vertraut
      Einen Mini-PC mit mehreren Ethernet-Ports kann man als Firewall wiederverwenden, und das Videoüberwachungs-Subnetz physisch vom restlichen Netzwerk trennen. Alle Kameras werden an einen Switch angeschlossen; wenn möglich, nimmt man besser einen Switch mit PoE-Unterstützung. Aus naheliegenden Gründen würde ich Wi-Fi gar nicht erst in Betracht ziehen
    • Stimme vollkommen zu. Ich habe dieselbe Frustration erlebt, als ich versucht habe, im Abstand von Monaten oder Jahren funktionierende Kameras zu bekommen. Man muss jedes Produkt öffnen und selbst hacken, und OpenIPC unterstützt es vielleicht, vielleicht auch nicht. Heutzutage sind sie außerdem dagegen geschützt, dass man einfach Firmware aufspielt; Hürden sind etwa winzige UART-/Debug-Ports oder deaktivierte U-Boot-Loader
      Ich wünschte, jemand würde eine Option anbieten, bei der man eine Kamera mit offener Hardware/Software kaufen kann, damit man sein Netzwerk nicht für irgendeinen zufälligen Cloud-Dienst öffnen muss, den billige Kameras verlangen
    • Für alle, die so etwas brauchen: Es gibt ein Nebenprojekt mit dem Ziel einer vollständig quelloffenen Kamera
      Hardware: https://github.com/maxlab-io/tokay-lite-pcb
      Firmware- und Software-Schicht: https://github.com/maxlab-io/tokay-lite-sdk
      Am Ende soll sie über Crowd Supply erscheinen: https://www.crowdsupply.com/maxlab/tokay-lite
    • Die Hersteller könnten das zwar selbst tun, aber die Lizenz verbietet die kommerzielle Nutzung
    • Über so etwas habe ich schon nachgedacht. Gibt es jemanden, der daran mitarbeiten möchte?
  • Zum Beispiel sehen die meisten Sensortreiber wie Binary Blobs aus
    Ambarella S3L: https://github.com/OpenIPC/firmware/tree/master/general/pack...
    Einige HiSilicon-Chipsätze: https://github.com/OpenIPC/firmware/tree/master/general/pack...
    Korrektur: Für einige kleinere Sensoren gibt es hier Code
    https://github.com/OpenIPC/sensors

    • Stimmt. Auch die Userspace-Anwendung, die für das eigentliche Streaming zuständig ist, ist Closed Source: https://github.com/OpenIPC/majestic
      Dieses Git-Repository ist nur für Bugreports gedacht; Quellcode gibt es dort nicht
    • Sie verwenden auch sehr alte Vendor-Kernel. Von 3.x über 4.x bis 5.x ist alles dabei, was den Zweck bis zu einem gewissen Grad untergräbt. Die meisten sind ziemlich klein, daher wirkt Reverse Engineering fast sinnvoller
      Das Ganze hat stark den Beigeschmack einer Android-Homebrew-Firmware
  • https://openipc.org/support-open-source

    It's Open Source
    Price of the Firmware
    The right to use the OpenIPC firmware and its components is granted to all users free of charge and only for personal, non-commercial purposes. If you are interested in using OpenIPC for your business projects, please contact our team.

    • Ich frage mich, ob sie wirklich Open Source wollen oder ob das ein kommerzieller Versuch ist, die schwierigen Engineering-Teile kostenlos an die „Community“ auszulagern
      Wenn sie wirklich Open Source wollen, wirkte das OpenWrt-Modell ziemlich gut, und die Art der Engineering-Arbeit scheint ähnlich zu sein. Einige Hardwareanbieter nutzen OpenWrt in ihrer Firmware, und dadurch scheint auch das Mainline-Open-Source-OpenWrt diese Hardware gut zu unterstützen
    • Verwirrend. Das GitHub-Repository steht unter der MIT-Lizenz. Vielleicht wird irgendein geheimer Quellcode hinzugefügt, für den die nichtkommerzielle Klausel nur bei den kompilierten Binaries gilt?
  • Eine Liste für alle, die wissen möchten, ob ihr Gerät unterstützt wird, gibt es hier:
    https://github.com/OpenIPC/wiki/blob/master/en/guide-support...

    • Wow. Von diesen Kameramarken habe ich nur zwei überhaupt schon einmal gehört.
      Selbst unter den Tausenden Rebrands/Untermarken von HikVision und Daihua habe ich keine wiedererkannt. Beide Unternehmen waren in die Unterdrückung der Uiguren in China verwickelt und wurden durch den NDAA verboten. Siehe: https://ipvm.com/reports/ban-law
    • Endlich gibt es eine Möglichkeit zu entscheiden, welche IP-Kamera man kaufen sollte.
  • Völlig aus dem Nichts gefragt: Gibt es Empfehlungen für eine Kamera, die derzeit leicht zu bekommen ist (Amazon, AliExpress usw.), das hier unterstützt und eine gute oder sehr gute Bildqualität hat?

    • Würde mich auch interessieren. Ich habe früher mal ein Produkt gekauft, von dem ich dachte, es werde unterstützt, nur um dann festzustellen, dass das nicht stimmt. Es wäre gut zu wissen, ob jemand mit bestimmter Hardware Erfolg hatte.
  • Vor langer Zeit habe ich einmal ein Geschäft auf Basis von IP-Kameras von der Stange aufgebaut. Der Bereich war voller fehlerhafter Firmware und riesiger Sicherheitslücken; das größte Problem, das ich gefunden habe, war, dass man ohne jegliche Authentifizierung Bilder abrufen konnte. Solche Firmware wurde fast nie aktualisiert und war direkt nach dem Auspacken verwaiste Software.
    Dieses Projekt scheint nicht vollständig offen zu sein, aber jede Bewegung in diese Richtung fühlt sich wie frische Luft an.

  • OpenIPC bedeutete überhaupt nicht das, was ich dachte.
    Ich war zu 100 % sicher, dass es irgendeine Abstraktion oder ein Framework für Interprozesskommunikation ist.

    • Stimmt. IPC hat hier bereits eine viel zu fest etablierte Bedeutung. Ein Name wie OpenIPCam wäre wohl etwas sicherer gewesen.
  • Majestic, die zentrale Streaming-„Core“-Komponente der Kamera, ist Closed Source. Sie kümmert sich um RTSP, HLS usw. Der Rest ist offen, abgesehen von einigen SDK-Blobs von Drittanbietern.

  • Das Interessante an diesem Projekt ist, dass günstige IP-Kamera-Hardware wiederverwendet wird, um sie für FPV-Drohnen als ziemlich brauchbares digitales Videosystem mit niedriger Latenz zu nutzen.
    https://m.youtube.com/watch?v=wZAHkWHfBF4
    Das ist größtenteils eine Fortsetzung des OpenHD-Projekts und sieht recht vielversprechend aus.

  • In dem Zusammenhang: Ich habe früher einmal Ambarella-Action-Kameras gehackt: https://github.com/petabyt/liemoth
    Letztlich habe ich damit aufgehört, weil die Qualität der Action-Kameras zu niedrig war. Es gab Hunderte Anbieter, die umgelabelte billige Kameras aus China verkauften, und die Firmware war ebenfalls miserabel. Das Ganze wurde heiß, und der Akku hielt nur ein paar Minuten.