LocalSend: انقل ملفاتك بين أجهزتك دون سحابة ولا إنترنت

تاريخ النشر: وقت القراءة:
للقراءة
عدد الكلمات:
كلمة

تريد أن تنقل صورةً من هاتفك إلى حاسوبك، فتجد نفسك أمام خياراتٍ كلّها مزعجة: ترفعها إلى Google Drive ثم تنزّلها، أو ترسلها لنفسك على واتساب فيضغطها ويفسد جودتها، أو تبحث عن كابلٍ وتنتظر تعرّف النظام على الجهاز. وإن كان هاتفك أندرويد وحاسوبك ويندوز، فحتى AirDrop — الحلّ الأنيق الذي يحسد عليه مستخدمو آبل — مغلقٌ في وجهك، لأنه لا يعمل إلا داخل منظومة آبل وحدها.

LocalSend وُجد ليحلّ هذا بالضبط. هو تطبيقٌ ينقل ملفاتك بين أي جهازين على الشبكة المحلية نفسها، مباشرةً من جهازٍ إلى جهاز، دون أن تمرّ البيانات بأي خادمٍ في الإنترنت. الملف لا يُرفع إلى أي مكان ثم يُنزَّل؛ هو ينتقل من المُرسِل إلى المستقبِل عبر شبكتك أنت، فيبقى بين جهازيك ولا يخرج منهما. وهذه المقالة تشرح كيف يعمل هذا فعلاً، وما الذي يميّزه، وأين تقع حدوده.

LocalSend: انقل ملفاتك بين أجهزتك دون سحابة ولا إنترنت

ما المشكلة التي يحلّها؟

نقل ملفٍ بين جهازين متجاورين يبدو مهمّةً تافهة، لكنها في الواقع مزدحمةٌ بالعوائق. الحلول السحابية تتطلّب اتصالاً بالإنترنت، وترفع ملفك إلى خادمٍ بعيد ثم تعيد تنزيله — رحلةٌ طويلة لبياناتٍ كان يكفيها أن تقطع أمتاراً معدودة بين جهازين في الغرفة نفسها. وهي فوق ذلك تضع نسخةً من ملفك على خادم شركةٍ أخرى، وتقيّدك بسرعة اتصالك بالإنترنت لا بسرعة شبكتك المحلية الأسرع بكثير.

أمّا الحلول المدمجة في الأنظمة فمحبوسةٌ كلٌّ في منظومته: AirDrop رائعٌ لكنه حصريٌّ لأجهزة آبل، ولا يمدّ يده إلى أندرويد أو ويندوز أو لينكس. فإذا كانت أجهزتك من علاماتٍ مختلفة — وهي الحال الشائعة: هاتف أندرويد وحاسوب ويندوز، أو آيفون ولينكس — وقعت في فجوةٍ لا يسدّها أيُّ حلٍّ أصلي. LocalSend وُجد ليملأ هذه الفجوة تحديداً: نقلٌ مباشر، سريع، خاصّ، يعمل بين أيّ نظامين دون تمييز.

كيف يعمل: من الاكتشاف إلى النقل

ينقسم عمل LocalSend إلى مرحلتين متمايزتين: أولاً يكتشف الجهازان أحدهما الآخر على الشبكة، ثم ينقلان البيانات بينهما عبر اتصالٍ مشفّر. وفهم هاتين المرحلتين هو فهمٌ للتطبيق كلّه.

أولاً: كيف تجد الأجهزة بعضها؟

حين تفتح LocalSend على جهازٍ ما، يحتاج أن يعرف أيّ أجهزةٍ أخرى تشغّل التطبيق على الشبكة نفسها. يفعل ذلك بأسلوبٍ يُسمّى البثّ المتعدّد (multicast): يطلق الجهاز رسالة إعلانٍ صغيرة إلى عنوانٍ خاصّ على الشبكة المحلية (العنوان 224.0.0.167 على المنفذ 53317)، تقول هذه الرسالة «أنا هنا، واسمي كذا، ونوعي كذا». كل جهازٍ آخر يشغّل LocalSend ويستمع إلى هذا العنوان يتلقّى الإعلان، فيردّ معرّفاً بنفسه، وهكذا يبني كل جهازٍ قائمةً بالأجهزة المجاورة دون أن تكتب أنت عنوان أيّ جهازٍ يدوياً.

