DEV Community

Cover image for Building a Lightning-Fast, Ad-Free IP & Reputation Toolkit (RPi + Oracle Cloud)
Tal Yosef
Tal Yosef

Posted on

Building a Lightning-Fast, Ad-Free IP & Reputation Toolkit (RPi + Oracle Cloud)

Hi DEV community! πŸ‘‹

TL;DR: I built a fast, ad-free IP lookup and reputation utility with native CLI support. You can check it out right here: ipview.io (or just run curl ipview.io in your terminal).

As an information security practitioner, I often need to quickly check my public IP, inspect request headers, or run a quick reputation check on an external IP.

I was getting tired of the standard "What is my IP" websites. They are often bloated, filled with ads, and lack proper developer tools. So, I decided to build my own minimalist alternative. Here is a quick breakdown of the architecture and the challenges I solved.

πŸ—οΈ The Hybrid Architecture
What makes this project fun is the infrastructure. It’s running on a hybrid setup:

Frontend/Proxy: Oracle Cloud Instance.

Backend: A Raspberry Pi sitting in my HomeLab.

Connectivity: Bridged securely using Cloudflare Tunnels. This means no open ports on my home router and my home IP stays completely hidden.

✨ Key Features for Developers & Security Folks
I wanted this to be a genuine utility:

CLI First: You don't even need a browser. Just run curl ipview.io or wget -qO- ipview.io to get a clean, plain-text IP return.

Built-in Dev Tools: A toggleable developer panel at the bottom instantly shows your filtered Request Headers and provides a ready-to-copy JSON response.

AbuseIPDB Integration: Manually search any IP, and the site asynchronously checks its reputation and RDAP network owner.

Strict Privacy: No ads, no tracking scripts, and strict security headers (A+ CSP, HSTS, Permissions-Policy).

Dual Stack: Dynamically fetches and displays both IPv4 and IPv6.

πŸ› οΈ Solving the API Rate Limit
The biggest challenge was the AbuseIPDB integration. The free tier limits me to 1,000 requests per day. To prevent the site from exhausting the quota, I wrote a smart local caching layer in PHP.

It temporarily stores reputation scores (with Garbage Collection) and includes a fallback mode. If the limit is reached, the core IP info is still served instantly without breaking the UI.

πŸ’¬ I'd love your feedback!
Since I built this mainly for my own daily workflow, I’m looking for suggestions to make it better for the community.

What other network diagnostics, OSINT data points, or CLI features would you find useful in a tool like this?

Link: ipview.io

Thanks for reading!

Top comments (0)