Skip to content

The FTP GUI project is a versatile file transfer application that enables users to securely exchange files over a network using the File Transfer Protocol (FTP). With intuitive server and client functionalities, this project offers a user-friendly interface for seamless file management and transfer tasks.

License

Notifications You must be signed in to change notification settings

AyhamAsfoor/FTP-GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FTP GUI Project

License GitHub top language Code Size GitHub issues

Description:

The FTP GUI project is a versatile file transfer application that enables users to securely exchange files over a network using the File Transfer Protocol (FTP). This project offers server and client functionalities, allowing users to establish connections, and upload, download, and manage files seamlessly.

Key Features:

  1. Server and Client Capabilities: The application supports both server and client modes, enabling users to set up their own FTP server or connect to existing servers.

  2. Graphical User Interface (GUI): With an intuitive GUI, users can interact with the application effortlessly, making file management and transfer tasks straightforward.

  3. Secure File Transfer: Utilizing FTP protocols, the project ensures secure and reliable file transfers, protecting data integrity during transmission.

  4. Multi-Platform Compatibility: Designed to run on various operating systems, including Windows, macOS, and Linux, this project offers flexibility and accessibility to users across different platforms.

  5. Real-time Logging: The application provides real-time logging of server activities and client interactions, offering transparency and insight into file transfer operations.

  6. Error Handling and Recovery: Robust error handling mechanisms are implemented to detect and address any issues that may arise during file transfer, ensuring smooth operation and preventing data loss.

  7. Customizable Settings: Users have the option to customize server configurations, network settings, and user permissions according to their specific requirements.

Usage:

  1. Setting Up the Server: Users can configure the FTP server by specifying host settings, port numbers, and access permissions.

  2. Connecting as a Client: Clients can connect to the server by providing the server's IP address, port number, and authentication credentials.

  3. Uploading and Downloading Files: Both server and client users can seamlessly upload files from their local system to the server or download files from the server to their local system.

  4. Managing Files: Users can perform various file management tasks such as renaming, deleting, moving, and organizing files and directories within the FTP server environment.

Requirements:

  1. Python 3.x
  2. Tkinter
  3. tqdm
  4. web-browser
  5. pillow
  6. tkinter
  7. customtkinter
  8. threading
  9. os
  10. socket
  11. itertools

Clone the repository:

git clone https://github.com/AyhamAsfoor/FTP-GUI.git

Install the required dependencies:

pip install -r requirements.txt

Screenshots:

- Client Side (Dark Mode):

GUI-1 GUI-2 GUI-3 GUI-4

- Client Side (Light Mode):

GUI-11 GUI-12 GUI-13 GUI-14

- Server Side:

GUI-S1

Tip

Follow the instructions in the How to Use section of the README to install dependencies and execute the FTP-GUI.

Important

If you have any issues, please don't be shy to get in touch with me, Feedback and suggestions for improving the project are highly appreciated

License:

This project is open-source and released under the Apache License 2.0. Users should review the license terms before using or modifying the software. The Apache License 2.0 provides users with the freedom to use, modify, distribute, and sublicense the software, while also providing patent protection and requiring contributors to maintain copyright notices. For more details, please refer to the LICENSE file included with the project or visit the Apache License 2.0 website.

Support Us 🥤:

Buy Me a Coffee

About

The FTP GUI project is a versatile file transfer application that enables users to securely exchange files over a network using the File Transfer Protocol (FTP). With intuitive server and client functionalities, this project offers a user-friendly interface for seamless file management and transfer tasks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages