Skip to content

devkumar2121/ftp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📁 Network File Server

A lightweight local network file server built with Node.js and Express that lets you upload, browse, and download files between devices on the same network using their IP addresses — no FTP client needed, just a web browser.


Features

  • 📤 Upload files from any device on the same network
  • 📥 Download files directly via browser
  • 🌐 Web-based UI — no software installation required on the client side
  • 🔍 Lists all available files with size and last modified date
  • 📡 Accessible via local IP address from any device on the LAN

Prerequisites


Installation

  1. Clone or download this project to your machine.

  2. Install dependencies:

    npm install

Usage

  1. Start the server:

    node server.js
  2. The terminal will display the server addresses:

    =====================================
    Network File Server Started!
    =====================================
    Local access:   http://localhost:3000
    Network access: http://192.168.x.x:3000
    =====================================
    
  3. Access the server:

    • On the same machine: open http://localhost:3000 in your browser.
    • On another device (phone, laptop, etc.) on the same Wi-Fi/network: open http://<server-IP>:3000 in a browser.
  4. Transfer files:

    • Use the Upload section to send a file to the server.
    • Use the Download button next to any file to receive it.

Project Structure

ftp-server/
├── server.js        # Main server file
├── package.json     # Project metadata and dependencies
└── uploads/         # Directory where uploaded files are stored (auto-created)

API Endpoints

Method Endpoint Description
GET / Serves the web interface
POST /upload Upload a file
GET /list Returns list of files (JSON)
GET /download/:filename Download a specific file

Dependencies

Package Version Purpose
express ^5.2.1 Web server framework
multer ^2.0.2 Handling multipart file uploads

Configuration

You can change these values at the top of server.js:

Variable Default Description
PORT 3000 Port the server listens on
UPLOAD_DIR ./uploads Folder where files are saved

Notes

  • Both devices must be on the same local network (same Wi-Fi or LAN).
  • Uploaded files are saved with their original filenames. Uploading a file with the same name will overwrite the existing one.
  • This server has no authentication. Do not expose it to the public internet.

About

Transfer the between any systems on the basis of thier ip's.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors