الشفافية: ما يعمل على جهازك، وما يتصل بالإنترنت، وما لا يغادر جهازك
هذه الصفحة لا تشرح نوايا، بل تصف سلوك الشيفرة كما هي في هذا الإصدار. كل سطر فيها يعود إلى ملف وسطر في المستودع العام، والقائمة أدناه مغلقة: ما ليس فيها لا يحدث.
المرجع: المستودع github.com/SMSMy/HaramLite · أرقام الأسطر المذكورة مطابقة لهذا الإصدار، وتُقرأ بالضغط على اسم الملف في الجدول الأخير.
ما يعمل محلياً على جهازك؟
المعالجة كلها داخل التطبيق على ويندوز: لا خادم، ولا وسيط، ولا خدمة سحابية في أي خطوة.
الفصل بالذكاء الاصطناعي (البشري عن الموسيقى)
يُبنى نموذج ONNX محلياً من ملف موجود على جهازك (UVR-MDX-NET-Voc_FT.onnx) ويعمل داخل العملية نفسها عبر onnxruntime. لا يُرسَل أي صوت إلى أي خدمة استدلال.
src-tauri/src/separator.rs:20 · :357 · :377
ffmpeg للوسائط — نسخة محلية داخل مجلد التطبيق
فحص الملفات واستخراج الصوت والتصدير النهائي كلها عبر ffmpeg وffprobe المحليين؛ لا خدمة ترميز خارجية في أي خطوة.
src-tauri/src/media.rs:177 · :817 · src-tauri/src/repair.rs:48
القصّ وكشف الصمت
قياس الطاقة وكشف الصمت وقصّه دوالّ في التطبيق نفسه بلا أي استدعاء شبكي، ثم يُبنى الفيديو الناتج مع القطع.
src-tauri/src/silence.rs:133 · src-tauri/src/media.rs:817
الناتج يبقى بجانب ملفك الأصلي
عند اختيارك ملفاً من جهازك يُقرأ من مساره ويُكتب الناتج في مجلدك نفسه — بلا رفع إلى أي مكان.
docs/PRIVACY.html:62
ما الذي يتصل بالإنترنت؟
جهة واحدة فقط: GitHub — والرابط الذي تلصقه أنت. كل ما يلي هو كل ما يمكن للشيفرة أن تناديه، ولكل سطر شرطه ومَن يطلبه.
| ما يتصل | الوجهة | متى · مَن يطلبه |
|---|---|---|
| تنزيل الفيديو من رابطك | المصدر الذي تلصقه أنت (يوتيوب مثلاً) عبر yt-dlp | فقط عندما تطلب أنت تنزيل رابط — لا يبدأ من نفسه أبداً. |
| فحص تحديث التطبيق | واجهة GitHub العامة — قراءة آخر إصدار فقط | عند الإقلاع بفحص صامت يقرأ كاش ٢٤ ساعة أولاً فلا يتكرّر النداء، أو عند ضغطك زرّ الفحص (ينادي دائماً). |
| فحص وتنزيل yt-dlp | إصدارات yt-dlp على GitHub | فحص دوري بوتيرة ٢٤ ساعة عند الإقلاع، وينزّل الملف من GitHub عند وجود أحدث — وليس من يوتيوب. |
| إصلاح المكوّنات الناقصة | ملفات الإصدار المرفقة على GitHub | عند طلبك الإصلاح ولمكوّن مفقود فقط — ويُتحقَّق من بصمة SHA-256 قبل التثبيت. |
| تثبيت مكتبات تسريع CUDA | ملفات الإصدار المرفقة على GitHub | ميزة اختيارية تماماً: لا تُنزَّل إلا إذا اخترت تسريع CUDA بنفسك عند وجود كرت مدعوم. |
| روابط تفتحها أنت في متصفحك | صفحة التنزيل أو المستودع مثلاً | تنزيل من جهة أخرى عند نقرك زرّ التنزيل — فلا يجري التطبيق طلباً بنفسه. |
| روبوت تيليجرام (مطفأ افتراضياً) | خوادم تيليجرام — طرف ثالث | لا يعمل إطلاقاً بلا رمز تضعه أنت وتفعّل الميزة؛ ورسائلك هناك تمرّ بخوادم تيليجرام كأي محادثة عادية. |
| الإضافة نفسها | لا شيء — صفر طلبات شبكة | ما تقرأه هو رابط التبويب الذي تطلبه، ويمرّ إلى تطبيقك على جهازك عبر Native Messaging. |
مفتاح المحدّث في إعدادات البناء موضوع على active: false ولا تُنشأ ملفات تحديث موقّعة — فالتطبيق لا ينزّل نفسه ولن يستبدل ملفاته من تلقاء نفسه. وهذا سبب إزالة زرّ التحديث القديم في 0.2.4: كان ينادي قناة لا وجود لها.
src-tauri/tauri.conf.json (updater.active) · src-tauri/src/update_check.rs:3
نذكرها صراحةً لأنها لا تنتظر نقرك: (١) فحص إصدار التطبيق عند كل إقلاع، لكنه يقرأ كاش ٢٤ ساعة أولاً فلا يتكرّر النداء. (٢) فحص yt-dlp وتنزيله عند وجود أحدث، بوتيرة ٢٤ ساعة — ولا يوجد في هذا الإصدار مفتاح في الواجهة لإيقافه. (٣) استدعاء ffmpeg محلياً عند تنزيل فيديو لدمج الصوت مع الصورة، وهو محلي لا شبكي.
src-tauri/src/lib.rs:1089 · src/main.ts:267 · src/aboutUpdate.ts:5 · src-tauri/src/yt_dlp.rs:140 · docs/PRIVACY.html:71
ما البيانات التي لا تغادر جهازك؟
لا رفع للملفات، ولا قياس عن بعد، ولا حساب، ولا تخزين سحابي — وهذه ليست وعوداً بل ما تفعله الشيفرة.
ملفاتك لا تُرفع إلى أي خادم: تُقرأ من مسارك وتُعالَج محلياً ويُكتب الناتج في مجلدك.
لا يوجد في الشيفرة أي إرسال لإحصاءات استخدام، ولا أدوات تحليل، ولا تتبّع أخطاء إلى خدمة خارجية.
لا تسجيل ولا دخول ولا مزامنة سحابية. ما يُحفظ على جهازك: الإعدادات في %LOCALAPPDATA% وسجلات تشخيص محلية تُقرأ من داخل التطبيق.
رمز بوت تيليجرام وapi_hash محفوظان بحماية Windows DPAPI ومرتبطان بجهازك — ولا يُخزَّنان كنصّ صريح على القرص.
- الرابط الذي تلصقه أنت (عند طلب التنزيل) — وهو ما يجعله yt-dlp يصل إلى الفيديو.
- طلب قراءة آخر إصدار من واجهة GitHub العامة — بلا أي بيانات عنك، ومعرّف البرنامج فقط في ترويسة الطلب.
- رسائل بوت تيليجرام إن فعّلته أنت بنفسك — عبر خوادم تيليجرام.
ولا شيء غيرها: لا اسم، ولا بريد، ولا سجل تصفح، ولا محتوى ملفاتك.
src-tauri/src/update_check.rs:23 · :28 · src-tauri/src/settings.rs:64 · docs/PRIVACY.html:87
صلاحيات إضافة المتصفح — ولماذا كل واحدة
هذه هي الصلاحيات الأربع كاملة كما تُعلَن في ملف الإضافة، ومكتوبة هنا كما قُدِّمت إلى متجر كروم. لا صلاحية خامسة.
| الصلاحية | لماذا — والحدّ |
|---|---|
contextMenus |
«إضافة عنصر واحد «أرسل إلى HaramLite» في قائمة الزر الأيمن، ليرسل المستخدم الرابط أو الصفحة أو الفيديو إلى تطبيقه المكتبي. لا يضيف غيره ولا يقرأ بيانات الصفحة.» |
nativeMessaging |
«للتخاطب مع تطبيق HaramLite المكتبي الذي ثبّته المستخدم على جهازه. تُمرَّر إليه الرابط الذي اختار معالجته ورسائل حالة قصيرة عبر قناة Native Messaging المحلية. لا شيء يُرسَل إلى المطوّر أو إلى أي خادم، والإضافة نفسها لا تُجري أي طلب شبكة. المضيف يُسجّله التطبيق، وعلى المستخدم تفعيل التكامل من إعداداته، وبدونه لا تفعل الإضافة شيئاً.» |
activeTab |
«قراءة رابط التبويب النشط لحظة نقر المستخدم على الإضافة فقط، لتسليمه إلى تطبيقه المكتبي. لا وصول في الخلفية، ولا سجل تصفح، ولا وصول إلى أي تبويب أو موقع آخر.» |
*://*.youtube.com/* |
«سكربت محتوى يعمل على صفحات يوتيوب فقط لإضافة زرّين إلى المشغّل («عالج هذا الفيديو» و«شاهد بعد إزالة الموسيقى») وتشغيل الصوت المعالَج محلياً بتزامن مع الفيديو. لا يقرأ محتوى آخر، ولا يُرسل شيئاً خارج الجهاز.» |
لا تُنزّل شيئاً بنفسها، ولا تحفظ ملفاً، ولا تجري أي طلب شبكة؛ ولا تتجاوز حماية تقنية ولا جدار دفع ولا قيد تسجيل دخول، ولا تفكّ تشفيراً، ولا تقرأ كوكيز جلستك. وحزمة الإضافة لا تحتوي أي ملف تنفيذي: لا yt-dlp ولا ffmpeg.
كل الشيفرة داخل الحزمة، وسياسة أمان المحتوى في ملف الإضافة تقصر السكربتات والكائنات على الحزمة نفسها (script-src 'self'; object-src 'self') — فلا يُحمَّل سكربت من أي نطاق خارجي.
كل ادّعاء في هذه الصفحة وسنده
الروابط تفتح الملف في المستودع العام على فرعه الرئيسي — فراجعها بنفسك بدل أن تأخذ كلامنا.
| الادّعاء | السند في الشيفرة |
|---|---|
| الفصل يعمل محلياً بنموذج ONNX من ملف على جهازك | separator.rs:20 · :357 · :377 |
| فحص الملفات والتصدير عبر ffmpeg وffprobe المحليين | media.rs:177 · :817 |
| القصّ وكشف الصمت دوالّ محلية | silence.rs:133 |
| وجهة الشبكة الوحيدة في الشيفرة هي GitHub | update_check.rs:23 · yt_dlp.rs:28 · repair.rs:13 |
| فحص التحديث عند الإقلاع بلا تكرار بفضل كاش ٢٤ ساعة | update_check.rs:237 |
| فحص yt-dlp وتنزيله بوتيرة ٢٤ ساعة عند الإقلاع | lib.rs:1089 · yt_dlp.rs:140 · :269 |
| إصلاح المكوّنات ينزّل من GitHub ويتحقّق من SHA-256 | repair.rs:119 |
| تحديث التطبيق الذاتي معطّل في إعدادات البناء | tauri.conf.json · update_check.rs:3 |
| الإعدادات والسجلات محلية في %LOCALAPPDATA% | paths.rs:20 · PRIVACY.html:87 |
| بوت تيليجرام مطفأ افتراضياً | settings.rs:64 |
| الصلاحيات الأربع بحرفها ولماذا كل واحدة | manifest.json:7 |
| سياسة أمان المحتوى تقصر السكربتات على الحزمة | manifest.json:32 |
| الإضافة لا تُجري أي طلب شبكة | background.js:3 · content.js:25 |
تريد التفصيل الكامل؟
سياسة الخصوصية تشرح ما يُقرأ ويُخزَّن سطراً بسطر، وسياسة الإضافة تخصّها وحدها.