<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: LukeK</title>
    <description>The latest articles on DEV Community by LukeK (@blunek-services).</description>
    <link>https://dev.to/blunek-services</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3781621%2F7e1f61d4-90fc-4b1e-b6b3-f9203a89bc7f.png</url>
      <title>DEV Community: LukeK</title>
      <link>https://dev.to/blunek-services</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/blunek-services"/>
    <language>en</language>
    <item>
      <title>I Built Free Developer Tools That Respect Your Privacy</title>
      <dc:creator>LukeK</dc:creator>
      <pubDate>Thu, 19 Feb 2026 20:50:25 +0000</pubDate>
      <link>https://dev.to/blunek-services/i-built-free-developer-tools-that-respect-your-privacy-1dbd</link>
      <guid>https://dev.to/blunek-services/i-built-free-developer-tools-that-respect-your-privacy-1dbd</guid>
      <description>&lt;h1&gt;
  
  
  I Built Free Developer Tools That Respect Your Privacy
&lt;/h1&gt;

&lt;p&gt;Every developer has that moment. You need to check your public IP, so you Google "what is my IP" and land on a page with 47 ads, three cookie banners, and a privacy policy that reads like a confession. Or you need a quick WHOIS lookup and somehow end up creating an account just to see who registered a domain.&lt;/p&gt;

&lt;p&gt;I got tired of it. So I built two tools that do the job without the nonsense.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tool #1: MyIP — Your IP, Nothing Else
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🔗 &lt;a href="https://myip.blunek.services" rel="noopener noreferrer"&gt;myip.blunek.services&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A retro terminal-style IP checker. Open it in a browser and you get your IP address, approximate location, and ISP displayed in a clean terminal aesthetic.&lt;/p&gt;

&lt;p&gt;But the real power is in the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;curl myip.blunek.services
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Your IP, location, and ISP. Readable, fast, done.&lt;/p&gt;

&lt;h3&gt;
  
  
  API Endpoints
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Human-readable format&lt;/span&gt;
curl myip.blunek.services

&lt;span class="c"&gt;# Structured JSON (great for scripts)&lt;/span&gt;
curl myip.blunek.services/json

&lt;span class="c"&gt;# Just the raw IP (perfect for variable assignment)&lt;/span&gt;
curl myip.blunek.services/plain
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Real-World Usage
&lt;/h3&gt;

&lt;p&gt;I use the &lt;code&gt;/plain&lt;/code&gt; endpoint constantly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Store your current IP&lt;/span&gt;
&lt;span class="nv"&gt;MY_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-s&lt;/span&gt; myip.blunek.services/plain&lt;span class="si"&gt;)&lt;/span&gt;

&lt;span class="c"&gt;# Quick check during SSH sessions&lt;/span&gt;
&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;myip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'curl -s myip.blunek.services'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The JSON endpoint returns everything you'd want for automation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"ip"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"203.0.113.42"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"city"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Berlin"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"country"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Germany"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"isp"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Example ISP"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"lat"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;52.52&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"lon"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;13.405&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Tool #2: WHOIS Lookup — Domain Intelligence
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🔗 &lt;a href="https://whois.blunek.services" rel="noopener noreferrer"&gt;whois.blunek.services&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This one packs more punch. It's a domain intelligence tool that combines four things I always needed separate tabs for:&lt;/p&gt;

&lt;h3&gt;
  
  
  WHOIS Lookup
&lt;/h3&gt;

&lt;p&gt;Type a domain, get registration details. Registrar, creation date, expiry, nameservers — the usual, but presented cleanly.&lt;/p&gt;

&lt;h3&gt;
  
  
  DNS Records
&lt;/h3&gt;

&lt;p&gt;View A, AAAA, MX, TXT, CNAME, and NS records at a glance. Invaluable when debugging DNS propagation or verifying configuration changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  SSL Certificate Checker
&lt;/h3&gt;

