المبدأ
لا حساب في Droplet Drop ولا خادم نقل. تنتقل الملفات مباشرةً من الجهاز المرسل إلى الجهاز المستلم عبر شبكتك المحلية. لا نرى ملفاتك أبدًا، ولا نعرف من يرسلها إلى من: فهي لا تمر بنا.
لا تشفير مصنوعًا محليًا: يعتمد Droplet Drop على مكتبات مجرّبة: rustls (TLS 1.3) وring وrcgen (ECDSA P-256) وSHA-256 وBLAKE3.
التشفير
كل اتصال مشفّر بـ TLS 1.3، وبه وحده. والمصادقة متبادلة: يثبت كل من الجهازين هويته.
عند الفتح الأول، يُنشئ كل جهاز مفتاحه الخاص (ECDSA P-256). هويته هي بصمة هذا المفتاح؛ ورمز الأمان الظاهر في التطبيق هو بدايتها، للتحقق منها بنظرة واحدة.
يُثبّت الجهاز الذي يبدأ الاتصال الهوية المتوقعة، التي عرفها من الاكتشاف على الشبكة أو من رمز QR. ويُرفض أي جهاز آخر ينتحل صفته.
لا شيء يصل دون موافقتك
يبدأ كل إرسال بعرض: اسم المرسل، ورمز جهازه، وعدد الملفات وحجمها. وإن لم يُرد عليه، ينتهي بعد دقيقتين.
وحدها الأجهزة التي وسمتها بأنها «موثوقة» يمكنها الإرسال دون تأكيد، ويمكنك إزالتها متى شئت.
الملف المستلم لا يُشغَّل أبدًا. وإن احتوى الإرسال على برنامج، ينبّه العرض إلى ذلك.
تحقُّق حتى آخر بايت
قبل الإرسال، يُقسَّم كل ملف إلى كتل من 4 ميبيبايت، وتحصل كل كتلة على بصمة BLAKE3 خاصة بها، وكذلك الملف كاملًا. يتحقق المستلم من كل كتلة عند وصولها، ثم يعيد قراءة الملف كاملًا.
تُطلب الكتلة التالفة أو المزوّرة من جديد. والملف الذي لا يطابق الأصل لا يُسلَّم أبدًا: يبقى في مجلد الاستئناف المخفي حتى يصبح صحيحًا، أو يُحذف.
Group Drop
تحتوي الدعوة على عنوان المضيف في الشبكة المحلية، وهوية جهازه (مثبّتة)، ومعرّف جلسة من 128 بت، ورمز وصول من 256 بت يستحيل تخمينه. يقارن المضيف الرمز في زمن ثابت.
الدعوة محدودة المدة (30 دقيقة أو ساعتين أو 8 ساعات). ومشاركة الرابط تمنح حق الانضمام: شاركه مع المشاركين فقط.
يمكن أن يُفتح رابط الدعوة على drop.dropletmesh.app: الجزء بعد «#»، الذي يحتوي الدعوة، لا يُرسَل أبدًا إلى خادمنا. بل يبقى في متصفحك.
الحمايات، واحدة تلو الأخرى
| التهديد | الحماية |
|---|---|
| التنصت على الشبكة | TLS 1.3 على كل اتصال |
| انتحال جهاز | هوية مثبّتة؛ ومصافحة TLS تثبت امتلاك المفتاح |
| إرسال غير مطلوب | موافقة صريحة (أو جهاز موثوق)؛ ينتهي بعد دقيقتين |
| متطفل على توزيع | رمز من 256 بت يُقارن في زمن ثابت؛ دعوة محدودة المدة |
| ملف تالف أو مزوّر | بصمة BLAKE3 لكل كتلة وللملف كاملًا؛ لا يُسلَّم شيء قبل التحقق |
| الكتابة خارج مجلد الاستلام | تنظيف المسارات عند الاستلام («..»، الجذور، الأسماء المحجوزة، الرموز الممنوعة) |
| الكتابة فوق ملف | أبدًا: يُختار اسم متاح، «الاسم (1).ext» |
| امتلاء القرص | التحقق من المساحة الفارغة قبل القبول |
| بيانات مفرطة الحجم | رسائل محدودة؛ والإرسال الواحد محدود بـ 100,000 ملف و4 تيبيبايت |
| المحاولات المتكررة | بعد 20 إخفاقًا في دقيقة، يُتجاهل العنوان؛ و128 اتصالًا جاريًا على الأكثر |
مفتاح جهازك
لا يغادر المفتاح الخاص الجهاز أبدًا. يُحفظ في مجلد بيانات التطبيق (لا يقرؤه إلا حسابك على Mac وLinux). وإن حُذف هذا المجلد، عند إزالة التطبيق من هاتف مثلًا، يحصل الجهاز على هوية جديدة، وعلى أجهزتك الأخرى أن تثق به من جديد.
الإبلاغ عن ثغرة
هل تظن أنك وجدت ثغرة؟ راسلنا على contact@dropletmesh.app مع ما يلزم لإعادة إنتاجها. يُرجى منحنا الوقت لإصلاحها قبل نشرها؛ سنرد عليك ونبقيك على اطلاع.