Skip to content

IVFi is a directory indexer written in Node 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-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6f705d9 · Apr 13, 2024
Mar 3, 2023
Mar 3, 2023
Mar 3, 2023
Dec 13, 2022
Dec 13, 2022
Dec 13, 2022
Dec 13, 2022
Dec 13, 2022
Dec 13, 2022
Dec 13, 2022
Dec 13, 2022
Apr 13, 2024
Dec 13, 2022
Jan 29, 2023
Feb 28, 2023
Feb 28, 2023
Dec 13, 2022
Mar 3, 2023
Dec 13, 2022
Dec 13, 2022

Repository files navigation




IVFi-Node

The image and video friendly indexer


npm Travis (.com)


Demo   Documentation   Configuration   Building


About

IVFi-Node is a file directory browser script made in Node 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 ⚡

Install via npm

npm install ivfi

Usage

Import (or require) package:

import ivfi from 'ivfi';

Basic initialization example:

const port = 3000;
const directory = '/var/www/html/';
const options = {};
    
(async () =>
{
    /** Start server */
    const server = await ivfi.run(port, directory, options);
})();

This will spin up a webserver on http://localhost:3000/ with the path set to /var/www/html/.

A documentation of the available options can be found here.

Development

Clone the repository and install the required npm packages:

git clone https://github.com/sixem/ivfi-node
cd ivfi-node
npm install

Create a run.ts file with a simple initialization of the script:

import ivfi from './src/index';

const port = 3000;
const directory = '/var/www/html/';

const server = ivfi(__dirname);

server.run(port, directory, {
	debug: true
});

Build the dist files that are used on the client side:

npm run compile:development

Start the server:

node --loader ts-node/esm run.ts

Any changes made to the client side code, will require a recompiled dist directory, while any changes made to the server side code will simply require a restart of the server.

Building

To package the project:

npm run transpile:pack

This will create a new directory with the packaged script.

Other Projects

This is a Node version of the image and video friendly indexer (IVFi).

For other non-node versions, see: https://ivfi.io/

Disclaimer

As always, use this script at your own risk. There may exist bugs that i do not know of.