Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sixem/ivfi-node
IVFi is a directory indexer written in Node that aims to make it easy to browse and explore web-accessible directories.
https://github.com/sixem/ivfi-node
browser directory-browser directory-lister express files gallery indexer nodejs
Last synced: about 1 month ago
JSON representation
IVFi is a directory indexer written in Node that aims to make it easy to browse and explore web-accessible directories.
- Host: GitHub
- URL: https://github.com/sixem/ivfi-node
- Owner: sixem
- License: other
- Created: 2020-07-28T03:07:14.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-18T04:45:07.000Z (4 months ago)
- Last Synced: 2024-12-13T20:38:31.100Z (about 1 month ago)
- Topics: browser, directory-browser, directory-lister, express, files, gallery, indexer, nodejs
- Language: TypeScript
- Homepage: https://git.five.sh/ivfi/
- Size: 1.13 MB
- Stars: 35
- Watchers: 2
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
IVFi-Node
The image and video friendly indexer
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 :zap:
### Install via npm
```shell
npm install ivfi
```## Usage
Import (or require) package:
```js
import ivfi from 'ivfi';
```
Basic initialization example:
```js
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](https://ivfi.io/docs/node/#/configuration).
# Development
Clone the repository and install the required `npm` packages:
```shell
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:
```js
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:
```bash
npm run compile:development
```
Start the server:
```js
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:
```bash
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/](https://ivfi.io/)
## Disclaimer
As always, use this script at your own risk. There may exist bugs that i do not know of.