Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌐 NetUtils

⚡ Network Diagnostic Toolkit — Zero Dependencies ⚡

IP Geolocation · DNS Lookup · HTTP Headers · Port Scanner · SSL/TLS Checker

Status Node Vercel License

Zero Dependencies Stars Last Commit Top Language

Features · Getting Started · API Reference · Deploy · Structure · Contributing


📖 Overview

NetUtils is a lightweight, serverless network diagnostic toolkit built entirely on native Node.js modules — no third-party dependencies required. It bundles five essential networking tools behind a clean web UI and a simple JSON API, and deploys to Vercel in minutes.

Tip

Every endpoint returns a consistent { status, message, data } JSON shape, so it's easy to script against or plug into your own dashboard.


✨ Features

Tool Description Endpoint
🌐 IP Info Geolocation, ISP, ASN, proxy/VPN detection GET /api/ip
📡 DNS Lookup A, AAAA, MX, TXT, NS, CNAME, SOA, SRV records GET /api/dns
📋 HTTP Headers Response header analysis, redirect tracking GET /api/headers
🔌 Port Scanner TCP scan, up to 50 ports, 3s timeout GET /api/portscan
🔒 SSL Checker Certificate details, expiry, cipher info GET /api/ssl

🖼️ Screenshots

Dashboard Api docs

🛠️ Tech Stack

Layer Technology
Frontend HTML5 · CSS3 (dark theme) · Vanilla JavaScript
Backend Node.js (built-in dns, net, tls, http modules)
Hosting Vercel Edge Network + Serverless Functions
Dependencies Zero — no npm packages required

🚀 Getting Started

Prerequisites

Run Locally

# Clone the repository
git clone https://github.com/TheyanzXD/ip-track.git
cd ip-track

# Install the Vercel CLI
npm i -g vercel

# Start the local dev server
vercel dev

The app will be available at http://localhost:3000.


📦 Deploy

Option A — Vercel CLI
npm i -g vercel
vercel login
vercel
# Framework Preset: Other
Option B — GitHub Import
  1. Push this repository to your own GitHub account
  2. Go to vercel.com/new
  3. Import the repo
  4. Set Framework Preset to Other
  5. Click Deploy

📡 API Endpoints

All endpoints follow the pattern GET /api/{feature}?data={value} and return JSON in the shape { status, message, data }.

GET /api/ip

/api/ip                  → your own IP info
/api/ip?data=8.8.8.8      → lookup a specific IP
📦 Example response
{
  "status": "success",
  "message": "IP information retrieved",
  "data": {
    "ip": "8.8.8.8",
    "country": "United States",
    "region": "California",
    "city": "Mountain View",
    "isp": "Google LLC",
    "asn": "AS15169",
    "timezone": "America/Los_Angeles",
    "latitude": 37.4056,
    "longitude": -122.0775,
    "proxy": false,
    "hosting": true
  }
}

GET /api/dns

/api/dns?data=example.com          → all records
/api/dns?data=example.com&type=MX  → MX records only
📦 Example response
{
  "status": "success",
  "message": "DNS records retrieved",
  "data": {
    "domain": "example.com",
    "records": {
      "A": ["93.184.216.34"],
      "MX": [{ "exchange": "mail.example.com", "priority": 10 }]
    }
  }
}

GET /api/headers

/api/headers?data=https://example.com

GET /api/portscan

/api/portscan?data=example.com
/api/portscan?data=example.com&ports=80,443,8080

GET /api/ssl

/api/ssl?data=google.com
/api/ssl?data=google.com&port=443

Tip

Full interactive docs are available at /docs once deployed.


📁 Project Structure

📦 ip-track
├── 📄 index.html          # Main application
├── 📄 docs.html           # API documentation
├── 🎨 css/style.css       # Dark theme styles
├── ⚡ js/main.js          # Frontend logic
├── 🖥️ api/
│   ├── ip.js              # IP geolocation
│   ├── dns.js             # DNS records
│   ├── headers.js         # HTTP headers
│   ├── portscan.js        # Port scanner
│   └── ssl.js             # SSL/TLS checker
├── 📦 package.json        # Zero deps
├── ⚙️ vercel.json         # Vercel config
└── 📖 README.md           # This file

🏗️ Architecture

┌─────────────┐     ┌──────────────────┐     ┌─────────────────┐
│   Browser   │────▶│   Vercel Edge    │────▶│   Serverless    │
│  (static)   │     │  (CDN + CORS)    │     │   Functions     │
└─────────────┘     └──────────────────┘     └────────┬────────┘
                                                        │
                    ┌───────────────────────────────────┴────────┐
                    │       Built-in Node.js Modules              │
                    │   ┌─────┐ ┌─────┐ ┌──────┐ ┌──────┐ ┌─────┐ │
                    │   │ dns │ │ net │ │ tls  │ │ http │ │ tls │ │
                    │   └─────┘ └─────┘ └──────┘ └──────┘ └─────┘ │
                    └──────────────────────────────────────────────┘

🤝 Contributing

Contributions are welcome! Here's how to get started:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Important

Please keep the zero-dependency philosophy in mind — new features should rely on native Node.js modules wherever possible.


⚖️ Legal & Privacy

Warning

  • IP Grabber: Shows your own IP or domains you own. Not intended for tracking without consent.
  • Port Scanner: Only scan systems you own or have explicit permission to test.
  • Privacy: Zero data is stored — everything is processed in-memory and discarded after the response.

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


💬 Community

Have a question, found a bug, or want to request a feature?

Issues Pull Requests Star this repo


Made with ❤️ for network diagnostics · by TheyanzXD