1 पॉइंट द्वारा GN⁺ 1 일 전 | 2 टिप्पणियां | WhatsApp पर शेयर करें

Repository: https://github.com/localsend/localsend

  • यह एक मुफ़्त ओपन सोर्स ऐप है, जो इंटरनेट कनेक्शन के बिना लोकल नेटवर्क के भीतर पास के डिवाइसों के साथ फ़ाइलें और संदेश सुरक्षित रूप से साझा कर सकता है
  • यह बाहरी सर्वर या थर्ड-पार्टी सर्वर पर निर्भर नहीं करता, बल्कि डिवाइस-टू-डिवाइस संचार को REST API और HTTPS एन्क्रिप्शन के ज़रिए संभालता है, जिससे तेज़ और भरोसेमंद लोकल संचार मिलता है
  • ट्रांसफ़र होने वाला सारा डेटा HTTPS से सुरक्षित रहता है, और सुरक्षा बढ़ाने के लिए TLS/SSL प्रमाणपत्र हर डिवाइस पर तुरंत बनाए जाते हैं
  • यह Windows, macOS, Linux, Android, iOS, Fire OS पर उपलब्ध है, और इंस्टॉलेशन के लिए ऐप स्टोर या पैकेज मैनेजर का उपयोग प्राथमिक रूप से सुझाया जाता है
  • ऐप में ऑटो अपडेट फीचर नहीं है, इसलिए README ऐप स्टोर या पैकेज मैनेजर वाले रास्ते के उपयोग की सिफारिश करता है
  • डिस्ट्रीब्यूशन चैनलों में Windows के लिए Winget, Scoop, Chocolatey, EXE, Portable ZIP; macOS के लिए App Store और Homebrew; Linux के लिए Flathub, Nixpkgs, Snap, AUR, DEB, AppImage, TAR; Android के लिए Play Store, F-Droid, APK; और Fire OS के लिए Amazon शामिल हैं
  • न्यूनतम समर्थित वर्ज़न Android 5.0, iOS 12.0, macOS 11 Big Sur, और Windows 10 हैं, जबकि Windows 7 को सपोर्ट करने वाला आख़िरी वर्ज़न v1.15.4 है
  • Linux पर डेस्कटॉप एनवायरनमेंट के अनुसार xdg-desktop-portal परिवार की dependencies चाहिए होती हैं; Gnome के लिए xdg-desktop-portal और xdg-desktop-portal-gtk, जबकि KDE के लिए xdg-desktop-portal और xdg-desktop-portal-kde आवश्यक हैं
  • ज़्यादातर मामलों में यह बिना अलग सेटअप के काम करता है, लेकिन अगर भेजने-लेने में समस्या हो तो फ़ायरवॉल में TCP/UDP 53317 inbound की अनुमति देनी चाहिए और outbound TCP/UDP भी अनुमति प्राप्त होना चाहिए
  • अगर राउटर में AP isolation चालू है, तो डिवाइसों के बीच कनेक्शन रुक सकता है; डिवाइस खोजने में समस्या आने पर इसे बंद करना चाहिए
  • पोर्टेबल मोड उस समय सक्रिय होता है जब executable वाली उसी डायरेक्टरी में, भले खाली हो, settings.json फ़ाइल रखी जाए; इसके बाद सेटिंग्स सेव करने की जगह डिफ़ॉल्ट पाथ की बजाय वही फ़ाइल बन जाती है
  • अगर केवल ट्रे में छिपाकर शुरू करना हो, तो --hidden फ़्लैग का उपयोग किया जा सकता है
  • गति धीमी होने पर 5 Ghz उपयोग करने और दोनों डिवाइसों पर एन्क्रिप्शन बंद करने का सुझाव दिया जाता है, जबकि Android पर कम receive speed अभी भी एक known issue है
  • सोर्स बिल्ड करने के लिए Flutter और Rust चाहिए, और प्रोजेक्ट .fvmrc में निर्दिष्ट पुराने Flutter वर्ज़न का उपयोग करता है, इसलिए fvm flutter इस्तेमाल करने की सिफारिश की जाती है

2 टिप्पणियां

 
xguru 1 일 전

