Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hykilpikonna/meowindex
Modern Drop-in Replacement for Nginx AutoIndex / FancyIndex!
https://github.com/hykilpikonna/meowindex
autoindex fancyindex nginx
Last synced: 3 months ago
JSON representation
Modern Drop-in Replacement for Nginx AutoIndex / FancyIndex!
- Host: GitHub
- URL: https://github.com/hykilpikonna/meowindex
- Owner: hykilpikonna
- License: mit
- Created: 2023-02-11T22:29:35.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-21T07:06:14.000Z (about 1 year ago)
- Last Synced: 2023-12-21T09:41:36.510Z (about 1 year ago)
- Topics: autoindex, fancyindex, nginx
- Language: Rust
- Homepage:
- Size: 682 KB
- Stars: 11
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MeowIndex
A cute, feature-rich file listing module to replace nginx's autoindex / fancyindex.
![image](https://user-images.githubusercontent.com/22280294/219513952-736182cb-a38a-4a49-b9ea-f9160399987c.png)
## Demo
* HyDEV ArchLinux Repo: https://arch.hydev.org/
* HyDEV Backup CDN: https://cdn.hydev.org/backup/## Features
* [x] List files
* [x] Show file icons
* [x] Clickable, length-safe breadcrumb path
* [x] Fix mobile view
* [x] Infinite-scroll
* [x] Search
* [x] Show 404 page**Features requiring a backend**
* [x] Show image/video previews
* [x] Use file binary to determine mime type**TODO**
* [ ] Play videos
## How to use
### 1. Installation
You can install from source by cloning the repository:
```sh
cd /etc/nginx
git clone https://github.com/hykilpikonna/MeowIndex
cd MeowIndex
yarn install
yarn build
```To update, simply do `git pull` and `yarn build` in the same directory.
### 2. Setup File Listing in Nginx
This module uses the json file listing api in nginx. If you already have an autoindex file server set up, you can make the following changes. If you're new to nginx, you can check out our [example configs](docs/examples).
The following example serves `/data/file-server` on http path `/`
```nginx
# ...
server_name your.domain.com;set $title "Meow Index";
set $dir_path /data/file-server;
include "/etc/nginx/MeowIndex/docs/nginx.conf";location / {
try_files $uri $uri/index.html /__meowindex__/index.html;
}
```## Advanced Usage
TODO