Shoit is **Super High Output ** . A toolkit for High Performance Data transmission
Shoit is a toolkit for High Performance Data transmission. It is protocol specifically
designed to move very large datas.
Shoit goal is move very large datas over high-speed networks - on the order of gigabits per second.
Shoit include receiver and sender.
[ shoit sender] ---- [ wide area high-speed networks ] --- [shoit receiver]
How to high-speed move data?
The first is to keep the network pipe as full as possible during bulk data transfer.
The second goal is to avoid TCP’s per-packet interaction so that acknowledgments are not sent per window
of transmitted data, but aggregated and delivered at the end of a transmission phase.
- Runs on UDP.
- Supports big file and data stream transfer
- Works on Linux.
git clone https://github.com/pencode-lab/Shoit.git
$cd Shoit
$make
./sendfile 12g.data ticket -w 1000000
-w 1000000 specifies the bind width is 1000000 Kbits
more options run ./sendfile -h
tar cf - | ./sendstream [password] [options]
-
./recvfile [sender host] [password]
-
./recvstream [sender host] [password] | tar xvpf -
Sender Options:
-w specifies the bind width(default 100Mbits: 100000)
-l specifies the packet size (default: MTU)
-s specifies the bind ip or host (default:0.0.0.0)
-p specifies the listen port number (default: 38000)
-v Show version and copyight infomation
-d Run as daemon
-E <log_file> print log infomation to file,(default:print to stderr)
-h prints this help
Receiver Options:
-f Specifies the save file name(default: xxxx.shoit.recv.time)
-p Specifies the remote(sender) port number(default: 38000)
-v Show version and copyight infomation
-E <log_file> print log infomation to file,(default:print to stderr)
-d Run as daemon
-h prints this help
- Gunnel is a QUIC-based tunnel that support multiple clients.
open source on the GitHub Shoit
