A comprehensive parental control app built with Flutter and native Android features for digital safety and content blocking.
- Device Admin Protection: Prevents app uninstallation
- Content Blocking: System-wide website filtering via VPN
- PIN/Biometric Security: Secure access to settings
- Background Monitoring: Continuous protection service
- Firebase Integration: Cloud sync and authentication
- Modern Material Design 3: Dark theme with beautiful UI
- 6 Complete Screens: Login, Dashboard, Settings, Safe Browser, Blocked Sites, Logs
- Responsive Design: Optimized for all screen sizes
- Intuitive Navigation: Easy-to-use interface
- Flutter + Kotlin: Cross-platform with native Android features
- Method Channels: Seamless Flutter-Android communication
- Secure Storage: Encrypted PIN and settings storage
- Real-time Analytics: Usage tracking and security logs
- Flutter SDK (3.9.2+)
- Android Studio
- Android device (API 21+)
- Firebase project
-
Clone the repository
git clone https://github.com/Krishna7dx9/Protecto.git cd Protecto -
Install dependencies
flutter pub get
-
Set up Firebase
- Follow the Firebase Setup Guide
- Download
google-services.jsontoandroid/app/ - Configure Firestore security rules
-
Run the app
flutter run
- Email/password authentication
- Firebase Auth integration
- PIN reset via OTP
- Biometric login option
- Protection status overview
- Quick action buttons
- Usage statistics
- Real-time monitoring
- PIN management
- Device admin controls
- Biometric settings
- App preferences
- WebView with content filtering
- Blocked site detection
- Safe search integration
- Add to blocklist functionality
- Manage blocked websites
- Category-based filtering
- Bulk import/export
- Real-time updates
- Security event logs
- Usage analytics
- Failed attempt tracking
- Parent notifications
- Prevents app uninstallation
- System-level protection
- Admin PIN verification
- Policy enforcement
- DNS-based content filtering
- Real-time domain blocking
- Network traffic monitoring
- Background operation
- Continuous monitoring
- Wake lock management
- Suspicious activity detection
- Automatic recovery
- Firebase Authentication
- Secure PIN storage
- Biometric authentication
- Session management
- Encrypted local storage
- Secure cloud sync
- Privacy-focused design
- No data collection
- Device admin integration
- Uninstall prevention
- Background service
- System-level security
lib/
βββ main.dart # App entry point
βββ screens/ # UI screens
βββ widgets/ # Reusable components
βββ models/ # Data models
βββ services/ # Business logic
βββ utils/ # Utilities
android/app/src/main/kotlin/
βββ MainActivity.kt # Main activity
βββ DeviceAdminReceiver.kt # Device admin
βββ VpnService.kt # VPN service
βββ ProtectionService.kt # Background service
βββ MethodChannelHandler.kt # Flutter bridge
- Flutter: UI and business logic
- Kotlin: Native Android features
- Firebase: Backend services
- Method Channels: Flutter-Android communication
firebase_core: Firebase integrationfirebase_auth: Authenticationcloud_firestore: Databasewebview_flutter: Safe browserlocal_auth: Biometric authenticationflutter_secure_storage: Secure storage
-
Configure signing
# Update android/app/build.gradle.kts # Add signing configuration
-
Build APK
flutter build apk --release
-
Build App Bundle
flutter build appbundle --release
- Create Firebase project
- Add Android app
- Download
google-services.json - Configure security rules
- Enable required services
All required permissions are automatically configured:
- Device Admin
- VPN Service
- Internet Access
- Biometric Authentication
- System Alert Window
- Update package name in
android/app/build.gradle.kts - Configure app signing
- Set up release keystore
- Update Firebase project settings
flutter testflutter test integration_test/- Test device admin functionality
- Verify VPN service operation
- Check Firebase integration
- Test all UI screens
- Validate security features
-
Device Admin Not Working
- Check Android version compatibility
- Verify permissions in settings
- Ensure proper configuration
-
VPN Service Issues
- Check VPN permissions
- Verify network connectivity
- Test on physical device
-
Firebase Errors
- Verify
google-services.json - Check security rules
- Ensure proper authentication
- Verify
-
Build Errors
- Clean and rebuild:
flutter clean && flutter pub get - Check all dependencies
- Verify Android configuration
- Clean and rebuild:
flutter run --debugflutter run --releaseThis project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create feature branch
- Commit changes
- Push to branch
- Create Pull Request
For support and questions:
- Create an issue in the repository
- Check the documentation
- Review troubleshooting guide
- iOS support
- Advanced AI filtering
- Multi-language support
- Advanced analytics
- Time-based restrictions
- Location-based filtering
Protecto - Keeping families safe in the digital world. π‘οΈ