A secure file transfer tool built in Go that uses TCP with AES-GCM encryption.
- Secure file transfer using TCP
- AES-GCM encryption for data security
- Simple command-line interface
- Support for large files
- Automatic key generation for server
- Make sure you have Go 1.21 or later installed
- Clone this repository
- Run
go mod downloadto install dependencies
go run main.go -mode server -port 8080The server will start and display an encryption key. You'll need this key for the client.
go run main.go -mode client -port 8080 -file path/to/your/file -key <encryption-key>Replace <encryption-key> with the key displayed by the server.
- Start the server:
go run main.go -mode server -port 8080- In another terminal, send a file:
go run main.go -mode client -port 8080 -file test.txt -key <key-from-server>The file will be received in the received directory on the server side.
-
Uses AES-GCM encryption for secure file transfer
-
Each server instance generates a unique encryption key
-
The key must be shared securely between server and client
MIT

