iprad - modular Python-based CLI utility designed for IP Lookup. Built with scalability in mind, it separates core logic into distinct modules for easier maintenance and expansion.
iprad supports only Ipv4 addresses. Also you can write domain, like google.com when using iprad.
- Modular Design: Core functionality is encapsulated within the
src/iprad/corepackage. - Package Management: Uses
pyproject.tomlfor modern dependency management and entry point configuration. - Data Persistence: Includes a local
.cachedirectory for caching results.
Project uses pyproject.toml, you can install it as a package directly from the source.
git clone
cd iprad
pip install .Now it is installed in your system
You can run this commands for installation
#macOS or Linux
curl -L https://raw.githubusercontent.com/deltaaa00/iprad/refs/heads/main/scripts/install.sh | bashcurl -k -L https://raw.githubusercontent.com/deltaaa00/iprad/refs/heads/main/scripts/install.bat -o install.bat && install.batIf you plan to modify the code and want changes to take effect immediately:
git clone https://github.com/deltaaa00/iprad.git
cd iprad
pip install -e .Some modules use API Keys. For example AbuseIPDB need it. Go to iprad directory (can be user folder). And run this:
cp .env.example .envThen, open it in your text editor and replace YOUR_KEY with your API KEY for module.
ABUSEIPDB_API_KEY="YOUR KEY" <-- replace this
Let`s try
iprad check 1.1.1.1And you`ll get this
iprad has some modules, that require sudo mode, for opening raw socket, for example:
sudo iprad check 1.1.1.1 -ptAlso, you can check own IP with this command:
iprad check myip-pt Enables ping and traceroute module. Here is output:
If you don't want to use API Keys you can run with --nokeys
iprad check 1.1.1.1 --nokeysiprad has cache function. If you want to clean cache run this:
iprad rmcacheYou will get this message
> Cache removed successfully