وحين يفشل هذا البثّ — وبعض الشبكات تحجبه — يملك التطبيق خطّةً بديلة: يرسل طلب تعريفٍ مباشراً إلى كل عناوين الأجهزة الممكنة على الشبكة المحلية واحداً واحداً، باحثاً عمّن يردّ منها. هذا الأسلوب أبطأ لكنه ينجح في بيئاتٍ يفشل فيها البثّ المتعدّد، فيضمن أن تظهر الأجهزة لبعضها حتى على الشبكات المتزمّتة.

ثانياً: كيف تنتقل البيانات؟

بعد أن يرى الجهازان أحدهما الآخر، يتمّ النقل عبر بروتوكولٍ مبنيٍّ على واجهة REST — أي إنّ كل جهازٍ في LocalSend يشغّل خادم ويبٍ صغيراً داخله، والأجهزة تتخاطب عبر طلبات ويبٍ عادية كالتي يرسلها المتصفّح. حين ترسل ملفاً، لا يندفع الملف دفعةً واحدة؛ بل تجري العملية على خطوتين. أولاً يرسل جهازك طلب تحضيرٍ للرفع (prepare-upload) يحمل بيانات الملفات الوصفية — أسماءها وأحجامها — فيردّ الجهاز المستقبِل بموافقةٍ تحمل رمز جلسةٍ (session) ورموزاً خاصّة بكل ملف. هذه الخطوة هي التي تُظهر للطرف الآخر نافذة «فلانٌ يريد أن يرسل إليك هذه الملفات، أتقبل؟». وبعد قبوله، ترسل الخطوة الثانية محتوى كل ملفٍ فعلياً مرفقاً برمز جلسته. هذا الفصل بين «الاستئذان» و«النقل» هو ما يمنع أيّ جهازٍ من إغراقك بملفاتٍ لم توافق عليها.

والتشفير: شهادةٌ يصنعها كل جهازٍ لنفسه

كل ما يُنقَل يمرّ عبر اتصالٍ مشفّر بـ HTTPS، وهو البروتوكول نفسه الذي يحمي تصفّحك للمواقع البنكية. لكن هنا يبرز سؤال: مواقع الويب تثبت هويتها بشهادةٍ تصدّقها جهةٌ موثوقة، فمن يصدّق شهادة جهازك المحلي وليس ثمّة جهةٌ مركزية على شبكتك؟ حلّ LocalSend أنّ كل جهازٍ يولّد شهادة TLS الخاصّة به على الفور (on the fly) عند تشغيله أول مرّة، موقّعةً ذاتياً. هذه الشهادة لا تثبت هويةً لطرفٍ خارجي، لكنها تكفي لتشفير القناة بين الجهازين فلا يستطيع أحدٌ على الشبكة نفسها التنصّت على ما يمرّ. ولتمييز الأجهزة، يستعمل التطبيق بصمة (fingerprint) هي اختصارٌ تعمويّ (SHA-256 hash) للشهادة، تتيح للجهاز أن يتعرّف على الجهاز نفسه في المرّات القادمة.

والنتيجة العملية من كل هذا أنّ بياناتك لا تخرج من شبكتك المحلية أبداً، ولا تمرّ بأي خادمٍ يملكه أحد. فلا حسابَ تسجّله، ولا خادمَ يحتفظ بنسخةٍ من ملفك، ولا حتى اتصال بالإنترنت مطلوب — يكفي أن يكون الجهازان على الشبكة نفسها.

