Automate IP address changes using the Tor network with advanced privacy features
TorNet is a privacy-focused tool that automates IP address rotation using Tor.
It is designed to improve anonymity, security, and resistance to tracking across multiple platforms.
TorNet is a fully open and community-driven project.
Everyone is free to collaborate, edit, modify, fix issues, add features, and share this project without restriction, in accordance with the MIT License.
No permission is required — contributions from anyone are welcome.
- Enhanced Privacy – Frequent IP changes make tracking difficult
- Increased Security – Reduces exposure to targeted attacks
- Anonymity – Routes traffic through the Tor network
- Ease of Use – Simple CLI and future GUI apps
- Anti-Tracking – Limits profiling by advertisers and trackers
- Cross-Platform Vision – Desktop and mobile support
- Features
- Platform Support
- Installation
- Quick Start
- Commands
- Configuration
- Country Selection
- Roadmap
- Troubleshooting
- Contributing
- License
- Automatic IP rotation
- Country-based Tor exit nodes
- Kill switch (platform-dependent)
- DNS leak testing
- Auto dependency fixing
- Status monitoring
- Logging & log following
- YAML / JSON configuration
- Scheduled IP rotation
TorNet is designed to be a real application, not just a script.
- Linux – Native support (primary & most stable)
- Windows – Standalone
.exeapplication - Android – Dedicated Android app (APK)
-
Linux
- Full feature support
- CLI-based
- Recommended platform
-
Windows
- Distributed as a compiled EXE
- No Python installation required
- Uses system or bundled Tor
-
Android
- Distributed as an APK
- Designed for mobile privacy
- Uses embedded Tor services
⚠️ Some features (such as kill switch) may vary due to OS restrictions.
pip install tornet==2.0.2# Display current IP address
tornet --ip
# Change IP once
tornet --change
# Change IP every 60 seconds, 10 times
tornet --interval 60 --count 10
# Change IP indefinitely every 30-120 seconds (random interval)
tornet --interval 30-120 --count 0
tornet --status # Use US exit nodes, change IP every minute
tornet --country us --interval 60
# Use German exit nodes
tornet --country de --interval 120
# Use random countries (default)
tornet --country auto --interval 60| Command | Description | Example |
|---|---|---|
--ip |
Display current IP address | tornet --ip |
--change |
Change IP once and exit | tornet --change |
--interval |
Time between changes (seconds or range) | tornet --interval 30 |
--count |
Number of IP changes (0 = infinite) | tornet --count 20 |
--stop |
Stop all Tor services | tornet --stop |
--version |
Show version | tornet --version |
| Command | Description | Example |
|---|---|---|
--status |
Show system status | tornet --status |
--country |
Specify exit country | tornet --country jp |
--schedule |
Schedule IP changes | tornet --schedule 5m |
--dns-leak-test |
Test for DNS leaks | tornet --dns-leak-test |
--kill-switch |
Toggle kill switch | tornet --kill-switch |
--log --follow |
View/follow logs | tornet --log --follow |
--json |
JSON output format | tornet --ip --json |
--config |
Use custom config | tornet --config myconfig.yml |
--auto-fix |
Auto-install dependencies | tornet --auto-fix |
--list-countries |
List country codes | tornet --list-countries |
--restore-default |
Restore default config | tornet --restore-default |
30s- Every 30 seconds5m- Every 5 minutes2h- Every 2 hours1d- Every 1 day
60- Exactly 60 seconds30-120- Random between 30 and 120 seconds
tornet --list-countriesUS - United States DE - Germany JP - Japan
GB - United Kingdom FR - France CA - Canada
AU - Australia NL - Netherlands SE - Sweden
CH - Switzerland NO - Norway DK - Denmark
FI - Finland RU - Russia CN - China
IN - India BR - Brazil MX - Mexico
ZA - South Africa SG - Singapore HK - Hong Kong
TW - Taiwan IT - Italy ES - Spain
# Use specific country
tornet --country us --interval 60
# Use random countries (default)
tornet --country auto --interval 60
# Restore to default configuration
tornet --restore-defaultTorNet uses ~/.tornet/config.yml by default. Create a custom configuration:
# ~/.tornet/custom.yml
default:
interval: 60
count: 0
country: auto
schedule: null
network:
proxy_port: 9050
dns_port: 53
control_port: 9051
security:
kill_switch: false
dns_protection: true
log_level: info
advanced:
max_retries: 3
timeout: 30
verify_ssl: truetornet --config ~/.tornet/custom.yml --interval 120# Enable kill switch (requires root)
sudo tornet --kill-switch
# Disable kill switch
sudo tornet --kill-switchtornet --dns-leak-testtornet --log
tornet --log --followtornet --ip --json
tornet --change --jsontornet --country us --interval 120-300 --count 50
tornet --country de --schedule 1h
tornet --config custom.yml --json --interval 30 --count 100- Permission Denied Errors
sudo tornet --kill-switch- Tor Not Starting
which tor
sudo systemctl start tor
# or
sudo service tor start- Dependency Issues
tornet --auto-fix
python3 -c "import requests"
tor --version- Connection Issues
curl -s https://api.ipify.org
curl --socks5 127.0.0.1:9050 https://api.ipify.org- TorNet Logs:
~/.tornet/tornet.log - Tor Configuration:
~/.tornet/torrc.custom - Country Settings:
~/.tornet/current_country
tornet --statusFirefox:
- Go to
Preferences>General>Network Settings. - Select
Manual proxy configuration. - Enter
127.0.0.1forSOCKS Hostand9050for thePort. - Check
Proxy DNS when using SOCKS v5. - Click
OK.
TorNet is intended for educational and privacy purposes only.
Important Notes:
- Legal compliance
- Terms of service
- Responsible use
- No warranty
- Privacy
- Security
Ethical Guidelines:
- Use for privacy protection and security testing
- Respect network resources
- Avoid excessive requests
- Obtain proper authorization before testing
Limitations:
- Tor exit nodes may be blocked
- Slower connection speed
- Some features require root
- Not all countries have reliable Tor exit nodes
Contributions are welcome! Submit a Pull Request.
MIT License - see LICENSE file.
- GitHub: @ByteBreach
Mr-Fidal |
GH05T-HUNTER5 |
- Give a star ⭐
- Report issues
- Suggest features
- Share with others
Thanks to the Tor project developers.
