diff --git a/README.md b/README.md index 9ca5b68..cf53cde 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # ip2nginx

- + + +

@@ -20,6 +22,8 @@ ## 📚 Table of Contents - [💡 Project Overview](#-project-overview) +- [🏠 What is ip2nginx?](#-what-is-ip2nginx) +- [💡 Example Use Case](#-example-use-case) - [⚙️ Features](#-features) - [📁 Project Structure](#-project-structure) - [🚀 Update Process: update.php](#-remote-update-api-updatephp) @@ -37,6 +41,30 @@ --- +## 🏠 What is ip2nginx? + +ip2nginx is a self-hosted system that allows you to make services running on your home network (like a NAS, internal web apps, or router interface) accessible under your own domain — even if your public IP address changes. + +Unlike third-party solutions like DynDNS, No-IP, or other dynamic DNS providers, this tool gives you full control and privacy by updating your reverse proxy configuration directly, without modifying DNS records or relying on external providers. +How It Works: + + Your home device (e.g. pfSense or another gateway) periodically sends its current public IP to your server via an API request. + + The server updates the reverse proxy configuration (nginx.conf) with the new IP. + + The proxy_pass directive is updated inside the specific location block for the target domain. + + NGINX is reloaded automatically to apply changes. + +--- + +## 💡 Example Use Case + You want to host https://home.example.com and route it to a web interface at your home (like pfSense or a Raspberry Pi), but your IP changes regularly due to your ISP. + + With ip2nginx, the server automatically updates the NGINX reverse proxy so your domain continues working — securely and without dynamic DNS services. + +--- + ## ⚙️ Features - Accepts remote updates via `update.php` using **token-authenticated** requests.