كيف تستعمله عملياً

التطبيق صُمّم ليكون مباشراً إلى حدّ أنّ شرح استعماله أقصر من شرح آليته. الخطوات هي:

  1. ثبّت التطبيق على كلا الجهازين. هذه نقطةٌ جوهرية: LocalSend ليس خدمةً تعمل في المتصفّح، بل تطبيقٌ يحتاج تثبيته على الجهاز المُرسِل والمستقبِل معاً. وهو متاحٌ على متجر التطبيقات في كل نظام، وعبر مديري الحزم (Winget على ويندوز، Homebrew على ماك، Flathub وF-Droid على لينكس وأندرويد)، أو تنزيلاً مباشراً من الموقع الرسمي.
  2. تأكّد أنّ الجهازين على الشبكة نفسها — الواي فاي نفسه، أو موصولان بالموجّه (router) نفسه.
  3. في الجهاز المُرسِل، افتح تبويب «Send»، واختر ما تريد إرساله: ملفاً، أو مجلّداً كاملاً، أو نصّاً، أو رابطاً. ستظهر الأجهزة المجاورة تحت «Nearby devices».
  4. انقر على الجهاز المقصود. يصل الطلب إلى الجهاز الآخر فيوافق على الاستقبال، ويبدأ النقل. تُحفَظ الملفات المستقبَلة افتراضياً في مجلّد التنزيلات.

ولأنّ ما يُنقَل ليس الملفات وحدها، فيمكنك مثلاً نسخ نصٍّ أو رابطٍ من حاسوبك ودفعه إلى هاتفك مباشرةً دون أن تكتبه أو ترسله لنفسك في رسالة — وهو استعمالٌ يوميّ مفيدٌ بقدر نقل الملفات نفسه.

ميزاتٌ تجعله أكثر من مجرّد ناقل

وراء البساطة الظاهرة عدّة إعداداتٍ تضبط سلوكه بحسب حاجتك وثقتك بالشبكة:

الحفظ السريع (Quick Save) والمفضّلة (Favorites). افتراضياً، يطلب التطبيق تأكيدك على كل ملفٍ وارد قبل حفظه. لكن إن كنت تنقل بين أجهزتك أنت كثيراً، يمكنك تفعيل «الحفظ السريع» فيقبل الملفات الواردة تلقائياً دون نافذة استئذان. وثمّة خيارٌ وسط بينهما: أن تجعل القبول التلقائي مقصوراً على أجهزتك المفضّلة التي حدّدتها بنفسك، فتنتقل ملفاتك بين حواسيبك وهواتفك بلا احتكاك، بينما يظلّ أيّ جهازٍ غريبٍ على الشبكة مضطرّاً لاستئذانك. هذا يوازن بين الراحة والأمان: تثق بأجهزتك، وتبقى حذراً مع ما عداها.

الحماية برمزٍ سرّي (PIN). لطبقة أمانٍ إضافية، يمكنك أن تشترط رمزاً سرّياً على من يريد الإرسال إليك، فلا يكتمل النقل إلا بإدخاله. هذا مفيدٌ على الشبكات المشتركة التي قد يكون عليها أشخاصٌ لا تعرفهم.

التطبيق المتصفّحيّ. أتاح المشروع نسخةً تعمل في المتصفّح على web.localsend.org، تتيح الإرسال والاستقبال دون تثبيتٍ كامل في الحالات العابرة — وإن بقي التطبيق المثبَّت هو التجربة الأكمل.

المقايضة بين السرعة والتشفير

التشفير الذي يحمي نقلك له ثمنٌ في الأداء: تمرير البيانات عبر HTTPS يستهلك جزءاً من معالج الجهاز لتعميةِ كل ما يُرسَل وفكِّه عند الاستقبال، وهذا يبطئ النقل بنحو ‎20‎ إلى ‎30‎ بالمئة مقارنةً بإرسالٍ غير مشفّر، ويثقل على المعالجات الأضعف خصوصاً.

