aperezdc/ngx-fancyindex
FreeFancy indexes module for the Nginx web server
FreeFree tier
About aperezdc/ngx-fancyindex
The Fancy Index module makes possible the generation of file listings, like the built-in autoindex module does, but adding a touch of style. This is possible because the module allows a certain degree of customization of the generated content: custom headers (either local or stored remotely), custom footers (either local or stored remotely), custom CSS style rules, and sorting elements by name (default), modification time, or size, both ascending (default) or descending. It is designed to work with Nginx, a high performance open source web server.
Key Features
Custom headers (local or remote)
Custom footers (local or remote)
Custom CSS style rules
Sorting by name, modification time, or size (ascending/descending)
Configurable time format
Option to show exact file sizes
Option to show path
Option to hide parent directory, dotfiles, symlinks
Support for case-sensitive sorting
Directories first sorting option
Pros & Cons
Pros
- Highly customizable compared to default Nginx autoindex module
- Supports both local and remote headers/footers
- Multiple sorting options (name, time, size; ascending/descending)
- Easy to integrate with existing Nginx configuration via dynamic modules
- Open source and free to use
- Active community with 940 stars on GitHub
Cons
- Requires compilation of Nginx with the module or installation of a dynamic module
- Header/footer features require ngx_http_addition_module to be built into Nginx
- Limited documentation for advanced customization scenarios
Best For
Enhancing file directory listings on Nginx web servers with custom stylingCreating branded or themed file download pagesOrganizing and presenting files with flexible sorting and display optionsReplacing default Nginx autoindex with a more feature-rich module
FAQ
What is ngx-fancyindex?
It is a module for Nginx that enhances directory listings with custom headers, footers, CSS styling, and sorting options.
How to install ngx-fancyindex on CentOS/RHEL/Fedora?
Install the extra packages repository from getpagespeed.com, then run 'yum -y install nginx-module-fancyindex' and load the module in nginx.conf.
How to build ngx-fancyindex from source?
Unpack Nginx sources and the module source, run './configure' with '--add-module=../nginx-fancyindex-?.?.?' and optionally '--with-http_addition_module', then 'make' and 'make install'.
What directives does ngx-fancyindex support?
Directives include fancyindex, fancyindex_default_sort, fancyindex_case_sensitive, fancyindex_directories_first, fancyindex_css_href, fancyindex_exact_size, fancyindex_footer, fancyindex_header, fancyindex_show_path, fancyindex_show_dotfiles, fancyindex_ignore, fancyindex_hide_symlinks, fancyindex_hide_parent_dir, fancyindex_localtime, and fancyindex_time_format.