मैं इसे अक्सर board game meetup के दौरान शूट किए गए timelapse को शेयर करने के लिए इस्तेमाल करता था.
हाल ही में Galaxy और Pixel के बीच AirDrop जैसी sharing आने से इसका उपयोग थोड़ा अस्पष्ट हो गया है.
बेशक, desktop पर भेजने के लिए यह अभी भी अच्छा है.

 
GN⁺ 1 일 전
Hacker News की राय
  • समस्या यह है कि ऐसे सभी विकल्पों में एक ही local network पर होना ज़रूरी है
    मेरी समझ में Airdrop की अच्छी बात यह है कि वह उस local network को बैकग्राउंड में अपने-आप बना देता है और संभाल लेता है
    इसलिए दोस्तों के साथ hiking पर भी मैं तुरंत कुछ भेज पाता था
    Android पर आने के बाद मैं दोस्त के device पर tethering करके LAN बनाता हूँ और फिर Localsend इस्तेमाल करता हूँ, लेकिन अनुभव काफ़ी कम seamless है

    • https://mbarlow.github.io/thinair/
      यह बस एक static GitHub page के रूप में चलने वाला device-to-device transfer टूल है
      gh repo: https://github.com/mbarlow/thinair
      हर device एक QR code बनाता है जिसे स्कैन किया जा सके, और फिर WebRTC connection बनता है
      Android के बीच यह एक audio chirp भी इस्तेमाल करता है जो दोनों को QR mode से camera scan mode में स्विच करने को बताता है
      Android↔Apple पर भी इसे टेस्ट किया है और यह काम करता है, लेकिन Apple उस audio chirp को पकड़ नहीं पाता
      ऐसे में थोड़ा इंतज़ार करने पर QR code गायब हो जाता है और स्कैन वाले चरण पर जाया जा सकता है
      यह जल्दी में बनाया गया था, और शुरुआत में मैं चिड़ियों जैसी chirp या पुराने modem जैसी ध्वनियों से smartphones के बीच audio handshake के साथ प्रयोग कर रहा था
      फ़ोन आपस में सटाकर audio frames भेजते हुए transfer शुरू होने की पुष्टि करना मज़ेदार था, लेकिन handshake धीमा और कम भरोसेमंद था
      मैं flow को और बेहतर बनाना चाहता हूँ, और अभी भी iPhone/Android/PC के बीच app, email या account के बिना file भेजने के लिए इसका उपयोग करता हूँ
    • असली cross-platform P2P के सबसे क़रीब जो चीज़ लगी, वह FlyingCarpet थी
      हाँ, यह बहुत stable या user-friendly नहीं है
      https://github.com/spieglt/FlyingCarpet
    • यह भी आज़माने लायक है: https://github.com/nuwainfo/ffl
      यह एक Android app है, और दावा है कि share करते समय LAN की ज़रूरत नहीं होती
      https://play.google.com/store/apps/details?id=com.fastfilelink.wrapper
    • Airdrop भी कई बार काफ़ी अजीब तरह से काम करता है
      कभी-कभी यह दूसरा फ़ोन ढूँढ ही नहीं पाता, शायद तब जब पिछला transfer बैकग्राउंड में चुपचाप fail हो गया हो
      mobile/Wi‑Fi connection न होने पर contact discovery में भी दिक्कत आई थी, ऐसा पहाड़ों में दूसरे फ़ोन पर फ़ोटो भेजते समय हुआ
      कभी-कभी यह बस अटक जाता है और बिल्कुल काम नहीं करता, इसलिए ऐसी Apple magic ज़्यादा मददगार नहीं लगती
    • Localsend असल में Airdrop के काम का सिर्फ़ आख़िरी चरण करता है
      Localsend इस्तेमाल करने के लिए पहले एक device पर ad-hoc Wi‑Fi बनाना पड़ता है, फिर बाकी devices को उससे connect करना पड़ता है, और उसके बाद Localsend चलाना पड़ता है
      पहले के ये दो चरण काफ़ी झंझट वाले हैं, और Airdrop इन्हें अपने-आप संभाल लेता है, इसलिए वह कहीं ज़्यादा frictionless लगता है
  • मैंने इसे हाल ही में इस्तेमाल करना शुरू किया है और यह सचमुच बहुत अच्छा चलता है, Airdrop से कहीं ज़्यादा भरोसेमंद
    हालांकि UX में अभी और सुधार की गुंजाइश है
    फिर भी अच्छा होगा अगर Apple Airdrop को थोड़ा ठीक कर दे
    हर बार इस्तेमाल करते हुए भरोसा बहुत कम रहता है; कभी devices दिखते नहीं, और अगर कई Mac users हों तो वही Mac दो बार दिखता है और यह भी नहीं बताता कि कौन-सा user कौन है, इसलिए काफ़ी भ्रम होता है

    • जानना चाहूँगा कि लोग इसे किन कामों में इस्तेमाल करते हैं
      समझ नहीं आता कि लोग ऐसी कौन-सी बड़ी files बनाते और इधर-उधर ले जाते हैं कि उन्हें ऐसी app की ज़रूरत पड़े
      मेरे मामले में फ़ोन पर बनने वाली files सिर्फ़ फ़ोटो और वीडियो हैं, और मैं उन्हें Immich में backup करके link से share कर देता हूँ
      आम लोग भी शायद iCloud या Google Photos से ऐसा ही करते होंगे
      documents जैसी दूसरी files sync करने के लिए मैं ownCloud OCIS इस्तेमाल करता हूँ, और ज़्यादातर लोगों के लिए DropBox या iCloud, या फिर email या WhatsApp भी काफ़ी होगा
      local network पर ISO जैसी चीज़ें भेजनी हों तो SMB से copy कर सकते हैं, जो लगभग हर जगह काम कर जाता है और अलग app की ज़रूरत भी नहीं होती
      backup के लिए तो external hard drive लगा देना भी काफ़ी है
      इसलिए मुझे अब भी पूरी तरह समझ नहीं आता कि इसे क्यों इस्तेमाल करना चाहिए
    • क्या आपने इन समस्याओं का troubleshooting पहले ही कर लिया है?
      पहले मुझे भी visibility की दिक्कतें थीं, लेकिन आजकल तो यह लगभग हमेशा ठीक चलता है
    • मेरे यहाँ devices दिख जाते हैं, लेकिन transfer शुरू करते ही लगभग आधे मामलों में सामने वाले device पर कुछ आता ही नहीं
      इसे ठीक करने का कोई पक्का तरीका अभी तक नहीं मिला; दोनों तरफ़ Airdrop बंद करके फिर चालू करना सबसे अच्छा उपाय लगता है, लेकिन वह भी सिर्फ़ करीब 70% बार काम करता है
  • Sendme https://github.com/n0-computer/sendme और AltSendme https://github.com/tonyantony300/alt-sendme देखने लायक हैं
    दोनों Iroh https://github.com/n0-computer/iroh का उपयोग करते हैं, जो बिना central server के डेटा भेजने वाली open source encrypted P2P relay service है, इसलिए भेजी/पाई जाने वाली files के आकार की सीमा लगभग नहीं है
    इसी तरह की एक और thread में file sharing apps की बात होने पर भी मैंने यही सुझाव दिया था
    https://news.ycombinator.com/item?id=47906587

    • इस तरह की seed/code share कराने वाली services मुझे हमेशा थोड़ी अटपटी लगती हैं
      code इतना छोटा या आसान नहीं होता कि उसे बोलकर बताया जा सके, और अगर आप वह code भेज ही सकते हैं तो अक्सर file भी सीधे भेज सकते हैं
  • https://github.com/schlagmichdoch/pairdrop
    यह भी ऐसा ही project है, लेकिन यह पूरा browser में चलता है और "public" room का इस्तेमाल करके local network के बाहर के clients से भी connect कर सकता है

    • यह तो ज़रूर आज़माना चाहिए
      iPhone और Linux desktop के बीच transfer के लिए मैंने Localsend install कर रखा है, लेकिन यह हमेशा ठीक से नहीं चलता
      Firewalld में Localsend के ports खोल देने के बाद भी कभी-कभी devices को एक-दूसरे को देखने में 10 मिनट से ज़्यादा लग जाते हैं
      अगर browser-based है तो कम-से-कम discovery तेज़ होगी, ऐसा लगता है
    • Pairdrop वाकई बहुत अच्छा है
      documentation थोड़ी छिपी हुई है, लेकिन FAQ यहाँ है: https://github.com/schlagmichdoch/pairdrop/blob/master/docs/faq.md,
      और Android, iOS, Windows के share menu integration का तरीका यहाँ है: https://github.com/schlagmichdoch/PairDrop/blob/master/docs/how-to.md
      sharedrop और snapdrop के LimeWire द्वारा अधिग्रहण के बाद वे बिगड़ गए थे, उसी का यह fork है
    • इसका नाम PearDrop होना चाहिए था
  • जो चीज़ें खुद को Airdrop replacement कहती हैं, उनके लिए शायद spamsolutions.txt जैसा कुछ चाहिए
    यह उस कसौटी पर खरा नहीं उतरता कि दोनों peers को मौजूदा Wi‑Fi network से जुड़े बिना काम करना चाहिए
    https://craphound.com/spamsolutions.txt

  • मैंने भी इसी तरह की एक चीज़ Tauri में बनाई थी
    installer size लगभग Mac पर 27MB, Linux .deb पर 45MB, और Windows पर 53MB था, जबकि Electron का base लगभग 150MB था
    सिर्फ़ .AppImage अपवाद था, जो लगभग 110MB तक पहुँच गया क्योंकि उसमें runtime bundle करना पड़ता है
    यह size reduction OS के webview को reuse करने से मिलता है, लेकिन वही इसकी cost भी है
    Linux का WebKitGTK, Mac WebKit या Windows Edge WebView से सचमुच अलग तरह से व्यवहार करता है, इसलिए Chromium जो चीज़ें अपने-आप संभाल लेता, उनकी जगह आपको cross-platform debugging में समय देना पड़ता है
    इससे भी ज़्यादा चौंकाने वाली चीज़ framework नहीं बल्कि Linux packaging थी
    AppImage हर जगह चल जाता है, लेकिन ज़्यादातर users को यह second-class citizen जैसा लगता है, और .deb मुख्य distributions को cover करता है, पर आपको लगातार बदलते glibc versions के साथ चलना पड़ता है
    Snap/Flatpak आधिकारिक cross-distro जवाब जैसे लगते हैं, लेकिन sandboxing और permissions के कारण कोई indie developer हफ़्तों इसमें फँस सकता है
    आख़िर में जब मैंने .deb और .AppImage रिलीज़ किए, तो कुछ ही घंटों में "यह AUR में क्यों नहीं है" वाले emails आने लगे

  • यह browser में भी काम करता है
    https://web.localsend.org/
    Windows से Android और iOS तक transfer किया जा सकता है

    • मेरे यहाँ यह काम नहीं किया
      मैंने Firefox, Chrome, फ़ोन और laptop—सबके बीच send/receive ट्राई किया
      console में WebRTC: ICE failed, add a TURN server and see about:webrtc for more details. दिखा, और समझ नहीं आया कि user इसे कैसे ठीक करे
      search करने पर ज़्यादातर सिर्फ़ developers के लिए सलाह मिली
      आख़िर में पता चला कि Tailscale बंद करने पर यह काम करता है
    • यह जानने की जिज्ञासा है कि browser में LAN discovery कैसे की जाती है
    • बढ़िया है
      बस v1.18.0 अभी तक F-droid पर नहीं आया है
  • मैं भी पिछले साल इस क्षेत्र में कुछ बना रहा था
    मैंने keibidrop बनाया, जो मूल रूप से एक peer-to-peer filesystem है: https://keibidrop.com/
    इसे पिछले हफ़्ते public किया, और यह local send के काम से आगे बढ़कर WAN पर भी काम करता है
    mobile apps अभी रिलीज़ नहीं किए हैं
    एक कदम आगे यह भी है कि इसमें दो-तरफ़ा sync होने वाला virtual filesystem भी है
    repository यहाँ है: https://github.com/KeibiSoft/KeibiDrop
    UI को छोड़कर code open source है, और loopback के आधार पर localsend के साथ benchmark भी किया था, जिसमें local send तेज़ निकला
    https://keibisoft.com/blog/keibidrop-benchmarks-vs-competition.html
    कल मैंने /r/golang पर भी इस बारे में एक comment thread शुरू करने की कोशिश की थी
    अंदरूनी रूप से इसमें PQC, gRPC, FUSE का इस्तेमाल किया गया है

  • Linux पर आने के बाद मैंने जो सबसे पहले apps install किए, उनमें यह भी एक था
    इससे सच में महसूस हुआ कि open source apps कितनी शानदार हो सकती हैं

  • लगता है Tailscale चालू हो तो Localsend अभी स्थिर तरीके से काम नहीं करता
    यह थोड़ा निराशाजनक है
    अगर एक ही tailnet के clients के बीच file transfer भी support कर दे तो वाकई बहुत अच्छा होगा