Resolve IP addresses for a list of domains in bulk and save results to a timestamped TSV file.
- Batch input: read domains from
input.txt(one per line) - Deduplicates: removes duplicate domains while preserving order
- Robust resolution: strips http/https prefixes; handles errors gracefully
- Timestamped output: writes to
results_YYYYMMDD.txt(tab-separated with header)
- Python 3.11+ (project targets 3.11 by default)
No external dependencies required.
- Clone the repo
- (Optional) Create and activate a virtual environment
- Create an
input.txt(or copyinput.sample.txttoinput.txt) - Run the script
Windows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
copy input.sample.txt input.txt
python ip_resolver.pymacOS/Linux:
python3 -m venv .venv
source .venv/bin/activate
cp input.sample.txt input.txt
python ip_resolver.pyOutput will be saved as a file like results_20250528.txt in the project root.
You can also use a minimal web interface.
Start the app:
python app.pyThen open http://127.0.0.1:5000 in your browser. Paste domains or upload a .txt file, then click Resolve. You can also download results as a TSV file.
Build and run locally:
docker build -t batch-ip-resolver .
docker run -p 5000:5000 --rm batch-ip-resolverVisit http://127.0.0.1:5000.
Environment variables:
PORT: port to bind (default 5000)DEBUG: set totrueto enable Flask debug when running viapython app.py
- One domain per line
- You can include
http://orhttps://prefixes; they will be stripped automatically
Example (input.sample.txt):
example.com
openai.com
python.org
This project is licensed under the MIT License. See LICENSE for details.