1 पॉइंट द्वारा GN⁺ 2023-10-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • OpenIPC एक open source firmware project है, जिसका मकसद कई निर्माताओं के ARM·MIPS आधारित IP कैमरों में बंद या उपेक्षित vendor firmware को बदलना है
  • अंतिम users इसे pre-compiled binary firmware के रूप में install कर सकते हैं, और developers पूरे source तक access पाकर सुधारों में भाग ले सकते हैं
  • source code MIT License के तहत उपलब्ध है, इसलिए इसे proprietary software के हिस्से के रूप में भी reuse किया जा सकता है, लेकिन सुधारों को वापस contribute करने और commercial use के लिए संपर्क करने का अनुरोध किया गया है
  • project और उसके components पर military use allowed नहीं होने की स्पष्ट पाबंदी है
  • शुरुआत में यह केवल HiSilicon SoC को support करता था, लेकिन अब Ambarella, Anyka, Fullhan, Goke, GrainMedia, Ingenic, MStar, Novatek, SigmaStar, XiongMai आदि तक supported chips का दायरा बढ़ गया है

बंद IP camera firmware का विकल्प

  • OpenIPC, open community द्वारा बनाया गया एक open source operating system है
  • यह कई निर्माताओं के ARM और MIPS processor आधारित IP cameras को target करता है
  • इसका लक्ष्य vendor द्वारा pre-installed firmware को बदलना है
    • यह बंद होता है और इसके internal behavior को verify करना मुश्किल होता है
    • कई बार यह असुरक्षित या neglected होता है
    • support बंद हो चुके devices के लिए भी यह एक विकल्प हो सकता है

Installation और development में भागीदारी का तरीका

  • अंतिम users के लिए आसानी से install करने हेतु pre-compiled binary files उपलब्ध कराता है
  • आगे development और सुधारों के लिए पूरे source files तक access भी खुला है
  • contribute करने के इच्छुक developers project सुधारों में भाग ले सकते हैं

License और use restrictions

  • OpenIPC source code MIT License के तहत उपलब्ध है
  • users को code को किसी भी उद्देश्य से reuse करने की स्पष्ट अनुमति मिलती है
    • proprietary software के हिस्से के रूप में इस्तेमाल करना भी allowed है
  • project सुधारों को वापस contribute करने का अनुरोध करता है
  • commercial purpose के लिए project इस्तेमाल करने पर संपर्क करने का अनुरोध करता है
  • OpenIPC project और components का military purpose के लिए इस्तेमाल allowed नहीं है

Supported SoC का विस्तार

  • OpenIPC firmware ऐतिहासिक रूप से केवल HiSilicon SoC को support करता था
  • development जारी रहने के साथ supported processors की list बढ़ी है
  • वर्तमान supported targets में निम्न निर्माताओं के chips शामिल हैं
    • Ambarella
    • Anyka
    • Fullhan
    • Goke
    • GrainMedia
    • Ingenic
    • MStar
    • Novatek
    • SigmaStar
    • XiongMai
  • supported processors की list आगे और बढ़ने की उम्मीद है

Documentation और reference location

  • project के बारे में अधिक जानकारी OpenIPC website और wiki पर देखी जा सकती है

