Skip to content

🚀 Distributed FTP system built for multi-node environments where concurrency, fault tolerance, and seamless file synchronization are non-negotiable. Designed as part of a Distributed Systems course, it showcases scalable architecture, robust validation, and efficient data flow—because file transfers should be smart, not just fast.

Notifications You must be signed in to change notification settings

Javi111003/FTP-Distributed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📡 FTP-Distributed

Distributed FTP system for multi-node environments, built as part of a Distributed Systems course.
Implements core FTP functionalities based on RFC 959, with a modular client-server architecture designed for concurrency, fault tolerance, and scalable file synchronization.


🚀 Overview

FTP-Distributed is a Python-based implementation of a distributed FTP protocol. It features:

  • 🖥️ FTP Server: Handles client connections, authentication, and file operations (upload/download/list).
  • 📦 FTP Client: Connects to the server, sends commands, and manages local file interactions.
  • 🔁 RFC 959 Compliance: Implements standard FTP commands and control/data channel separation.
  • 🌐 (Experimental)Distributed Design: Built to support multi-node deployment and concurrent sessions.

🧩 Architecture

+-------------+       Control Channel       +-------------+
|  FTP Client | <-------------------------> |  FTP Server |
+-------------+                            +-------------+
       |                                          |
       |-------> Data Channel (File Transfer) ----|
  • Control Channel: Manages command exchange (e.g., USER, PASS, LIST, RETR, STOR).

  • Data Channel: Handles actual file transfer operations, separated per RFC 959.

About

🚀 Distributed FTP system built for multi-node environments where concurrency, fault tolerance, and seamless file synchronization are non-negotiable. Designed as part of a Distributed Systems course, it showcases scalable architecture, robust validation, and efficient data flow—because file transfers should be smart, not just fast.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published