لذلك يتيح التطبيق في إعداداته المتقدّمة تعطيل التشفير على الجهازين معاً، فترتفع السرعة ارتفاعاً ملموساً. لكنّ هذا الخيار مقايضةٌ يجب أن تعيها: تعطيل التشفير يعني أنّ من يتنصّت على شبكتك المحلية يستطيع قراءة ما تنقله. القاعدة العملية هنا واضحة: على شبكتك المنزلية الموثوقة، يمكن تعطيله لتكسب السرعة؛ أمّا على شبكةٍ عامّة أو لا تثق بمن عليها، فأبقِ التشفير دائماً. ويزيد السرعة عاملٌ آخر هو استعمال شبكة واي فاي بتردّد ‎5‎ غيغاهرتز الأسرع، إذ يبقى النقل محكوماً في النهاية بسرعة شبكتك المحلية نفسها.

أين يقف مقابل البدائل؟

البدائل الأشهر لـ LocalSend تنقسم إلى عائلتين، وفهم الفرق بينهما يوضّح لمن يصلح كلٌّ منها:

  • AirDrop: أنيقٌ وسريع وأصليّ، لكنه حبيس منظومة آبل وحدها — لا يتعامل مع أندرويد أو ويندوز أو لينكس. LocalSend هو الجواب حين تكون أجهزتك مختلطة العلامات.
  • Snapdrop وPairDrop: أداتان تعملان في المتصفّح دون تثبيتٍ على الإطلاق، فتظهر الأجهزة لبعضها عبر صفحةِ ويبٍ مفتوحة. ميزتهما أنهما لا يتطلّبان تثبيت تطبيق، فهما أنسب للنقل العابر لمرّةٍ واحدة. لكنّ هذه الأدوات المتصفّحية تعتمد على خادمٍ وسيطٍ على الإنترنت ليساعد الجهازين على التعارف ابتداءً، بينما يعمل LocalSend بلا أي خادمٍ خارجي ودون إنترنت — وهذا ما يجعله أوثق للنقل المتكرّر والملفات الكبيرة، وأكثر خصوصية.

الخلاصة العملية: إن أردت أداةً تثبّتها مرّةً وتعتمد عليها للنقل المتكرّر بين أجهزتك الثابتة، مع خصوصيةٍ كاملة بلا أي وسيطٍ خارجي، فـ LocalSend هو الأنسب. وإن أردت نقلةً واحدة سريعة على جهازٍ ليس لك دون تثبيت شيء، فأداةٌ متصفّحية كـ PairDrop أيسر.

قيوده ومتى لا يصلح

أوضح قيدٍ في LocalSend هو في صميم تصميمه: يجب تثبيته على الجهازين معاً. فبخلاف الأدوات المتصفّحية، لا يمكنك أن ترسل ملفاً إلى جهاز شخصٍ لا يملك التطبيق. هذا مقبولٌ لأجهزتك أنت، لكنه عائقٌ حين تريد مشاركةً عابرةً مع جهازٍ غريب.

والقيد الثاني شبكيّ: يعمل التطبيق فقط حين يكون الجهازان على الشبكة المحلية نفسها، ولا ينقل عبر الإنترنت إلى جهازٍ بعيد. وحتى داخل الشبكة الواحدة، قد تمنع بعض الموجّهات الأجهزةَ من رؤية بعضها بميزةٍ تُسمّى عزل العملاء (AP isolation / client isolation)، تعزل كل جهازٍ متّصل عن البقية لأسباب أمنية. فإن لم تظهر أجهزتك لبعضها رغم اتصالها بالواي فاي نفسه، فهذا أوّل ما يجب أن تعطّله في إعدادات الموجّه. وعلى ويندوز قد تحتاج تعيين الشبكة كـ«خاصّة (Private)» لا «عامّة»، وعلى macOS وiOS منح التطبيق إذن «الشبكة المحلية».

أمّا الأداء، فعلى الرغم من أنّ المشروع نقل عميل الـ HTTP إلى لغة Rust في إصدارٍ حديث لرفع السرعة حين يكون الجهاز المُرسِل هو عنق الزجاجة، فإنّ بعض المستخدمين أبلغوا عن سرعاتٍ متواضعة في حالاتٍ معيّنة (خاصّةً مع أندرويد)، تتحسّن كثيراً بتعطيل التشفير واستعمال شبكة ‎5‎ غيغاهرتز كما سبق. فالسرعة في النهاية محكومةٌ بشبكتك المحلية وعتاد جهازك، لا بالتطبيق وحده.

مفتوح المصدر بالكامل: لماذا يهمّ هذا؟

LocalSend مفتوح المصدر بالكامل برخصة Apache 2.0، وشفرته كلها متاحةٌ للفحص على GitHub حيث تتجاوز نجومه ‎84‎ ألفاً. وكونه مفتوح المصدر ليس تفصيلاً شكلياً في تطبيقٍ كهذا، بل ضمانةٌ جوهرية: لأنّ كل سطرٍ من شفرته قابلٌ للمراجعة، يستطيع أيّ خبيرٍ أن يتحقّق بنفسه من أنّ التطبيق يفعل ما يدّعيه فقط — أنه لا يرسل بياناتك سرّاً إلى خادمٍ خفيّ، ولا يتتبّعك، ولا يخفي باباً خلفياً. هذه شفافيةٌ لا تمنحها التطبيقات المغلقة التي عليك أن تثق بوعودها دون أن تقدر على التحقّق منها.

ويُذكَر أنّ المشروع بدأ برخصة MIT ثم انتقل إلى Apache 2.0، وسبب الانتقال أنّ Apache 2.0 تتضمّن بنداً صريحاً يحمي المشروع ومستخدميه من دعاوى براءات الاختراع، وهو ما رآه الفريق أضمن لاستمرار المشروع على المدى الطويل. والتطبيق فوق ذلك مجانيٌّ بالكامل، بلا إعلانات ولا تتبّع ولا تكاليف خفية، ويطوّره مجتمعٌ من المساهمين المتطوّعين.

الخلاصة

ما يميّز LocalSend ليس ميزةً واحدة برّاقة، بل مبدأٌ واضح: أنّ نقل ملفٍ بين جهازين متجاورين يجب أن يكون مباشراً وخاصّاً وعابراً للأنظمة كلها، لا رحلةً عبر سحابةِ شركةٍ أخرى ولا حبيساً في منظومةٍ مغلقة. ومن هذا المبدأ تتفرّع صفاته كلها — عمله بلا خادمٍ ولا حساب، وتشفيره المحلي، وانفتاح مصدره، وتغطيته كل نظامٍ تقريباً.

هو لا يلغي السحابة لمن يحتاج مشاركةً مع أجهزةٍ بعيدة، ولا يطمح لذلك؛ هو يحلّ المشكلة الأكثر شيوعاً والأقلّ حلّاً جيداً: الجهازان في الغرفة نفسها، والملف الذي ينبغي أن ينتقل بينهما في ثوانٍ دون أن يغادر شبكتك. وكلّما كثُر مستخدموه على أجهزتك المحيطة، قلّت حاجتك لأي حلٍّ آخر — لأنّ قيمته الحقيقية تظهر حين يصير الخيار الافتراضي لكل نقلٍ محلّيٍّ تجريه.

جرّب LocalSend بنفسك، أو نزّله على أجهزتك، أو اطّلع على شفرته المفتوحة:

جرّب نسخة المتصفّح حمّل التطبيق الشيفرة على GitHub
التصنيفات

قد تُعجبك هذه المشاركات

4419914284293787151

العلامات المرجعية

قائمة العلامات المرجعية فارغة ... قم بإضافة مقالاتك الآن

    البحث