device_root_jail_internet_explore 0.0.3
device_root_jail_internet_explore: ^0.0.3 copied to clipboard
A Flutter plugin to get device information including root/jailbreak status, emulator detection, network info, VPN status, and developer mode.
🔒 Device Root Jail Internet Explor/h1>
A comprehensive device security and information inspection plugin for Flutter.
Detect Root/Jailbreak, Emulator, Developer Options, Internet Connectivity, Live Network Speed, SIM Info, and more.
Features • Installation • Quick Start • Documentation • Platform Support • Contributing
🚀 Features #
- 🔍 Root Detection – Identify rooted Android devices.
- 🔒 Jailbreak Detection – Check for compromised iOS devices.
- 🖥 Emulator Detection – Find if the app is running inside an emulator.
- 🛠 Developer Options Check – Detect debugging mode & ADB status.
- 🌐 Internet Availability – Real-time network connectivity monitoring.
- ⚡ Live Network Speed – Upload & download speed stream.
- 📱 Device Information – Model, brand, OS version, hardware IDs.
- 📶 SIM Card Detection – Check SIM availability (Android).
- 🔄 Event Stream – Live network speed updates using EventChannel.
- 🧩 Pure Native Implementation – No third-party libraries.
📦 Installation #
Add this to your pubspec.yaml:
dependencies:
device_root_jail_internet_explore: ^0.0.3
Then run: #
flutter pub get
📘 Usage Example #
- ✔ Import the package
import 'package:device_root_jail_internet_explore/device_root_jail_internet_explore.dart';
- ✔ Initialize the plugin
final inspector = DeviceRootJailInternetExplore();
🔍 Check Device State #
final status = await inspector.getDeviceStatus();
print("Rooted: ${status.isRooted}");
print("Jailbroken: ${status.isJailBroken}");
print("Emulator: ${status.isEmulator}");
print("Developer Mode: ${status.isDeveloperModeOn}");
🌐 Check Internet Connectivity #
final connected = await inspector.isInternetAvailable();
print("Internet: $connected");
⚡ Live Network Speed Stream #
inspector.networkSpeedStream.listen((speed) {
print("Download: ${speed.download} kbps");
print("Upload: ${speed.upload} kbps");
});
📱 Get All Device Info #
final info = await inspector.getFullDeviceInfo();
print(info);
✅ 📘 Demo Class #
import 'dart:async';
import 'package:flutter/services.dart';
/// A simple demonstration of how to use the
/// DeviceInfoRootJailInternet class inside a Flutter app.
class DeviceInspectorDemo {
/// Get root/jailbreak status
static Future<void> checkRootStatus() async {
final rooted = await DeviceInfoRootJailInternet.isRootedOrJailbroken;
print("Root / Jailbroken: $rooted");
}
/// Check emulator status
static Future<void> checkEmulator() async {
final emulator = await DeviceInfoRootJailInternet.isEmulator;
print("Emulator Detected: $emulator");
}
/// Fetch complete device info
static Future<void> fetchDeviceInfo() async {
final info = await DeviceInfoRootJailInternet.deviceInfo;
print("Device Info: $info");
}
/// Check internet availability
static Future<void> checkInternet() async {
final internet = await DeviceInfoRootJailInternet.isInternetAvailable;
print("Internet Available: $internet");
}
/// Check VPN status
static Future<void> checkVPN() async {
final vpn = await DeviceInfoRootJailInternet.isVPNActive;
print("VPN Active: $vpn");
}
/// Check developer mode
static Future<void> checkDeveloperMode() async {
final devMode = await DeviceInfoRootJailInternet.isDeveloperMode;
print("Developer Mode Enabled: $devMode");
}
/// Listen to live network speed updates (RX/TX bytes/sec)
static void listenNetworkSpeed() {
DeviceInfoRootJailInternet.networkStream.listen((event) {
print("Network Speed → RX: ${event['rx']} B/s, TX: ${event['tx']} B/s");
});
}
}
⭐ How to Use in Your App #
void main() async {
await DeviceInspectorDemo.checkRootStatus();
await DeviceInspectorDemo.checkEmulator();
await DeviceInspectorDemo.fetchDeviceInfo();
await DeviceInspectorDemo.checkInternet();
await DeviceInspectorDemo.checkVPN();
await DeviceInspectorDemo.checkDeveloperMode();
// Start listening to network speed
DeviceInspectorDemo.listenNetworkSpeed();
}
🛠️ Platform Support #
| Feature | Android | iOS | Web | Desktop |
|---|---|---|---|---|
| Root Detection | ✅ | ❌ | ❌ | ❌ |
| Jailbreak Detection | ❌ | ✅ | ❌ | ❌ |
| Device Mode | ✅ | ✅ | ❌ | ❌ |
| Network Info | ✅ | ✅ | ⚠️ | ⚠️ |
| Real-time Speed | ✅ | ✅ | ❌ | ❌ |
| Developer Mode | ✅ | ✅ | ❌ | ❌ |
🔧 Configuration #
Android Permissions #
Add to android/app/src/main/AndroidManifest.xml: #
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
iOS Configuration #
Add to ios/Runner/Info.plist:
<key>NSLocalNetworkUsageDescription</key>
<string>This app monitors network connectivity for security purposes</string>
🤝 Contributing #
We welcome contributions! Please see our Contributing Guide for details.
Pub.dev: device_root_jail_state_check
🌟 Support #
If you find this package useful, please give it a ⭐️ on GitHub!
⚠️ Security Notice This package is designed for security assessment and should be used responsibly. Always respect user privacy and comply with applicable laws and regulations.
Stay Secure! 🔒