عن المشروع

PanSou هي خدمة API عالية الأداء للبحث عن موارد التخزين السحابي مكتوبة بلغة Go، وهدفها الأساسي توفير خلفية بحث قابلة للاستضافة الذاتية لاسترجاع موارد التخزين السحابي. وهي تدعم في الوقت نفسه البحث في قنوات Telegram والبحث عبر الإضافات المخصصة، وتركز في تصميمها على التنفيذ المتزامن وترتيب النتائج وتصنيف أنواع التخزين السحابي. القدرات الرئيسية - البحث المتزامن: تنفيذ عدة قنوات TG وعمليات بحث غير متزامنة عبر الإضافات في الوقت نفسه، وإدارة المهام المتزامنة عبر مجموعة عمل لتقليل زمن الاستجابة الإجمالي. - تصنيف أنواع التخزين السحابي: التعرف تلقائيًا على التخزين السحابي الذي ينتمي إليه الرابط وتصنيفه حسب النوع، مع دعم Baidu Netdisk وAliyun Drive وQuark Netdisk وGuangya Cloud Drive وTianyi Cloud Drive وUC Netdisk وMobile Cloud Drive و115 وPikPak وXunlei و123 Netdisk وروابط Magnet وروابط eD2k وأنواع أخرى. - الترتيب الذكي: ترتيب شامل متعدد الأبعاد يعتمد على مستوى الإضافة وحداثة الوقت والكلمات المفتاحية ذات الأولوية. - نظام الإضافات غير المتزامن: يمكن للإضافة إرجاع جزء من النتائج بسرعة أولاً ثم مواصلة المعالجة في الخلفية، مما يخفف مشكلة بطء استجابة بعض مصادر البحث؛ ويجب تمكين الإضافات صراحةً عبر ENABLED_PLUGINS. - ذاكرة التخزين المؤقت الثانوية: ذاكرة مقسمة إلى أجزاء مع ذاكرة تخزين مؤقت على القرص، لتحسين سرعة الاستعلامات المتكررة والأداء المتزامن، مع إمكانية ضبط TTL وحجم الذاكرة وعدد الأجزاء وغير ذلك. - المصادقة الاختيارية: معطلة افتراضيًا، وعند تمكينها يجب أن تحمل الواجهات باستثناء تسجيل الدخول وفحص الحالة JWT Token، مع دعم إعداد حسابات متعددة وتعيين مدة صلاحية Token. نظرة عامة على الواجهات - POST/GET /api/search: البحث حسب الكلمات المفتاحية، مع إمكانية تحديد القنوات والإضافات وعدد العمليات المتزامنة ومصدر البيانات (TG/الإضافات/الكل) ونوع التخزين السحابي وما إذا كان يجب فرض التحديث، وكذلك تصفية الكلمات المفتاحية include/exclude؛ ويعيد النتائج الأصلية والنتائج المدمجة حسب نوع التخزين السحابي. - POST /api/check/links: فحص جماعي لصلاحية روابط مشاركة التخزين السحابي، وتشمل الحالات ok وbad وlocked وunsupported وuncertain، مع دعم وكيل على مستوى الطلب الواحد وذاكرة تخزين مؤقت لنتائج الفحص. - POST /api/auth/login و/api/auth/verify و/api/auth/logout: واجهات متعلقة بالمصادقة. - GET /api/health: فحص الحالة، ويعيد حالة الخدمة ومفتاح المصادقة وقائمة الإضافات الممكّنة والقنوات. طريقة النشر تتوفر صورتان لـ Docker: نسخة متكاملة للواجهة الأمامية والخلفية ونسخة API للخلفية فقط، ويمكن تشغيلهما بنقرة واحدة عبر docker run أو docker-compose؛ كما يدعم البناء من الكود المصدري، ويتطلب Go 1.18+، مع وكيل SOCKS5/HTTP اختياري للوصول إلى مواقع Telegram في المناطق المقيّدة. ويقدم README أيضًا مراجع لإعداد supervisor وnginx (بما في ذلك تحديد المعدل وHTTPS). يستخدم المشروع ترخيص MIT، ويصرح README بأنه مخصص للتعلم والبحث فقط، ويُرجى عدم استخدامه لأغراض الربح.