Fancy Index
Directory listings that don't look like 1994 called.
nginx-module-fancyindex Install
Make sure you have the official nginx.org repository configured first. These packages require nginx from nginx.org, not the distro-bundled version.
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, enable it manually:
$ 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 generates functional but visually unimpressive directory listings. Fancyindex replaces that with a fully configurable output: inject custom HTML headers and footers (local files or upstream-served), apply CSS themes, control column sorting behaviour, configure size display format (bytes vs KB/MB), show or hide dotfiles, adjust symlink display. Header and footer files can reference the current directory path via template variables. Useful for public file mirrors, internal release archives, software distribution endpoints, or anywhere you're sharing files and want it to look like you actually tried.
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 configuration. Adjust to your setup.
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 module replaces libnginx-mod-http-fancyindex from the Sury nginx repository.
The package declares Replaces and Conflicts so apt handles
the swap automatically in one transaction.
# 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
This module is packaged from the upstream open-source project. Bug reports about module behaviour (not packaging) should go upstream.
https://github.com/aperezdc/ngx-fancyindex ↗