A Golang server and client to send files over an air-gapped network via a network diode.
File hashes are checked after the file transfer is complete to make sure the data is intact and will alert on the terminal if a file is corrupt.
Usage is as follows:
go run Server.go
By default the server uses port 1234 and stores transferred files to ./ This behaviour can be changed by using the argument -p to change the port and -d to change the receiving directory.
You will need to set a static ARP route so your system knows where to send the file to, this can be done on a Linux terminal like this:
Sending a file:
go run Client.go -f filename
By default the client will send to IP 127.0.0.1 and uses port 1234. This can be changed by the argument -l (lower case L) to change the receiving IP and -p to change the receiving port.