ShadowCat: نقل الملفات عبر QR من المتصفح – دليل تجربة المشروع الجديد
Show HN: ShadowCat – file transfer through QR Codes in a Browser
خريطة الصفحة
اختر القسم الذي تحتاجه الآن
- ما هو ShadowCat؟ شرح بسيط
- من يحتاج ShadowCat؟ ومن لا؟
- المميزات الرئيسية
- المتطلبات قبل البدء
- خطوات التركيب والتشغيل (تقريبية)
- شرح ملف .env (إن وجد)
- كيف تنقل ملفاً عبر QR؟
- أخطاء شائعة وحلولها
- استخدامات عملية في السوق السعودي/الخليجي
- هل يستحق ShadowCat التجربة؟ تقييم صادق
- بدائل ShadowCat
- أسئلة شائعة
قبل أن تطبق
الفكرة التي تمنع التسرع
تعتقد أن مشاريع GitHub الجديدة معقدة ولا تصلح إلا للمطورين المحترفين؟ لكن ShadowCat يثبت العكس: أداة بسيطة لنقل الملفات عبر QR من المتصفح، ويمكن لأي مبتدئ تجربتها.
أسئلة التشخيص السريع
قبل أن تطبق، اعرف أين تقف بالضبط
- هل تريد نقل ملفات صغيرة (<10MB) بين أجهزتك دون كابل أو سحابة؟
- هل لديك خبرة بسيطة في Node.js لتشغيل الخادم؟
- هل أنت مستعد لتحمل أخطاء README غير الواضح؟
- هل تحتاج إلى أمان عالي (HTTPS) أم النقل المحلي كافٍ؟
- هل تفضل أداة تعمل على نفس الشبكة فقط أم عبر الإنترنت؟
- هل تبحث عن حل مستقر للإنتاج أم مجرد تجربة؟
نظام التشغيل: Input → Process → Output
لوحة قياس النجاح
لا تعتمد على الانطباع؛ اختر مؤشراً تراجعه
هل سبق لك أن أردت نقل ملف من لابتوبك إلى جوالك بسرعة، دون الحاجة إلى كابل USB أو رفع الملف إلى سحابة؟ ShadowCat هو مشروع مفتوح المصدر جديد ظهر في Show HN على Hacker News، يتيح لك نقل الملفات عبر رموز QR مباشرة من المتصفح. الفكرة بسيطة: تختار ملفاً، يتحول إلى رابط، ويُعرض كرمز QR، ثم تمسحه بهاتفك لتحميل الملف. لا تطبيقات إضافية، لا حسابات، ولا إعدادات معقدة.
في هذا الدليل، سنشرح لك ما هو ShadowCat، لمن يفيد، وكيف تجربه خطوة بخطوة (مع العلم أن README غير واضح تماماً، لذا سنعتمد على هيكل المشروع التقريبي). سنذكر الأخطاء الشائعة، وحدود الاستخدام، والبدائل. الهدف: أن تقرر بنفسك هل هذا المشروع يستحق وقتك أم لا.
ما هو ShadowCat؟ شرح بسيط
ShadowCat هي أداة مفتوحة المصدر تعمل في المتصفح، تسمح لك بتحويل أي ملف إلى رابط قصير، ثم عرضه كرمز QR. يمكن لأي شخص في نفس الشبكة (أو عبر الإنترنت إذا كان الخادم عاماً) مسح الرمز وتحميل الملف. لا تحتاج إلى تثبيت تطبيق على هاتفك، فقط ماسح QR (معظم الكاميرات تدعمه).
من يحتاج ShadowCat؟ ومن لا؟
يناسب:
- مطور يريد نقل ملفات إعدادات بين أجهزته بسرعة.
- صاحب مشروع صغير يريد مشاركة كتالوج أو عرض سعري مع عميل في نفس المكان.
- صانع محتوى يريد توزيع ملفات على جمهوره في ورشة عمل دون رفع للسحابة.
لا يناسب:
- من يحتاج نقل ملفات كبيرة (أكثر من 100MB) – الأداء غير مضمون.
- من يريد أماناً عالياً – النقل عبر HTTP غير مشفر (إلا إذا أضفت HTTPS بنفسك).
- من يريد تخزين دائم – الملفات تختفي عند إيقاف الخادم.
المميزات الرئيسية
- مفتوح المصدر: يمكنك فحص الكود وتعديله.
- يعمل في المتصفح: لا حاجة لتثبيت برامج.
- نقل عبر QR: مريح للأجهزة المحمولة.
- خفيف: لا يحتاج موارد كبيرة.
المتطلبات قبل البدء
- Node.js (إصدار 14 أو أحدث) و npm.
- متصفح حديث (Chrome, Firefox, Edge).
- اتصال شبكة (محلي أو إنترنت) بين الأجهزة.
- ماسح QR (معظم الهواتف تدعمه في الكاميرا).
خطوات التركيب والتشغيل (تقريبية)
ملاحظة: README المشروع غير واضح، لذا الخطوات التالية تقريبية بناءً على هيكل مشروع Node.js نموذجي. قد تختلف حسب التحديثات.
- استنساخ المستودع:
git clone https://github.com/unprovable/ShadowCat.git - الدخول إلى المجلد:
cd ShadowCat - تثبيت الاعتماديات:
npm install - إعداد متغيرات البيئة (انظر القسم التالي).
- تشغيل الخادم:
npm startأوnode server.js(حسب اسم الملف الرئيسي). - فتح المتصفح على
http://localhost:PORT(المنفذ الافتراضي غالباً 3000).
شرح ملف .env (إن وجد)
إذا كان المشروع يستخدم ملف .env، فقد يحتوي على:
PORT: منفذ الخادم (مثل 3000).MAX_FILE_SIZE: الحد الأقصى لحجم الملف (بالبايت).UPLOAD_DIR: مجلد رفع الملفات المؤقتة.
أنشئ ملف .env في جذر المشروع واملأ القيم المناسبة. مثال:
PORT=3000 MAX_FILE_SIZE=10485760 UPLOAD_DIR=./uploads
كيف تنقل ملفاً عبر QR؟
- شغّل الخادم كما في الخطوات السابقة.
- افتح المتصفح على العنوان المحلي.
- اختر ملفاً من جهازك (مثلاً PDF صغير).
- سيظهر رمز QR على الشاشة.
- امسح الرمز بهاتفك (استخدم كاميرا الهاتف أو تطبيق ماسح QR).
- سيبدأ التحميل على هاتفك.
أخطاء شائعة وحلولها
استخدامات عملية في السوق السعودي/الخليجي
- نقل ملف PDF صغير من اللابتوب إلى الجوال: مثلاً، عقد إيجار أو فاتورة، بدلاً من إرسالها بالبريد الإلكتروني.
- مشاركة رابط تحميل سريع مع زميل في العمل: في اجتماع، يمكنك عرض QR على الشاشة ويمسحه زميلك لتحميل الملف فوراً.
- استخدام في ورشة عمل تقنية: توزيع ملفات الإعدادات أو الشيفرات على المشاركين دون الحاجة لسحابة.
هل يستحق ShadowCat التجربة؟ تقييم صادق
المشروع واعد لكنه في مرحلة مبكرة جداً. README غير واضح، ونقص التوثيق قد يعيق المبتدئين. إذا كنت تحب تجربة أدوات جديدة ولديك خبرة بسيطة في Node.js، فجرّبه. لكن لا تتوقع أداة ناضجة. التقييم: 3/5 – جيد للتجربة، لكن ليس للإنتاج.
بدائل ShadowCat
أسئلة شائعة
هل ShadowCat آمن لنقل الملفات الحساسة؟
غير موصى به، لأن النقل عبر HTTP غير مشفر. إذا كنت بحاجة لأمان، استخدم HTTPS بنفسك أو اختر أداة مشفرة.
ما حجم الملف الأقصى الذي يمكن نقله؟
غير محدد في README، لكن افتراضياً قد يكون محدوداً بذاكرة الخادم. جرب ملفات صغيرة (أقل من 10MB).
هل يعمل على جميع المتصفحات؟
يفترض أن يعمل على المتصفحات الحديثة التي تدعم WebRTC وQR.
هل أحتاج إلى اتصال إنترنت؟
لا، إذا كان الخادم والشبكة محليين. لكن إذا أردت مشاركة عبر الإنترنت، فتحتاج إلى خادم عام.
كيف أحدث المشروع؟
استخدم git pull في مجلد المشروع، ثم npm install لتحديث الاعتماديات.
هل يوجد دعم للغة العربية؟
لا، الواجهة باللغة الإنجليزية. لكن يمكنك تعديل الكود لإضافة العربية.
ما الفرق بين ShadowCat وأدوات مثل Snapdrop؟
Snapdrop ينقل الملفات مباشرة بين الأجهزة عبر WebRTC، بينما ShadowCat يحول الملف إلى رابط وQR، مما يسمح بنقل غير متزامن (المرسل يولد QR، المستقبل يمسحه لاحقاً).
Playbook التطبيق
خطوات عملية مرتبة من التشخيص إلى النتيجة
استنساخ المستودع
لماذا؟ للحصول على كود المشروع محلياً
كيف؟ git clone https://github.com/unprovable/ShadowCat.git
الناتج: مجلد ShadowCat يحتوي على الكود
تثبيت الاعتماديات
لماذا؟ لتجهيز المكتبات المطلوبة
كيف؟ cd ShadowCat && npm install
الناتج: تثبيت جميع الحزم في node_modules
إعداد متغيرات البيئة
لماذا؟ لتخصيص المنفذ وحجم الملف
كيف؟ أنشئ ملف .env بالمحتوى: PORT=3000 MAX_FILE_SIZE=10485760 UPLOAD_DIR=./uploads
الناتج: ملف .env في جذر المشروع
تشغيل الخادم
لماذا؟ لبدء الخدمة
كيف؟ npm start (أو node server.js)
الناتج: خادم يعمل على http://localhost:3000
نقل ملف عبر QR
لماذا؟ لتجربة الوظيفة الأساسية
كيف؟ افتح المتصفح، اختر ملفاً، امسح QR بهاتفك
الناتج: تحميل الملف على الهاتف
قوالب جاهزة للنسخ
حوّل القراءة إلى تنفيذ سريع
PORT=3000 MAX_FILE_SIZE=10485760 UPLOAD_DIR=./uploads
مصفوفة الأخطاء
اعرف أين يتعثر الناس وكيف تتجنب ذلك
شجرة القرار
ماذا تفعل حسب حالتك؟
إذا: إذا كنت تريد نقل ملفات صغيرة بسرعة دون إعدادات
إذن: استخدم ShadowCat للتجربة
إذا: إذا كنت تحتاج أماناً أو ملفات كبيرة
إذن: اختر Snapdrop أو PairDrop بدلاً من ذلك
إذا: إذا كنت مطوراً وتحب تجربة أدوات جديدة
إذن: جرب ShadowCat وساهم في تحسينه
خطة تطبيق 7 أيام
جدول صغير يمنع التسويف
- اليوم 1: استنساخ المشروع وتثبيت الاعتماديات
- اليوم 2: تشغيل الخادم ونقل ملف صغير
- اليوم 3: اختبار مع ملفات بحجم 5-10MB
- اليوم 4: تجربة على شبكة مختلفة (مثلاً جوّال)
- اليوم 5: مقارنة مع Snapdrop و PairDrop
- اليوم 6: توثيق الأخطاء التي واجهتها
- اليوم 7: اتخاذ قرار: هل تستخدمه أم لا؟
حقائق سريعة تحفظها
نقاط مختصرة ترجع لها لاحقاً
1. ShadowCat مشروع مفتوح المصدر على GitHub.
2. ظهر في Show HN على Hacker News.
3. يعمل في المتصفح دون تثبيت تطبيق.
4. ينقل الملفات عبر QR بشكل غير متزامن.
5. الحد الأقصى لحجم الملف غير موثق.
6. النقل عبر HTTP غير مشفر افتراضياً.
7. يتطلب Node.js 14+ لتشغيل الخادم.
8. الواجهة باللغة الإنجليزية فقط.
9. المشروع في مرحلة مبكرة جداً.
أسئلة شائعة
إجابات مباشرة على ما يبحث عنه الزائر
مصطلحات سريعة
تعريفات مختصرة تمنع الالتباس
رمز مربع الشكل يخزن معلومات يمكن مسحها بالكاميرا.
تقنية تسمح بالاتصال المباشر بين المتصفحات دون خادم وسيط.
بيئة تشغيل جافاسكريبت على الخادم.
مدير حزم لجافاسكريبت.
بروتوكول نقل نصوص بدون تشفير، يمكن اعتراض البيانات.
أسئلة مرتبطة يبحث عنها الناس
استخدمها كمسارات متابعة داخل نفس الموضوع
لماذا هذا المرجع يتجاوز الموضوع نفسه؟
تحول القارئ: من متشكك في المشاريع الجديدة إلى متمكن من تجربة ShadowCat وتقييمه بنفسه.
- أمن المعلومات: مخاطر النقل عبر HTTP
- تجربة المستخدم: سهولة استخدام QR
- تطوير الويب: بناء أداة نقل ملفات بسيطة
كيف تستخدم هذا المرجع لاحقاً؟
القيمة الحقيقية تظهر عند العودة والتطبيق
لا تتعامل معه كمقال يُقرأ مرة واحدة. استخدمه كلوحة تشغيل: ارجع للتشخيص عند ظهور المشكلة، وللقوالب عند التطبيق، ولمؤشرات القياس عند المراجعة.
ShadowCat فكرة ذكية، لكن تنفيذها لا يزال في البداية. إذا كنت تحب استكشاف أدوات جديدة ولديك صبر على المشاريع غير المكتملة، فجربها. أما إذا كنت تبحث عن حل جاهز ومستقر، فاختر Snapdrop أو PairDrop. المهم أن تبدأ، فالتجربة هي أفضل معلم.
خطة تحديث هذا الدليل
حتى يبقى المرجع صالحاً مع الوقت
- تحقق من تحديثات GitHub أسبوعياً
- اختبر مع إصدارات Node.js الجديدة
- راجع المناقشات في Hacker News للمشروع
- حدّث قائمة البدائل عند ظهور أدوات جديدة

التعليقات (0)
لا توجد تعليقات بعد. كن أول من يبدأ النقاش 👇