Skip to content

pooja-premnath/UCS2501-Computer-Networks-FTP-Server-Mini-Project

Repository files navigation

UCS2501-Computer Networks-Team 2-Establishing a Home PC Server: Enabling Remote File Retrieval via FTP

This project demonstrates the creation of a FTP server on one's home PC, and allows users across the Internet to retrieve files from it.

This project aims to address the challenges of establishing a secure FTP server in network environments with restrictions on NAT, port forwarding, and firewall configurations. Leveraging Python for server-side scripting and ngrok for secure external access, the project offers a solution that bypasses traditional obstacles. The accompanying front-end, built with HTML, JavaScript, jQuery, and AJAX, provides a user-friendly interface for seamless interaction.

Authors

Tech Stack

Client: HTML, JavaScript, JQuery, TailwindCSS

Server: Python3

System Configuration

If you're using a Windows PC, it is necessary to make some changes to enable FTP on your PC.

Enabling FTP: To enable FTP on a Windows system, one must do the following: First, navigate to the "Control Panel" and select "Programs and Features." From there, choose "Turn Windows features on or off" and locate "Internet Information Services." Expand the "FTP Server" option, check "FTP Extensibility" and "FTP Service," and proceed with the installation. Once installed, configure FTP settings within IIS, specifying authentication methods and access permissions for enhanced security. This integration allows for the seamless utilization of FTP protocols, transforming the Windows machine into an FTP server.

image

Circumventing Firewalls: When dealing with rigid firewall settings, it might be necessary to temporarily disable or adjust the firewall to facilitate smooth communication. In Windows, access the "Control Panel" and navigate to "System and Security" and then "Windows Defender Firewall." Here, one can either create specific inbound rules to permit FTP traffic on the designated port or, in situations where FTP access is impeded, temporarily disable the firewall for testing purposes.

image

Installation

Download Ngrok for Windows/MacOs/Linux

Ngrok Download

Run Locally

Clone the project

  git clone https://github.com/PoojaPremnath2003/NetworksProject_TeamNo2

Go to the project directory where the FTP server Python file is present

  cd ..\Simple_FTP_Server

Start the server

  python ftpserver.py

Run Ngrok by clicking on the Application file downloaded

Establish a connection with Ngrok, using the port number specified in the code

  ngrok tcp 1515 

Copy the link created in the Ngrok terminal into a web browser

  http://0.tcp.in.ngrok.io:12584

Usage/Examples

Run Python script to start the server
image

Initialize and begin an Ngrok session
image

Server Administrator Login
image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published