aperezdc/ngx-fancyindex logo

aperezdc/ngx-fancyindex

Free

Fancy indexes module for the Nginx web server

FreeFree tier
Type
Open Source

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.