A lightweight, dual-pane file browser for Node.js that makes comparing and navigating local directories a breeze. Built with vanilla JavaScript and Node.js — no build tools, no frameworks, just pure simplicity.
- Dual-Pane Interface — Side-by-side file browsing and comparison
- Gitignore Support — Automatically respects
.gitignorepatterns - Custom Ignore Rules — Configure
.syncignorefor project-specific filtering - Real-time File Operations — Read, compare, and navigate files on the fly
- Dark Mode UI — Built with a VS Code-inspired dark theme
- Zero Dependencies — Pure Node.js and browser APIs
Clone the repository and you're ready to go. No npm install required.
git clone <repository-url>
cd file-browser-nodeStart the server:
node server.js [directory]By default, the server serves the current working directory on port 3000. You can specify a custom directory as an argument.
| Variable | Description | Default |
|---|---|---|
PORT |
Server port | 3000 |
SYNC_TOKEN |
Optional authentication token for sync operations | "" |
The browser respects the following ignore patterns (in order of precedence):
- Default ignores:
.git/,node_modules/,.DS_Store .gitignorepatterns in the served directory.syncignorepatterns in the served directory
Ignore patterns follow standard glob syntax:
*.log— ignores all.logfilesbuild/— ignores the entirebuilddirectory*.min.js— ignores minified JavaScript files
GET /— Main file browser interfaceGET /api/files— List files with filteringGET /api/file— Read file contentsPOST /api/compare— Compare multiple files
The project is intentionally simple and straightforward:
server.js— Node.js HTTP server with file operationsindex.html— Single-page frontend application
MIT
