Kiến trúc Hệ thống Đa nền tảng
Để đạt được sự đồng bộ hoàn hảo, MindfulBlock sử dụng mô hình Client-Heavy, Server-Light. Phần lớn logic chặn mạng nằm ở thiết bị cục bộ để đảm bảo quyền riêng tư và tốc độ, trong khi Cloud chỉ đóng vai trò là "nguồn sự thật duy nhất" cho các quy tắc chặn.
Mindful PC
Windows / macOS
Central Account
Firebase / Firestore
Mindful Mobile
iOS / Android
Luồng Đồng bộ Dữ liệu
Các thành phần chính
-
1
Xác thực tập trung
Đăng nhập một lần (SSO) cho toàn bộ hệ sinh thái thiết bị.
-
2
Conflict Resolution
Xử lý khi thay đổi thiết lập đồng thời trên cả điện thoại và máy tính.
-
3
Offline-First
Vẫn chặn mạng ngay cả khi không có kết nối internet (Local DB).
Lớp Ứng dụng & Giao diện
Để tối ưu nguồn lực phát triển nhưng vẫn giữ được hiệu suất tối đa (Native Performance), chúng tôi chọn giải pháp Multi-Framework dựa trên ngôn ngữ biên dịch mạnh mẽ.
PC / Desktop
Tauri Framework- ✅ Siêu nhẹ: File cài đặt chỉ ~5-10MB (so với 100MB+ của Electron).
- ✅ Bảo mật cao: Core bằng Rust giúp bảo vệ logic chặn mạng khỏi bị can thiệp.
- ✅ Tận dụng Web: UI viết bằng React/Tailwind giúp thiết kế hiện đại.
update_hosts_file(sites: Vec<String>);
setup_system_tray(); // minimize-to-tray logic
}
Android / iOS
Google Framework (Đang phát triển)- ✅ 60 FPS: Giao diện mượt mà tuyệt đối cho cả 2 hệ điều hành.
- ✅ VpnService: Khả năng gọi các hàm hệ thống sâu của Android/iOS.
- ✅ Single Codebase: Viết một lần cho cả iPhone và Samsung.
static const platform = MethodChannel('blocker');
await platform.invokeMethod('startVPN');
Tại sao không dùng React Native hay Electron?
Electron: Quá nặng nề và tiêu tốn RAM, không phù hợp cho một ứng dụng chạy ngầm liên tục như blocker.
React Native: Khó khăn hơn Flutter trong việc can thiệp sâu vào các Bridge hệ thống cần thiết cho việc cấu hình VPN/Network.
Đồng bộ hóa & Lưu trữ Cloud
Cốt lõi của việc đồng bộ hóa đa thiết bị là tốc độ và sự ổn định. Chúng tôi đề xuất giải pháp Serverless để giảm thiểu chi phí vận hành và tối đa hóa khả năng mở rộng.
Google Firebase Ecosystem
Lựa chọn hàng đầu cho việc đồng bộ hóa dữ liệu thời gian thực mà không cần xây dựng WebSocket phức tạp.
Cấu trúc dữ liệu Đồng bộ
"userId": "user_123",
"restrictedSites": [...],
"gamification": {
"balance": 1500,
"activeBuffs": [...]
},
"lastSync": "2023-10-27T10:00Z"
}
So sánh Tốc độ Đồng bộ
Firebase Realtime SDK giúp thay đổi trên Mobile phản ánh lên PC trong chưa đầy 200ms.
Cơ chế Chặn Mạng: "The Secret Sauce"
Chặn mạng là phần thách thức nhất về mặt kỹ thuật vì mỗi hệ điều hành có một cơ chế bảo mật khác nhau.
PC (Windows/Mac)
Cấp độ 1: Hosts File
Dễ triển khai, nhẹ, nhưng dễ bị người dùng rành kỹ thuật vượt qua.
Cấp độ 2: Local DNS Proxy
Viết bằng Rust để điều hướng tất cả lưu lượng DNS về một bộ lọc nội bộ.
Cấp độ 3: Web Extension
Chặn chính xác từng URL trong trình duyệt, cho phép hiển thị trang "Blocked" đẹp mắt.
Mobile (iOS/Android)
Local VPN Service
Tạo một VPN "giả" ngay trên máy (không gửi dữ liệu đi đâu). Tất cả gói tin đi qua bộ lọc này.
Network Extension (iOS)
Sử dụng Apple NEFilterDataProvider để chặn các luồng dữ liệu ở cấp hệ thống.
Accessibility API
Dùng để đọc URL hiện tại của trình duyệt Chrome/Safari và tự động đóng tab nếu vi phạm.