WhatIsMyIP is a lightweight Flask-based web application that allows users to retrieve their public IP address along with key location and security details. This tool is useful for network diagnostics, security analysis, and general IP-related inquiries.
- Retrieve public IP details, including:
- IP Address
- IP Version
- Geolocation Data (Latitude, Country, City, Region)
- Proxy Detection
- Lightweight, fast, and easy to use
- Simple web interface
- Python 3.12 or later
- Ngrok (for external access)
Follow these steps to install and run the application:
- Clone the repository:
git clone https://github.com/w3nabil/WhatIsMyIP.git
- Navigate to the project directory:
cd WhatIsMyIP
- Install the required dependencies:
pip install -r requirements.txt
-
Rename
.env.example
to.env
and update it with your desired configuration values.- If using the project for testing purposes, you may set:
DB_URI=./test.db APP_SECRET_KEY=test
- Database configuration is optional unless you plan to store data.
- If using the project for testing purposes, you may set:
-
Obtain an API token from ipinfo.io and set it in the
.env
file:TOKEN=your_api_token_here
Start the application by running:
py app.py
Once running, open a browser and navigate to http://localhost:5000/
to verify that the service is working correctly.
To make the application accessible from the internet:
- Start Ngrok:
ngrok http 5000
- Copy the generated
*.ngrok.io
URL and access it from any browser.
If you encounter a "Rate Limit Reached" message, it may be due to:
- Exceeding API request limits
- A blacklisted or flagged IP address
Refer to the ipinfo.io documentation for more details on API limits and restrictions.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions, feedback, or collaboration opportunities, feel free to reach out at [email protected].