عن المشروع
# Psst
Psst هو عميل Spotify عالي الأداء ومتعدد المنصات يتميز بواجهة مستخدم رسومية (GUI) أصلية. مكتوب بالكامل بلغة Rust، ويتجنب الأعباء الإضافية للتطبيقات القائمة على Electron، مما يوفر تجربة خفيفة الوزن وسريعة الاستجابة. البرنامج متعدد المنصات بالكامل، ويدعم أنظمة التشغيل Windows و Linux و macOS.
## الميزات الرئيسية
- **الأداء الأصلي**: مبني بلغة Rust للسرعة والكفاءة، ويستخدم مكتبة واجهة المستخدم Druid للحصول على مظهر وملمس أصليين.
- **الوظائف الأساسية**: يدعم تشغيل مقاطع Vorbis الصوتية، وتصفح الألبومات والمقاطع المحفوظة، وقوائم التشغيل المتابعة، وقوائم تشغيل الأنواع الموسيقية بما في ذلك محتوى "For You".
- **البحث والاستكشاف**: يتيح البحث عن الفنانين والألبومات والمقاطع الصوتية مباشرة داخل التطبيق.
- **دعم البودكاست**: يتضمن وظائف لتصفح والاستماع إلى البودكاست.
- **عناصر التحكم في التشغيل**: يتميز بالتحكم عبر مفاتيح الوسائط، وضبط مستوى الصوت، وتطبيع جهارة الصوت (loudness normalization).
- **السمات**: يتضمن خيار المظهر الداكن (dark theme).
- **الخصوصية**: يتصل فقط بخوادم Spotify الرسمية؛ ولا يرسل أي بيانات خارجية (does not call home). لا يتم تخزين بيانات اعتماد المستخدم محليًا؛ وبدلاً من ذلك، يتم استخدام رموز مصادقة قابلة لإعادة الاستخدام من Spotify. يتم تخزين ذاكرة التخزين المؤقت محليًا ويمكن حذفها في أي وقت.
## المتطلبات
- يلزم وجود حساب **Spotify Premium** لاستخدام التطبيق.
- اعتبارًا من فبراير 2026، وبسبب التغييرات في سياسات وصول المطورين الخاصة بـ Spotify، يتطلب Psst من المستخدمين تسجيل معرف العميل الخاص بهم (Spotify Developer Client ID) لميزات Web API (مثل البحث والوصول إلى المكتبة وقوائم التشغيل). يجب على المستخدمين تسجيل تطبيق في Spotify Developer Dashboard وإدخال معرف العميل (Client ID) في شاشة تسجيل الدخول الخاصة بـ Psst.
## دعم المنصات
- **Windows**: متاح عبر تنزيل ملف تنفيذي.
- **macOS**: متاح عبر مثبت DMG.
- **Linux**: متاح لمعماريات x86_64 و aarch64، بما في ذلك حزم Debian (.deb).
- **OpenBSD**: العمل جارٍ؛ قد يكون الدعم غير مستقر.
تتوفر أيضًا إصدارات غير رسمية من خلال Arch User Repository (AUR) و Homebrew.
## التثبيت
يمكن تنزيل الملفات الثنائية الجاهزة من [صفحة إصدارات GitHub](https://github.com/jpochyla/psst/releases/latest).
### البناء من المصدر
لبناء Psst من المصدر، تحتاج إلى أحدث إصدار مستقر من Rust (على الأقل 1.65.0).
#### اعتمادات Linux
- **Debian/Ubuntu**: `sudo apt-get install libssl-dev libgtk-3-dev libcairo2-dev libasound2-dev`
- **RHEL/Fedora**: `sudo dnf install openssl-devel gtk3-devel cairo-devel alsa-lib-devel`
#### أوامر البناء
```shell
cargo build
# أضف --release لبناء نسخة الإصدار النهائي.
```
لتشغيل واجهة المستخدم الرسومية (GUI):
```shell
cargo run --bin psst-gui
```
لإنشاء حزمة تثبيت (على سبيل المثال، macOS .app):
```shell
cargo install cargo-bundle
cargo bundle --release
```
## هيكل المشروع
- `/psst-core`: المكتبة الأساسية التي تتعامل مع جلسات Spotify TCP، واسترداد الصوت، وفك التشفير، والمخرجات، وقائمة انتظار التشغيل.
- `/psst-gui`: تطبيق واجهة المستخدم الرسومية المبني باستخدام Druid.
- `/psst-cli`: أداة سطر أوامر (CLI) نموذجية لتشغيل المقاطع الصوتية.
## خارطة الطريق
يركز التطوير الحالي على تحسين الاستقرار وإضافة الميزات المفقودة مثل إدارة قوائم التشغيل (المتابعة/إلغاء المتابعة، إضافة/إزالة المقاطع الصوتية)، وآليات أفضل لتخزين البيانات مؤقتًا، والمرونة في مواجهة أخطاء الشبكة، وحزم التطبيقات الخاصة بنظام التشغيل. تشمل تحسينات واجهة المستخدم المستقبلية تخطيطًا ثنائي الأجزاء (two-pane layout)، واكتشاف مظهر نظام التشغيل الفاتح/الداكن، والقوائم الافتراضية (virtualized lists) لتحسين الأداء مع المكتبات الكبيرة.
## المساهمة
المساهمات مرحب بها. يعتمد المشروع على جهود المجتمع لتحسين الميزات وإصلاح الأخطاء. لمزيد من التفاصيل حول هيكل التعليمات البرمجية وإرشادات المساهمة، يرجى الرجوع إلى قسم التطوير في المستودع.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.