&lt;p&gt;See certificate details, expiry dates, the full chain, and the issuer. Know exactly when your cert is going to expire before your monitoring catches it (or doesn't).&lt;/p&gt;

&lt;h3&gt;
  
  
  Email Security (SPF/DMARC)
&lt;/h3&gt;

&lt;p&gt;This is the one that's saved me the most time. Check any domain's SPF and DMARC records to troubleshoot email delivery issues. If you've ever spent an afternoon figuring out why emails from your domain land in spam, you know the pain.&lt;/p&gt;

&lt;p&gt;The UI is intentionally simple — Google-inspired, type a domain, pick what you want to check. No clutter.&lt;/p&gt;

&lt;h2&gt;
  
  
  The "Why": Privacy as a Feature
&lt;/h2&gt;

&lt;p&gt;Here's what these tools &lt;strong&gt;don't&lt;/strong&gt; do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ No analytics (not even "privacy-friendly" ones)&lt;/li&gt;
&lt;li&gt;❌ No cookies&lt;/li&gt;
&lt;li&gt;❌ No user accounts&lt;/li&gt;
&lt;li&gt;❌ No ads&lt;/li&gt;
&lt;li&gt;❌ No tracking pixels&lt;/li&gt;
&lt;li&gt;❌ No data selling&lt;/li&gt;
&lt;li&gt;❌ No "sign up for more lookups" gates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's what they &lt;strong&gt;do&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Answer your question&lt;/li&gt;
&lt;li&gt;✅ Fast&lt;/li&gt;
&lt;li&gt;✅ Free&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's the entire product philosophy. A tool should do what it says and get out of the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technical Bits
&lt;/h2&gt;

&lt;p&gt;Both tools are built with &lt;strong&gt;FastAPI&lt;/strong&gt; (Python). I chose it for a few reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Speed&lt;/strong&gt; — async by default, responses in milliseconds&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplicity&lt;/strong&gt; — the codebase stays small and maintainable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API-first&lt;/strong&gt; — FastAPI makes it natural to build the API endpoint first and the web UI second&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The CLI-first philosophy is important to me. MyIP was designed as an API that happens to have a web interface, not the other way around. If &lt;code&gt;curl&lt;/code&gt; can use it, it's doing its job.&lt;/p&gt;

&lt;p&gt;Both services are &lt;strong&gt;hosted in the EU&lt;/strong&gt; (Europe), which means GDPR compliance isn't an afterthought — it's the default. When you don't collect data, privacy regulations are easy.&lt;/p&gt;

&lt;h2&gt;
  
  
  CLI-First Philosophy
&lt;/h2&gt;

&lt;p&gt;There's something elegant about a tool you can use without leaving your terminal. The web UI is nice for quick one-off checks, but the real workflow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Am I behind VPN right now?&lt;/span&gt;
curl &lt;span class="nt"&gt;-s&lt;/span&gt; myip.blunek.services/plain

&lt;span class="c"&gt;# What's the MX for this client's domain?&lt;/span&gt;
&lt;span class="c"&gt;# (use the web UI for this one — it's visual)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I think developer tools should meet developers where they are. And developers are in their terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;These tools are part of &lt;a href="https://blunek.services" rel="noopener noreferrer"&gt;blünek&lt;/a&gt;, where I'm building a suite of developer and infrastructure tools. The philosophy stays the same: useful, fast, private, and as free as possible.&lt;/p&gt;

&lt;p&gt;If you have feedback or ideas for what to build next, I'd genuinely love to hear it. These tools were born from my own frustrations — yours might spark the next one.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🖥️ MyIP: &lt;a href="https://myip.blunek.services" rel="noopener noreferrer"&gt;myip.blunek.services&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔍 WHOIS: &lt;a href="https://whois.blunek.services" rel="noopener noreferrer"&gt;whois.blunek.services&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🏠 blünek: &lt;a href="https://blunek.services" rel="noopener noreferrer"&gt;blunek.services&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>python</category>
      <category>privacy</category>
      <category>tools</category>
    </item>
  </channel>
</rss>
