ftu
ftu is a cross platform, Free and Open Source file sending program.
There are countless other file sending programs that maybe do a better job at sending files and directories, maybe they are faster, more intelligent or easier to use - it doesn`t matter, this one is mine, and I love it. It feels great when you use your own tools.
As for features:
-
Feedback
You can see the transfer progress -
Ability to send/receive whole directories
Recursively and not -
ftu will skip files you already have
By comparing SHA256 sums
Installation
From release (Pre-compiled)
- Proceed to releases page
- Choose a version/architecture you have and download an archive
- Unpack an archive
- If on GNU/Linux - run
chmod +x install.sh && sudo ./install.sh
From source (Compile it yourself) (You need Go and git to be installed on your machine)
git clone https://unbewohnte.su:3000/Unbewohnte/ftu.git
cd
into the folder-
If on GNU/Linux - run
make && sudo make install
ormake && chmod +x install.sh && sudo ./install
else -cd
into src/ folder and simply rungo build
; after that you`re free to put the binary wherever you desire
Now you have ftu installed !
Usage
ftu -h
- to print a usage message ftu [FLAGS]
FLAGs
-p [uint] for port
-r [true|false] for recursive sending of a directory
-a [ip_address|domain_name] address to connect to (cannot be used with -s)
-d [path_to_directory] where the files will be downloaded to (cannot be used with -s)
-s [path_to_file|directory] to send it (cannot be used with -a)
-? [true|false] to turn on|off verbose output
-v print version text
-l print license
Examples
ftu -p 89898 -s /home/user/Downloads/someVideo.mp4
creates a node on a non-default port 89898 that will send "someVideo.mp4" to the other node that connects to you
ftu -p 7277 -a 192.168.1.104 -d .
creates a node that will connect to 192.168.1.104:7277 and download served file|directory to the working directory
ftu -p 7277 -a 192.168.1.104 -d /home/user/Downloads/
creates a node that will connect to 192.168.1.104:7277 and download served file|directory to "/home/user/Downloads/"
ftu -s /home/user/homework
creates a node that will send every file in the directory
ftu -r -s /home/user/homework/
creates a node that will send every file in the directory !RECUSRIVELY!
Testing
make test
or in "src" directory go test ./...
ftu in action (v2.2.0)
Known bugs
Bug | Temporary solution |
---|---|
Freezes on one of the ends when dealing with big amounts of files (encountered with a highly nested 17GB directory) |
Run with -? on both receiver and sender |
Printing invalid, not synched transfer info values when encountered already existing file |
No solution yet |