h5ai is a modern file indexer for HTTP web servers with focus on your files. Directories are displayed in a appealing way and browsing them is enhanced by different views, a breadcrumb and a tree overview. Initially h5ai was an acronym for HTML5 Apache Index but now it supports other web servers too.
See the demo directory with most features enabled.
There was a securtiy flaw in versions 0.22.0 - 0.24.1 that was fixed in 0.25.0. If you are still using one of this versions you are advised to upgrade.
Some of the optional features:
- sorting by name, date or size
- different view modes and icon sizes
- localization with lots of languages already included
- breadcrumb and tree view for faster browsing
- custom header and/or footer for each directory
- filter for displayed files and folders
- calculate folder sizes
- auto refresh of folder content
- packaged download of selected content (
- QR codes on hovering files
- thumbnails for images, movies and PDFs
- image and text file preview (including Markdown rendering)
- audio and video preview (depends on browser and codec)
Requires PHP 5.3+
_h5aito the document root directory of the web server and visit
http://YOUR-DOMAIN.TLD/_h5ai/. This page shows some hints on the server's capabilities.
/_h5ai/server/php/index.php(note the leading slash!) to the end of the default index-file list. In this way h5ai will manage all directories that don't have a valid index file.
Examples of the second step for all tested web servers:
Apache httpd 2.2/2.4: in
httpd.confor in any directory's
.htaccessfile set for example:
DirectoryIndex index.html index.php /_h5ai/server/php/index.php
lighttpd 1.4: in
lighttpd.confset for example:
index-file.names += ( "index.html", "index.php", "/_h5ai/server/php/index.php" )
nginx 1.2: in
nginx.confset for example:
index index.html index.php /_h5ai/server/php/index.php;
Cherokee 1.2: in
cherokee.confset for example:
vserver!1!directory_index = index.html,index.php,/_h5ai/server/php/index.php
The main configuration file is
_h5ai/conf/options.json. You might want to
change some of the documented settings. But there are some more files in the
_h5ai/conf folder you might have a look at.
Please note that h5ai does not work with aliased folders in general (as
available in Apache httpd). Aliased folders make it impossible to map URLs to
file system folders. Actually any web server specific things aren't
supported. That includes access restrictions! Best chance to make restricted
areas work and secure might be to place folder
_h5ai completely inside that
resticted area. Use it at your own risk.
if no icons are displayed, chances are that you have to add the SVG MIME-type to your server
on Ubuntu servers you might need to install an additional package for PHP JSON support
It's possible to install h5ai into any sub directory of your web server's document root directory. This directory will then be considered the root directory when indexing your files.
For example copy folder
[DOC_ROOT]/some/folder/_h5ai and then
http://YOUR-DOMAIN.TLD/some/folder/_h5ai/ to see if everything
works fine. This page will show you what additional index file entry you have
to add to your default index file list (as in step 2 above). For this example
that would be