This is an AJAX file browser that uses an nginx autoindex configured in JSON mode, as well as a streaming client-side search engine that uses an index downloaded from the server.
See my blog post for more details on the design.
To run a demo of astralbrowser with a sample file tree:
If you have Nix installed, enter the development shell to get all required dependencies:
nix-shell
make demoEnsure you have Node.js (v20+) and nginx installed, then:
make demoThis will:
- Compile the JavaScript application
- Start nginx on port 8080 (non-root, HTTP only) with JSON autoindex enabled
- Serve the application at http://localhost:8080/
- Serve a demo file tree at http://localhost:8080/demotree/
The nginx server runs in non-daemon mode, so press Ctrl+C to stop it.