Skip to content

AnEntrypoint/NHFS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📂 NHFS (Next-HTTP-File-Server)

A sleek and sexy file manager built with Next.js and HeroUI. Originally created as my CS50x final project , now evolving into a long-term side project. Community pull requests are welcome.

Screenshot 2025-08-10 165040

Warning

NHFS Is Still In Development — Features are not well tested and may crash.

Demo

NHFS-Demo.mp4

✨ Features — Ready ✅

  • Preview Files — Videos, Images, and Audio
  • File Info — Size, Path, and Date, etc.
  • File Uploads — With drag & drop support
  • Create, Delete, Move, Rename, and Copy files directly on the server

🚀 Usage:

npx nhfs

CLI Options

  • --port, -p — Server port (default: 3000)
  • --dir, -d — Base directory to serve (default: current working directory)
  • --hostname, -h — Hostname (default: localhost)

Example:

npx nhfs -p 8080 -d ./files -h 0.0.0.0

🗺 Roadmap

Core Features

  • Authentication (user login & permissions)
  • Secure File Operations — e.g., secure delete, move, copy
  • Search Files

File Handling

  • Text Preview + Syntax Highlighting 🎨
  • Multiple File Selection
  • Folder Size in Info
  • File Icons by Type
  • Download Directory as ZIP

Upload/Download Enhancements

  • Resumable Uploads
  • Resumable Downloads

📂 Tech Stack

  • Next.js 15 (App Router)
  • HeroUI (UI components)
  • React Dropzone (drag-and-drop)
  • TypeScript
  • Node.js / Express-style API routes for backend logic

Warning

Windows support is not tested yet. If you are on Windows, use WSL.


🧪 Testing Locally (Manual Setup)

Note

Requirements:

  • Node.js version >=18.18.0
  • Linux 🐧 or macOS 🍎

1️⃣ Clone the repository

git clone https://github.com/AnEntrypoint/NHFS.git
cd NHFS

2️⃣ Install dependencies

npm install

3️⃣ Configure environment

Edit .env to set the base directory. If not configured, the current working directory will be served.

4️⃣ Start the server

npm start

🤝 Contributing

See the Contributing Guide.

Note

Life’s a little packed for me right now — I’m balancing a busy schedule and a few other projects. I still care about this one and will check in when I can, but updates might be a bit slower. Thanks for your patience and for giving it a try! 💛


📜 License

This project is licensed under the MIT License. See LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5