Remote File Transfer between two systems written in Golang. Built with the usage of net library, this program enables file transfer between two systems seamless.
Current Features:
- Support for multiple clients on the same server with usage of go routines and mutexes for synchronization.
- Progress Bar for representing file transfer process.
- Additional handshakes introduced for verification between the client and server pair.
- The application makes use of the ports 4242 and 4243 for control and data transfer respectively.
- Boot up the server along with one extra CLI argument which acts as the root directory.
go run server.go D:/
- Boot up the server along with one extra CLI argument which acts as the ip address of the running server.
go run client.go 127.0.0.1
- This will give you access to the root directory of the server.
-
ls: works pretty much equivalent to the linux ls command
ls {path}
-
cd: equivalent to the change directory linux command.
cd path
- cp: used for downloading and uploading.
cd server_path client_path {-u}
. Takes in an option -u flag to denote enable uploads.