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
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.
iprad can be installed with pip
pip install ipradpip3 install ipradAlso you can install it via git clone
git clone https://github.com/deltaaa00/iprad.git
cd iprad
pip install .If 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 cache rmYou will get this message
Cache removed successfully
Also you can check cache size via this command:
iprad cache infoYou will get this message similar to this:
Cache Size: 0.07MB

