Open-Source Mobile Security Platform for Real-Time URL Analysis
Features β’ Quick Start β’ Architecture β’ Contributing
- Overview
- The Problem
- Our Solution
- Key Features
- System Architecture
- Technology Stack
- Quick Start
- Security Features
- Roadmap
- Contributing
- License
LinkSafe is a comprehensive mobile utility app designed to track, analyze, and verify URLs in real-time. By providing detailed risk scoring, domain whitelisting, and historical analytics, LinkSafe helps you stay safe from phishing attempts and malicious websites directly from your Android device.
Transform the uncertain experience of opening unknown links into a structured, measurable, transparent process that enables data-driven mobile security at an individual level.
Most users face critical challenges when determining the safety of links they receive:
|
|
graph LR
A[User Input] --> B[URL Validation]
B --> C[Whitelist Check]
C --> D[Pattern Checker]
D --> E[Risk Score Computation]
E --> F[Redirect Safety Check]
F --> G[History Storage]
style A fill:#667eea
style B fill:#764ba2
style C fill:#f093fb
style D fill:#4facfe
style E fill:#00f2fe
style F fill:#43e97b
style G fill:#38f9d7
Analysis is the first line of defense.
Risk scores are computed locally.
Privacy is maintained through on-device processing.
This separation ensures speed, accuracy, and maximum user privacy.
| π Pattern Checking | π‘οΈ Domain Whitelist | π Risk Analytics | π History Tracking |
|---|---|---|---|
| Regex-based scanning | Trusted site verification | 0-100 Score Metric | Persistent Storage |
| Deep URL Inspection | Known safe domain bypass | Confidence Indicators | Shared Preferences |
| Redirect Loop Fixes | Fast-path resolution | Interactive Graphics | Detailed Timestamps |
- π Analyze URLs for obfuscations and suspicious characters
- π Calculate granular risk scores rather than binary flags
- π Recognize and fast-track whitelisted domains instantly
- π Stop infinite redirect loops natively via Kotlin integration
- π Fluid bottom navigation architecture
- β Instant risk classification and detailed reporting
- π Easily access previously checked URLs via History Screen
- π Copy and clear links intuitively
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β User Interface (Flutter) β
β Main Screen β’ History Screen β’ Bottom NavBar β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β Method Channels & State
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β Business Logic (Dart) β
β ββββββββββββββββββββ¬βββββββββββββββββββ¬ββββββββββββββββββ β
β β PatternChecker β HistoryService β URL Validator β β
β ββββββββββββββββββββ΄βββββββββββββββββββ΄ββββββββββββββββββ β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β Native Bridgework
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β Native Layer (Android) β
β MainActivity.kt (Redirect Loop Prevention & Invocation) β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β Local Storage
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β Database Layer (SharedPreferences) β
β Persistent History Entries β’ User Settings β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
sequenceDiagram
participant U as User
participant UI as Flutter Frontend
participant PC as Pattern Checker
participant N as Native Layer (Kotlin)
participant DB as Local Storage
U->>UI: Enter suspicious URL
UI->>PC: Request Analysis
PC->>PC: Check Whitelist
PC->>PC: Compute Risk Score (0-100)
UI->>N: Open Link Safely
N->>N: Prevent Redirect Loops
UI->>DB: Store History Entry
DB->>UI: Update History Screen
UI->>U: Display Safe Content / Warning
| Layer | Technology | Purpose |
|---|---|---|
| Framework | Flutter | Cross-platform UI toolkit |
| Language | Dart | Core application logic |
| Native Base | Kotlin | Android specific integrations (Redirects) |
| Storage | SharedPreferences | Fast, persistent local data |
| Routing | Flutter Navigator | Smooth screen transitions |
| Analytics | PatternChecker Service | Risk computation algorithm |
# 1. Clone the repository
git clone https://github.com/sangsaist/LinkSafe-Android.git
cd LinkSafe-Android
# 2. Get dependencies
flutter pub get
# 3. Connect your Android device or start an emulator
# 4. Run the application
flutter run- Flutter SDK 3.x+
- Android Studio / Android SDK
- Minimum Android SDK Version: 21 (Lollipop)
- Target Android SDK Version: 33+
- β On-Device Analysis β URLs are analyzed locally without sending personal data to third parties.
- β Anti-Redirect Loops β Native Kotlin defenses stop infinite tracking redirects.
- β Risk Scoring Engine β Heuristics-based scoring for precise threat detection.
- β Granular Whitelisting β Bypasses scans for definitively safe domains to eliminate false positives.
- β Non-Persistent Tracking β App does not track user location or inject trackers.
Project status: Active development and refinement.
- β Bottom Navigation integration
- β URL PatternChecking logic
- β Basic User Interface
- β Infinite redirect prevention in Android layer
- β Granular risk scoring (0-100) implementation
- β History Service with persistent local storage
- β Whitelisted domains database
- π Integration with external threat intelligence APIs (e.g., Google Safe Browsing)
- π URL shortener unmasking
- π Background clipboard scanning
- π Advanced visualizations for URL components
- π iOS Compatibility and Native Swift bridging
- π Web Extension integration
- π Cloud sync for URL history
LinkSafe-Android/
βββ android/
β βββ app/src/main/kotlin/
β β βββ .../MainActivity.kt # Redirect Logic & Method Channels
βββ lib/
β βββ main.dart # Entry point & App Shell
β βββ screens/
β β βββ checker_screen.dart # Main URL Scanner UI
β β βββ history_screen.dart # Checked Links History UI
β βββ services/
β β βββ pattern_checker.dart# Risk Scoring & Whitelist
β β βββ history_service.dart# SharedPreferences wrapper
β βββ models/
β βββ history_entry.dart # Data model for checked URLs
βββ pubspec.yaml # Flutter dependencies
βββ README.md
Contributions are welcome! Help us make mobile browsing safer for everyone.
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m 'feat: Add your feature' - Push to the branch:
git push origin feature/your-feature - Open a Pull Request
- π Report bugs via GitHub Issues
- π‘ Suggest features via GitHub Discussions
This project is licensed under the MIT License β see the LICENSE file for details.
Making the Web Safe, One Link at a Time.
Β© 2026 LinkSafe. Open Source Project under MIT License.