عن المشروع

## ما هو Snoop Snoop هو أداة تتبع نشاط لوحة المفاتيح والفأرة على سطح المكتب، مفتوحة المصدر وتصنف نفسها كـ"محلية优先优先" (أي أولوية محلية). جميع البيانات تُكتب في ملف SQLite على الجهاز المحلي، ويوضح README صراحةً عدم رفع البيانات إلى أي شبكة. يدعم Windows 10/11 و macOS 10.15+. العلامة التجارية تتبع Feedra، وشعارها عبارة عن قطة. تهدف الأداة إلى الإجابة على بعض الأسئلة اليومية: أي التطبيقات تستخدم معظم الوقت؟ ما هي الفترات الأكثر نشاطاً خلال اليوم؟ كيف تتغير منحنى كثافة نشاط لوحة المفاتيح والفأرة؟ وهل تتطابق أنماط النوم والاستيقاظ الأسبوعية مع الإحساس الذاتي؟ ## حدود الخصوصية (كما نصّ عليها README) يسجل البرنامج فقط وتيرة وقوة ضغط لوحة المفاتيح والحركة، ولا يسجل: - تسلسل مفاتيح الإدخال الفعلية (لذلك لا يتم التقاط كلمات المرور أو محتوى الدردشة أو كلمات البحث) - الحافظة، لقطات الشاشة، الميكروفون، أو الكاميرا - أي بيانات تحتاج إلى رفعها إلى الإنترنت درجة الدقة في قاعدة البيانات هي "كم مرة ضغط مستخدمُ المفاتيح في نافذة 5 ثوانٍ لتطبيقٍ ما، وكم تحركت الفأرة بالبكسل". خريطة الحرارة للوحة المفاتيح مبنية على عدّ متسلسل لكل مفتاح، وبحسب README لا يمكن من خلاله إعادة بناء محتوى الإدخال. ## الوحدات الوظيفية الرئيسية - **نظرة عامة / لمحة يومية**: بطاقات حالة التطبيق الحالي ومستوى الكثافة، نظرة رقمية شاملة لليوم، ترتيب التطبيقات حسب وقت الاستخدام، وشريط حرارة الكثافة على مدار 24 ساعة. - **الخط الزمني**: مخطط جانت بحرية السباحة، حيث يمثل كل تطبيق سطرًا محددًا، والمحور الأفقي هو الوقت، ومربعات الألوان ثابتة حسب التطبيق. يدعم التكبير بال عجلة الفأرة، والسحب للنقل، وتبديل التاريخ. الفترات الفارغة التي تزيد عن ساعتين تُضغط إلى كتلة رمادية. - **خريطة حرارة لوحة المفاتيح**: عرض التخطيط الحقيقي للوحة المفاتيح، مع دعم 40/60/68/87/98/104 تركيبة مختلفة يمكن التبديل بينها؛ يمكن التصفية حسب التطبيق والفترة الزمنية؛ هناك تفاعل ثلاثي بين لوحة المفاتيح والفأرة وأعلى المفاتيح ضغطًا. تُستخدم تقنيات التلوين المعتمدة على التوزيع الربيعي لتجنب طغيان المفاتيح عالية التردد (مثل Enter) على غيرها. - **الرؤى / تقارير عبر الأسابيع**: رسم أعمدة للاتجاهات الأسبوعية، ترتيب التطبيقات مع اختلافات نسبية، وشبكة حرارة عمل/نوم على مدار 7×24 ساعة. - **أخرى**: تثبيت في شريط المهام، بدء تلقائي عند الإقلاع (يمكن تعطيله)، سمات داكنة وفاتحة، قائمة التطبيقات المهملة، زر تعليقات القطة مع قابلية ضبط حدّة السخرية، وتصدير البيانات أو مسحها بنقرة واحدة. ## التثبيت والتشغيل قم بتنزيل حزمة النظام المستهدفة من صفحة Releases: - Windows: `Snoop_x.y.z_x64-setup.exe`؛ في حال اعتراض SmartScreen اختر "مزيد من المعلومات → تشغيل على أي حال". - macOS Apple Silicon: `Snoop_x.y.z_aarch64.dmg`؛ macOS Intel: `Snoop_x.y.z_x64.dmg`. - عند أول تشغيل على macOS، يجب منح الإذن من "الإعدادات النظامية → الخصوصية والأمان → الوصول المساعدة" للاستماع العالمي لنشاط لوحة المفاتيح والفأرة. في حال اعتراض Gatekeeper، افتح الملف بالنقر الأيمن. التحديث التلقائي مدمج: على Windows يُنزّل في الخلفية ويظهر إشعار في شريط المهام "أعد التشغيل للتركيب"، وعلى macOS يظهر إشعار بفتح صفحة التنزيل لتثبيت يدوي. ## التنفيذ وأداء الأداء المكدس التقني مبني على Tauri 2 + React 19 + TypeScript + Vite (الواجهة الأمامية)، مع Rust كخلفية، ويُستخدم rusqlite للتخزين، و rdev/Raw Input لجمع الأحداث. تُعزل الشيفرات الخاصة بكل منصة باستخدام `#[cfg]`. الواجهة مبنية بمكونات مخصصة و.variables CSS دلالية لدعم السمات الداكنة والفاتحة. وفق README، يعمل الاستماع العالمي عبر قنوات النظام الأساسي الأصلية (Windows يستخدم Raw Input، وmacOS يستخدم قنوات الأحداث منخفضة المستوى). يتم احتساب الأحداث في الذاكرة فقط، مع كتابة دفعية كل 5 ثوانٍ. استهلاك المعالج اليومي أقل من 1%. نُفذت نسخة Windows دون استخدام low-level hook لتجنب التعارض مع أنظمة anti-cheat مثل EAC وVanguard. لا يحقن Snoop DLLs، ولا يقرأ ذاكرة العمليات الأخرى، ولا يرسل مدخلات محاكية. موقع تخزين البيانات: في Windows `%APPDATA%\org.feedra.snoop\`، وفي macOS `~/Library/Application Support/org.feedra.snoop/`. ## البناء من الشفرة المصدرية يتطلب Node 22+ و Rust stable وأدوات بناء النظام المستهدف. يحذر README من أن Vite 7 يتطلب Node 20.19+/22.12+؛ فاستخدام Node 18 يسبب خطأ `crypto.hash is not a function` ويعرقل بدء خادم التطوير. ```bash npm ci npm run tauri dev # وضع التطوير npm run tauri build # إنتاج حزم التركيب ``` يتطلب البناء على Windows Visual Studio Build Tools (حزمة تطوير سطح المكتب C++)، وعلى macOS يتطلب Xcode Command Line Tools.详见仓库内 `docs/打包与发布.md` 获取打包与发布流程说明。 ## القيود المعروفة والترخيص لا يدعم Linux حاليًا، وهذا ليس هدف النشر الحالي حسب README. كما لا يدعم المزامنة مع الهاتف أو السحابة، وهو اختيار تصميمي من المؤلف. علامة Feedra التجارية وحقوق الطبع © 2026. الشيفرة مفتوحة المصدر، لكن README يطلب عدم استخدام علامة "Snoop" أو شعار القطة في منتجات مماثلة. شروط الترخيص الرسمية لم تُحدد بعد، وملف `LICENSE` لا يزال قيد الإضافة.