1 टिप्पणियां

 
GN⁺ 2023-10-09
Hacker News की राय
  • मैंने पहले खुद इसकी पड़ताल की थी, लेकिन ज़्यादातर यह निराशाजनक प्रक्रिया ही रही। कोई भी चीनी IP camera खरीदकर उसे open firmware में बदल देना थ्योरी में अच्छा लगता है, लेकिन असली समस्या यह है कि आप 1 camera खरीदें या 10, और फिर समय बीतने के बाद और खरीदें
    किसी खास समय पर अंदर कौन-सा hardware है—जैसे वास्तविक SoC कौन-सा है—यह जानना मुश्किल होता है, और चीनी निर्माता margin सुधारने के लिए अंदर का SoC अक्सर बदल देते हैं। भले ही किसी ने उसी model के बारे में report किया हो, 6 महीने~1 साल बाद वही model number खरीदने पर वही hardware मिलेगा, इसकी उम्मीद करना मुश्किल है
    बिक्री sites या निर्माता sites पर यह लगभग कभी नहीं लिखा होता कि कौन-सा SoC इस्तेमाल हो रहा है, और अगर आप उपयोगी जानकारी ढूंढ या translate भी कर लें, तो यह भी पक्का नहीं कि उस नाम वाली कंपनी कुछ महीनों बाद भी मौजूद होगी। आखिर में samples test करके और खुद hack करते हुए इस्तेमाल करने के अलावा कोई दोहराया जा सकने वाला supply source नहीं बचता
    काश कोई OpenIPC या कोई दूसरा public firmware चढ़े हुए camera hardware की line बेचता या resell करता। घर/ऑफिस users को guaranteed security firmware वाले IP cameras देने का business opportunity खाली पड़ा है, और अभी तो बस randomly मिलने वाला चीनी कबाड़ ही है

    • अगर शक हो, तो मैं मानता हूं कि closed firmware वाले हर camera में malware है, जो घर से communication करने, sensitive video/audio चुराने, या botnet में शामिल होने के लिए इंतज़ार कर रहा है। सच में ऐसा कई बार हो चुका है, और अभी समाधान यह है कि बीच में एक firewall लगाई जाए जो trusted applications को छोड़कर LAN और बाहर जाने वाला सारा traffic रोक दे
      कई Ethernet ports वाले mini PC को firewall के रूप में repurpose किया जा सकता है, और video surveillance subnet को बाकी network से physically अलग किया जा सकता है। सभी cameras को switch से जोड़ें, और हो सके तो PoE support वाला switch इस्तेमाल करना बेहतर है। साफ वजहों से मैं Wi‑Fi पर विचार नहीं करूंगा
    • पूरी तरह सहमत। कुछ महीनों/सालों के अंतराल पर काम करने वाले cameras हासिल करने की कोशिश में मुझे भी वही frustration झेलनी पड़ी। हर product खोलकर खुद hack करना पड़ता है, और OpenIPC उसे support करे भी सकता है और नहीं भी। आजकल firmware आसानी से flash न किया जा सके, इसके लिए protections भी होती हैं—जैसे छोटे UART/debug ports, disabled U-Boot loader जैसी बाधाएं
      काश कोई open hardware/software camera खरीदने का विकल्प दे, ताकि सस्ते cameras द्वारा मांगी जाने वाली random cloud services के लिए अपना network खोलना न पड़े
    • जिन्हें जरूरत हो, उनके लिए पूरी तरह open-source camera बनाने का लक्ष्य रखने वाला एक side project है
      Hardware: https://github.com/maxlab-io/tokay-lite-pcb
      Firmware और software layer: https://github.com/maxlab-io/tokay-lite-sdk
      अंततः इसे Crowd Supply पर launch करने की योजना है: https://www.crowdsupply.com/maxlab/tokay-lite
    • निर्माता खुद भी कर सकते थे, लेकिन license commercial use को प्रतिबंधित करता है
    • मैंने कभी इस तरह की चीज़ के बारे में सोचा था। कोई साथ में काम करना चाहेगा?
  • उदाहरण के लिए, ज़्यादातर sensor drivers binary blob जैसे दिखते हैं
    Ambarella S3L: https://github.com/OpenIPC/firmware/tree/master/general/pack...
    कुछ HiSilicon chipsets: https://github.com/OpenIPC/firmware/tree/master/general/pack...
    सुधार: कुछ छोटे sensors के लिए यहां code है
    https://github.com/OpenIPC/sensors

    • सही। असली streaming संभालने वाला user-space application भी closed source है: https://github.com/OpenIPC/majestic
      यह Git repository सिर्फ bug reports के लिए है, source code नहीं है
    • वे बहुत पुराने vendor kernels भी इस्तेमाल कर रहे हैं। 3.x से लेकर 4.x, 5.x तक अलग-अलग हैं, जिससे मकसद कुछ हद तक कमजोर पड़ जाता है। ज़्यादातर काफी छोटे हैं, इसलिए शायद reverse engineering करना ही बेहतर लगे
      इसमें Android homebrew firmware वाली strong vibe आती है
  • 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.

    • सोचता हूं कि वे सच में open source चाहते हैं, या मुश्किल engineering वाला हिस्सा ‘community’ से मुफ्त में करवाने की कोई commercial कोशिश है
      अगर वे सच में open source चाहते हैं, तो OpenWrt model काफी अच्छा लगा था, और engineering work की प्रकृति भी मिलती-जुलती लगती है। कुछ hardware vendors अपने firmware में OpenWrt इस्तेमाल करते हैं, और उसी वजह से mainline open-source OpenWrt भी उस hardware को अच्छी तरह support करने लगता है
    • उलझन है। GitHub repository में MIT license लगा है। शायद compiled binaries में ही non-commercial clause लागू होने वाला कोई secret source जोड़ा जाता है?
  • जिन लोगों को यह जानना है कि उनका डिवाइस supported है या नहीं, उनके लिए सूची यहां है
    https://github.com/OpenIPC/wiki/blob/master/en/guide-support...

    • वाह। उन कैमरा brands में से मैंने सिर्फ दो के बारे में सुना है
      HikVision और Daihua के हजारों rebrands/sub-brands के नाम से जाने जाने वालों में से भी कोई पहचान में नहीं आया। ये दोनों कंपनियां चीन में उइगरों के दमन में शामिल रही हैं, और NDAA द्वारा प्रतिबंधित की जा चुकी हैं। संदर्भ: https://ipvm.com/reports/ban-law
    • आखिरकार यह तय करने का तरीका मिल गया कि कौन सा IP कैमरा खरीदना है
  • पूरी तरह से अलग सवाल है, लेकिन क्या कोई ऐसा कैमरा recommend कर सकता है जो अभी आसानी से मिल जाता हो (Amazon, AliExpress आदि), इसे support करता हो और जिसकी image quality अच्छी या बहुत अच्छी हो?

    • मुझे भी जानना है। पहले मैंने एक product खरीदा था जिसे मैंने supported समझा था, लेकिन बाद में पता चला कि वह नहीं था। अच्छा होगा अगर पता चल सके कि किसी ने किसी specific hardware के साथ सफलता पाई है या नहीं
  • बहुत पहले मैंने off-the-shelf IP कैमरों पर एक business बनाया था। वह क्षेत्र buggy firmware और बड़े-बड़े security holes से भरा था, और मुझे जो सबसे बड़ी समस्या मिली वह यह थी कि बिना authentication के भी तस्वीरें निकाली जा सकती थीं। ऐसे firmware लगभग कभी update नहीं होते थे, और डिब्बे से निकालते ही वह abandoned software होता था
    यह project पूरी तरह open source लगता तो नहीं है, लेकिन उस दिशा में कोई भी कदम ताजी हवा जैसा लगता है

  • OpenIPC का मतलब वह बिल्कुल नहीं निकला जो मैंने सोचा था
    मुझे 100% यकीन था कि यह किसी inter-process communication abstraction या framework के बारे में होगा

    • सही है। यहां IPC का मतलब पहले से ही बहुत established है। OpenIPCam जैसा नाम शायद थोड़ा ज्यादा safe होता
  • कैमरे का मुख्य streaming “core” component, Majestic, closed source है। यह RTSP, HLS आदि handle करता है। बाकी चीजें खुली हैं, लेकिन कुछ third-party SDK blobs को छोड़कर

  • इस project में दिलचस्प बात यह है कि सस्ते IP camera hardware को repurpose करके FPV drones के लिए काफी decent और low-latency digital video system की तरह इस्तेमाल किया जा रहा है
    https://m.youtube.com/watch?v=wZAHkWHfBF4
    यह ज्यादातर OpenHD project का extension है, और काफी promising लगता है

  • संबंधित रूप से, मैंने पहले Ambarella action cameras hack किए थे: https://github.com/petabyt/liemoth
    आखिरकार मैंने इसलिए छोड़ दिया क्योंकि action cameras की quality बहुत खराब थी। rebranded सस्ते Chinese cameras बेचने वाले सैकड़ों vendors थे, और firmware भी बेहद खराब था। पूरी चीज गर्म हो जाती थी और battery बस कुछ मिनट ही चलती थी