A Flutter application for scanning and viewing camera feeds from various sources. This app allows users to discover and access camera feeds from different locations and countries.
- 🌍 Country-based Camera Discovery: Browse cameras by country
- 📱 Cross-platform Support: Works on Android, iOS, Web, Windows, macOS, and Linux
- 🔍 Camera Scanning: Automatically scan and discover accessible cameras
- 📺 Live Camera Viewing: View camera feeds directly in the app
- 💾 Export Functionality: Save and share discovered camera URLs
- 🎨 Modern UI: Clean and intuitive user interface
- 🔒 Secure Access: Proper network security configuration
-
Clone the repository
git clone https://github.com/roxm337/argus_scan_app.git cd argus_scan_app -
Install dependencies
flutter pub get
-
Run the app
flutter run
flutter build apk --releaseflutter build ios --releaseflutter build web --releaseflutter build windows --releaseflutter build macos --releaseflutter build linux --releaseThis project uses the following key dependencies:
- flutter: The Flutter framework
- http: ^1.1.0 - For HTTP requests
- dio: ^5.4.0 - Advanced HTTP client
- webview_flutter: ^4.9.0 - WebView integration
- path_provider: ^2.1.1 - File system access
- share_plus: ^7.2.1 - File sharing functionality
- flutter_markdown: ^0.6.18 - Markdown rendering
lib/
├── main.dart # App entry point
├── models/ # Data models
│ └── camera.dart
├── screens/ # UI screens
│ ├── home_screen.dart
│ ├── camera_viewer_screen.dart
│ └── info_screen.dart
├── services/ # Business logic
│ └── camera_service.dart
├── theme/ # App theming
│ └── app_theme.dart
└── widgets/ # Reusable widgets
├── loading_overlay.dart
└── primary_button.dart
- Launch the app and you'll see the home screen
- Select a country from the dropdown to scan for cameras
- Tap "Scan Cameras" to discover available camera feeds
- View results in the list of discovered cameras
- Tap on a camera to view the live feed
- Export results by tapping the save button to share camera URLs
The app includes a network security configuration that allows HTTP traffic for camera feeds. This is configured in:
android/app/src/main/res/xml/network_security_config.xmlandroid/app/src/main/AndroidManifest.xml
The app requires the following permissions:
INTERNET- For network accessACCESS_NETWORK_STATE- For network status checkingACCESS_MEDIA_LOCATION- For media access
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
flutter testflutter analyzeflutter format .-
Build fails on Android
- Ensure you have the latest Android SDK
- Check that all dependencies are properly installed
-
WebView not loading camera feeds
- Verify network security configuration is properly set
- Check that the camera URLs are accessible
-
iOS build issues
- Ensure Xcode is up to date
- Check iOS deployment target compatibility
Note: This app is for educational and research purposes. Please ensure you have proper authorization before accessing any camera feeds and respect privacy laws and regulations in your jurisdiction.




