Skip to content

TsebMagi/Agile

Repository files navigation

Summer '17 FTP Client

An insecure FTP client that currently can connect to an ftp server to upload and download a file.

This project uses Python 3.x and uses the Python Crypto library

SERVER
The only way I have currently made the client upload and download files is by running a twisted server on the PSU server. Anyone can start one of these by getting onto the linux server and using the command:

twistd -n ftp -p 8000 --auth file:pass.dat

The -n keeps the server from being a daemon. If the CAT is ok with us doing that though, we may be able to just make it a daemon and keep it up permanently.

The port can be any high number between 1024 and 65535 that isn't already used.

The password file is a simple text file you have to create on the linux server that has username:password pairs on each line. The username must be a valid user name for the server, since twisted will automatically place you in /home/[username] directory when logging in. The password however, can be anything you want.

By default none of the folders on your home directory on the linux server give you write permissions, so just create a new folder in your /home/[username]/common directory with all permissions (chmod 777 ).

Options: connect <host [port] username password>

  • used to connect to a server

put <filename filename ...>

  • uploads a list of files to the ftp server

get <filename filename ...>

  • downloads a list of files from the ftp server

cd

  • changes the remote directory

rename <local/remote fromFilename toFilename>

  • local fromFilename toFilename will change a local file name
  • remote fromFilename toFilename will change a remote file name

create // TODO

delete <file/folder targetName>

  • deletes file or folder specified by targetName

list remote

  • list remote directory

list local

  • list local directory

save connection

  • saves connection info for current server

show connections

  • show saved connection information

close

  • close connection

quit

  • quit program

help

  • displays helpful instructions

change

  • change permissions on file_name to xxx

About

Github repo for the summer Pdx Agile Class

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages