هذا المشروع عبارة عن متصفح ويب متقدم لأجهزة الأندرويد تم تطويره باستخدام لغة Kotlin، مع التركيز على الخصوصية والسرعة. يدمج المتصفح ميزات مثل حجب الإعلانات، وتشفير DNS over HTTPS (DoH)، ووضع التخفي الإجباري مع مسح تلقائي للبيانات، ومكافحة التتبع.
- حاجب إعلانات قوي: يتخطى إعلانات اليوتيوب والمواقع الأخرى لتقديم تجربة تصفح خالية من الإعلانات.
- تشفير DNS over HTTPS (DoH): يحمي خصوصية المستخدم عن طريق تشفير استعلامات DNS.
- وضع التخفي الإجباري: يتم مسح جميع بيانات التصفح تلقائيًا عند الخروج من التطبيق.
- مكافحة التتبع: يمنع المواقع من تتبع نشاط المستخدم عبر الإنترنت.
- واجهة مستخدم احترافية: سريعة الاستجابة وتدعم Custom Tabs (يمكن توسيعها في المستقبل).
يتكون المشروع من الوحدات الرئيسية التالية:
app/src/main/java/com/example/advancedbrowser/: يحتوي على ملفات Kotlin المصدرية.MainActivity.kt: النشاط الرئيسي الذي يستضيف WebView وواجهة المستخدم.AdBlocker.kt: منطق حجب الإعلانات ومنع التتبع.DNSManager.kt: (نموذج) لإدارة تشفير DNS over HTTPS.BrowserWebViewClient.kt: WebViewClient مخصص لدمج حجب الإعلانات.IncognitoManager.kt: لإدارة وضع التخفي ومسح البيانات.
app/src/main/res/: يحتوي على موارد واجهة المستخدم (التخطيطات، القيم، الألوان).build.gradle.kts(المشروع): ملف إعدادات Gradle للمشروع بأكمله.app/build.gradle.kts(الوحدة): ملف إعدادات Gradle لوحدة التطبيق.settings.gradle.kts: يحدد الوحدات المضمنة في المشروع.gradle/libs.versions.toml: لإدارة إصدارات المكتبات والتبعيات.
لإنشاء وتشغيل هذا المشروع، ستحتاج إلى Android Studio مثبتًا على جهازك.
-
استنساخ المستودع (Clone the Repository):
git clone <رابط المستودع الخاص بك> cd AdvancedBrowser
-
فتح المشروع في Android Studio:
- افتح Android Studio.
- اختر
File > Openوانتقل إلى دليلAdvancedBrowserالذي قمت باستنساخه. - انقر على
Open.
-
مزامنة Gradle:
- سيقوم Android Studio تلقائيًا بمزامنة المشروع مع ملفات Gradle.
- إذا لم يحدث ذلك، انقر على أيقونة
Sync Project with Gradle Filesفي شريط الأدوات.
-
تشغيل التطبيق:
- تأكد من توصيل جهاز Android فعلي أو تشغيل محاكي Android.
- انقر على زر
Run 'app'(الأيقونة الخضراء المثلثة) في شريط الأدوات. - سيتم بناء التطبيق وتثبيته وتشغيله على الجهاز أو المحاكي المحدد.
يستخدم المشروع التبعيات التالية:
androidx.core-ktx: امتدادات Kotlin لـ AndroidX Core.androidx.lifecycle-runtime-ktx: مكونات دورة حياة AndroidX.androidx.activity-compose: دعم Jetpack Compose للأنشطة.androidx.compose.bom: لإدارة إصدارات Jetpack Compose.androidx.compose.ui,androidx.compose.ui-graphics,androidx.compose.ui-tooling-preview: مكونات واجهة المستخدم لـ Compose.androidx.compose.material3: مكونات Material Design 3 لـ Compose.
- DNS over HTTPS: تم توفير نموذج بسيط لـ
DNSManager.kt. يتطلب التنفيذ الكامل لـ DoH دمج مكتبة مخصصة مثل OkHttp's DnsOverHttps أو حلول أخرى، وهو أمر معقد ويتجاوز نطاق هذا النموذج الأولي. يمكن توسيع هذه الوظيفة في المستقبل. - حجب الإعلانات: تعتمد قائمة النطاقات المحظورة حاليًا على قائمة بسيطة. يمكن تحسينها عن طريق دمج قوائم حظر أكبر أو استخدام حلول متقدمة مثل AdGuard SDK أو EasyList.
- وضع التخفي: يتم مسح بيانات التصفح (ملفات تعريف الارتباط، ذاكرة التخزين المؤقت، بيانات النموذج) عند تدمير
MainActivity. لضمان الخصوصية الكاملة، يجب التأكد من أن جميع المكونات لا تخزن البيانات بشكل دائم.
نرحب بالمساهمات لتحسين هذا المتصفح. يرجى فتح مشكلة أو تقديم طلب سحب (Pull Request) مع التغييرات المقترحة.
هذا المشروع مرخص بموجب ترخيص MIT. انظر ملف LICENSE لمزيد من التفاصيل. (ملاحظة: لم يتم إنشاء ملف LICENSE في هذا النموذج، ولكن يجب إضافته في مشروع حقيقي).