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
Markdown
# 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.