Fancy Index
Directory listings that don't look like 1994 called.
nginx-module-fancyindex Install
You'll need nginx from nginx.org configured first. These packages won't load on the distro nginx.
Add the Blendbyte repository if you haven't already:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://apt.blendbyte.net/nginx/blendbyte-archive-keyring.gpg \
| sudo tee /etc/apt/keyrings/blendbyte.gpg >/dev/null
echo "deb [signed-by=/etc/apt/keyrings/blendbyte.gpg] https://apt.blendbyte.net/nginx $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/blendbyte.list
sudo apt update Then install this module:
$ sudo apt install nginx-module-fancyindex Most modules auto-enable on install. If yours didn't:
$ sudo ln -s /etc/nginx/modules-available/50-mod-fancyindex.conf \
/etc/nginx/modules-enabled/
$ sudo nginx -t && sudo systemctl reload nginx What it does
Nginx's built-in autoindex works, but it looks awful. Fancyindex replaces it with something configurable: custom HTML headers and footers (from local files or an upstream), CSS themes, sortable columns, size display in KB/MB instead of bytes, dotfile control, symlink display. Header and footer files can reference the current directory path via template variables. Good for public file mirrors, internal release archives, download portals, or anywhere you're distributing files and don't want to look like you gave up.
When to use it
- Public file distribution servers with consistent branding
- Internal software release archives with readable layouts
- Download portals with custom headers, footers, and CSS themes
- Asset mirrors that need to look more polished than the default
Configuration
A starting point. Adjust to taste.
location /files/ {
root /var/www;
fancyindex on;
fancyindex_exact_size off; # KB/MB instead of bytes
fancyindex_localtime on; # local timestamps
# Optional custom header/footer HTML files
# fancyindex_header /fancyindex-header.html;
# fancyindex_footer /fancyindex-footer.html;
} Replacing a Sury package?
This replaces libnginx-mod-http-fancyindex from the old Sury nginx repository.
The package declares Replaces and Conflicts so apt handles
the swap in one transaction. No manual cleanup needed.
# If you were using Sury, this upgrades in place:
sudo apt install nginx-module-fancyindex See the full migration guide for the complete Sury-to-Blendbyte migration steps.
Upstream project
We package this from the upstream open-source project. If it's a bug in the module itself (not in our packaging), report it upstream.
https://github.com/aperezdc/ngx-fancyindex ↗