Skip to content
/ ivfi-php Public

IVFi is a directory indexer that aims to make it easy to browse and explore web-accessible directories.

License

Notifications You must be signed in to change notification settings

sixem/ivfi-php

Repository files navigation




IVFi-PHP

The image and video friendly indexer


GitHub releases GitHub issues GitHub repo size Build


Demo   Documentation   Configuration   Building


About

IVFi-PHP is a file directory browser script made in PHP and TypeScript.

It is designed to be a comprehensive indexer, with a focus on efficiently handling image and video files. IVFi has a modern and user-friendly interface, offering features such as a gallery view, hoverable previews, and many customization options.

This project can be easily set up on most web servers.


Quick setup ⚡

  • Download the latest release here.
  • Place the /build/ files into your web root. For example /var/www/html/.
  • Then, use the indexer.php as an index file for any of the directories where the script should be used:

Nginx - Example using the index directive:

server {
        index index.html index.php /indexer.php;
}

Apache - Example using the DirectoryIndex directive:

DirectoryIndex index.html index.php /indexer.php

For detailed instructions on how to configure the script, refer to setup.

The releases and individual builds are available here.


Features

Authentication

It includes support for HTTP authentication, providing some added security for your directories.

Gallery Mode

A gallery mode that allows you to view images and videos from the current directory in one place, as well as the ability to download files and perform reverse image searches.

Hover Previews

An image or video preview is displayed when hovering over the file name.

Search Filter

The filter function allows you to search for specific filenames or file types within the directory.

Usage (Desktop): Shift + F.

Single file

The script can be configured as a standalone solution, where all required assets are combined into a single file, making it easy to use with just one file needed.

Customizable

This script offers multiple customization options.

Additonal Features

It can be built with added functionality, such as the ability to display README.md files in each directory!


And much more ...

  • 🕛 The dates will be adjusted to match the time zone of the client.
  • ↕️ Client-defined sorting preferences are stored persistently.
  • 🎨 Support for custom themes.
  • 🔍 Server-side filtering which can help you hide specific files or folders.
  • 🔗 Navigating between folders is made easy with the clickable paths.
  • ⚙️ The client has the option to personalize their settings through the menu.
  • 📥 Direct download links for all files.
  • 🖥️ Compatible with both mobile and desktop devices.

Feedback

If you have come across any specific problems or bugs that you would like to report, you have the option to open an issue. This will allow us to better understand the issue at hand and take the necessary steps to resolve it.

Alternatively, if you have any general questions, minor issues, or ideas for improvements that you would like to discuss, you can start a discussion. This is a good way for you to share your thoughts and ideas with us, and we would be more than happy to listen and consider them.


License

This project is licensed under GPL-3.0. It also includes external libraries that are available under a variety of licenses.

See LICENSE for the full license text.

Disclaimer

As with anything else, use this script at your own risk. There could exist bugs that I do not know of ✌️