Overview
Discover what makes MyIP powerful
MyIP is a self‑hosted, full‑stack web application that consolidates a broad range of network diagnostics and IP‑related tooling into a single, responsive interface. Built with modern web technologies, it exposes both an interactive UI and a set of RESTful endpoints that allow developers to embed IP intelligence into their own services. The application is designed to run in any containerized environment or as a native binary, making it ideal for integration into CI/CD pipelines, internal dashboards, or edge‑computing nodes.
IP Discovery & Metadata
Network Diagnostics
Security & Privacy Tools
Extensibility
Overview
MyIP is a self‑hosted, full‑stack web application that consolidates a broad range of network diagnostics and IP‑related tooling into a single, responsive interface. Built with modern web technologies, it exposes both an interactive UI and a set of RESTful endpoints that allow developers to embed IP intelligence into their own services. The application is designed to run in any containerized environment or as a native binary, making it ideal for integration into CI/CD pipelines, internal dashboards, or edge‑computing nodes.
Key Features & Core Capabilities
- IP Discovery & Metadata: Aggregates public IPs from multiple providers, enriches them with ASN, geolocation, and ISP data via third‑party APIs (e.g., ipinfo.io), and exposes the results through a
/api/ipendpoint. - Network Diagnostics: Implements latency, traceroute (MTR), and DNS resolution tests against a configurable list of edge servers. These operations are orchestrated by lightweight Go workers that run asynchronously and return JSON payloads to the frontend.
- Security & Privacy Tools: Includes WebRTC leak detection, DNS‑leak testing, and a comprehensive cybersecurity checklist (258 items) that can be queried programmatically.
- Extensibility: Supports custom plug‑ins through a simple Node.js hook system, allowing developers to inject additional data sources or transform responses before they reach the client.
- PWA & Dark Mode: The single‑page application is built with Vue 3 and Vite, leveraging Service Workers for offline support and system‑wide theme detection.
Technical Stack & Architecture
- Backend: Go 1.22 (Gin‑based HTTP server) handles API routing, background task scheduling, and data aggregation. Go’s concurrency model keeps latency low even when performing multiple network probes concurrently.
- Frontend: Vue 3 + Pinia for state management, Vite as the build tool. The UI is highly modular, with each diagnostic feature encapsulated in a reusable component.
- Data Layer: Relies on an in‑memory cache (Go’s
sync.Map) for transient probe results; persistent storage is optional and can be swapped with PostgreSQL or SQLite if long‑term analytics are required. - Containerization: Dockerfile is minimal, exposing port
8080. The image is built on Alpine Linux and supports multi‑stage builds to keep the runtime footprint below 60 MB.
Deployment & Infrastructure
- Self‑Hosting: A single container is sufficient; expose the port via a reverse proxy (NGINX, Traefik) to add TLS termination and HTTP/2 support. The application can also be run directly on bare metal or within Kubernetes as a Deployment with a ConfigMap for provider endpoints.
- Scalability: Horizontal scaling is straightforward; each instance can be load‑balanced behind a CDN. Since the backend is stateless apart from cache, multiple replicas can share a Redis instance for coordinated caching if desired.
- Resource Footprint: Under typical load, CPU usage stays below 5 % and memory under 128 MiB on a standard cloud VM, making it suitable for low‑cost edge nodes.
Integration & Extensibility
- APIs: Exposes REST endpoints (
/api/ip,/api/diagnostics/*) that return JSON. The API is documented with OpenAPI annotations, enabling automatic client generation in TypeScript or Go. - Webhooks: Developers can register webhook URLs to receive push notifications when a probe fails or when new IP data is available.
- Plugin System: The Node.js hook framework allows third‑party modules to register new diagnostic steps or data enrichments without modifying core code. Plugins are isolated in separate NPM packages and can be added via a simple
npm installcommand. - Customization: Theme, language, and feature flags can be toggled via a configuration file (
config.yaml) or environment variables, giving full control over the user experience.
Developer Experience
- Documentation: The README and accompanying
docs/folder provide clear API examples, architecture diagrams, and deployment guides. Inline comments in the Go source make it easy to trace request handling. - Community & Support: The project is listed on Awesome Self‑Hosted and has an active GitHub Discussions thread for feature requests and bug reports. Licensing under MIT ensures no vendor lock‑in.
- Testing: Includes unit tests for core logic and integration tests that spin up a test container, ensuring regressions are caught early.
Use Cases
- DevOps Dashboards: Embed the IP and network diagnostics widgets into Prometheus or Grafana dashboards to monitor internal VPN health.
- Compliance Audits: Use the DNS‑leak and WebRTC tests to verify that corporate networks meet privacy standards before onboarding new users.
- Edge Deployment: Run MyIP on a Raspberry Pi at the network edge to provide local users with instant latency and connectivity diagnostics without exposing them to external services.
- Security Operations: Automate the cybersecurity checklist as part of a nightly scan pipeline, flagging missing hardening steps before they become vulnerabilities.
Advantages Over Alternatives
- Unified Toolset: Unlike standalone utilities (e.g.,
mtr,dnsleaktest.com), MyIP bundles all diagnostics into a single, self‑hosted service. - Performance: Go’s compiled binaries and concurrency model deliver sub‑second latency for most probes, outperforming many JavaScript‑only solutions.
Open SourceReady to get started?
Join the community and start self-hosting MyIP today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Kuvasz
Open‑source uptime & SSL monitoring with status pages
ghstats
Self-hosted data-analysis
ThingsBoard
Open‑source IoT platform for device management and real‑time data visualization
Open Source Point of Sale
Web‑based POS with inventory, invoicing and multi‑currency support
ILIAS
Open Source LMS for schools, universities and enterprises
wallabag
Save web pages for distraction‑free reading anytime, anywhere
