UNPKG

ip-changer

Version:

A Node.js tool to change IP address by toggling mobile data on Android devices via ADB

80 lines (56 loc) 1.98 kB
# IP Changer A Node.js CLI tool to change IP address by toggling mobile data on Android devices via ADB. ## Prerequisites - Node.js 12.0.0 or higher - Android Debug Bridge (ADB) installed and accessible - Android device with USB debugging enabled - Device connected via USB or wireless ADB ## Installation Install globally via npm: ```bash npm install -g ip-changer ``` ## Usage After installation, you can run the tool from anywhere: ```bash ip-changer ``` The tool will: 1. Check your current IP address (IPv4 and IPv6) 2. Disable mobile data on your Android device 3. Wait briefly 4. Re-enable mobile data 5. Check your new IP address 6. Report whether the IP change was successful ## Setup Requirements ### 1. Install ADB - **Windows**: Download Android SDK Platform Tools and add to PATH - **macOS**: `brew install android-platform-tools` - **Linux**: `sudo apt-get install android-tools-adb` ### 2. Enable USB Debugging 1. Go to Settings > About Phone 2. Tap "Build Number" 7 times to enable Developer Options 3. Go to Settings > Developer Options 4. Enable "USB Debugging" ### 3. Connect Device Connect your Android device via USB and authorize the computer when prompted. Verify connection: ```bash adb devices ``` ## How It Works The tool uses two IP checking services: - **ipify.org**: Primary IP detection service - **ip-api.com**: Backup IP detection service It toggles your mobile data connection using ADB commands: - `adb shell svc data disable` - Turns off mobile data - `adb shell svc data enable` - Turns on mobile data ## Troubleshooting - **ADB not found**: Make sure ADB is installed and in your system PATH - **Device not detected**: Check USB debugging is enabled and device is authorized - **Permission denied**: Make sure your device allows ADB commands - **IP not changing**: Your carrier may assign the same IP or use NAT ## License MIT ## Contributing Pull requests are welcome. For major changes, please open an issue first.