Internet file transfer command
Solution 1:
A very simple tool which handles the ”not knowing IPs” situation seamlessly (uses temporary passwords for transfer authentication) and gzips the transfer is portal.
(NOTE: I wrote this!)
How to use it
Alice wants to send <folder1>
and <file.txt>
to Bob, who can be behind the same NAT for direct transfer or anywhere on the internet for relayed transfer. Portal will use direct transfer if it's possible.
Alice initializes the file transfer by executing the following in her shell:
portal send <folder1> <file.txt>
This outputs a temporary password, which Alice communicates to Bob via some other secure channel.
# the output of the send command, use this password to receive the files
> 1-supernova-gamma-ray
Bob executes the following command to receive folder1
and file.txt
:
portal receive 1-supernova-gamma-ray
The file transfer will now begin!
Pros
- e2e encryption
- fast gzip (de)compression
- simple protocol aids transfer speed
- handles folders of any sort and depth
- direct communication if ports are open or behind same NAT
Cons
- does not do NAT traversal so transfer goes through a relay if direct communication cannot be established
- it's a new tool so it is untried in different systems and might have weird bugs