This project is a simple Node.js application for documenting IP-related information. It provides a web interface and uses a local JSON file for storage.
The application is intended for internal documentation purposes, small teams, or learning scenarios where a minimal, file-based solution is sufficient.
192.168.0.x. IP addresses in other formats are not supported yet.
The project is built as a small Express.js server that:
- Serves a static frontend from the
public/directory - Persists data in a local
ips.jsonfile - Runs without an external database
- Node.js (ES Modules)
- Express.js
- File-based storage (JSON)
ipdoc/
├── public/ # Static frontend files
│ ├── styles.css # CSS styles
│ ├── index.html # HTML file served by app.js and server.js (frontend)
│ └── app.js # Web application logic
├── ips.json # Data storage
├── server.js # Express server
├── package.json # Project configuration and dependencies
└── package-lock.json # Dependency lock file
- Node.js 18 or newer
- npm
# Install dependencies
npm installThe ips.json file will be generated automaticly.
npm startThe application will be available at:
http://localhost:3000
The port can be changed by configuring an .env file (see Configuration).
- All IP records are stored in
ips.json - Data is automatically normalized before being saved
- No external database is required
Note: This setup is not intended for high concurrency or production-grade persistence.
- Accepts and returns JSON
- Uses a size limit of 1 MB per request
- Provides basic error handling for file operations
Optional environment variables:
PORT=3000- No authentication or authorization
- File-based storage only
- Not suitable for large datasets or concurrent write access
This project is provided under the MIT License.
- Project: ipDoc
- Runtime: Node.js / Express