GFile
gfile is a WebRTC based file exchange software.
It allows to share a file directly between two computers, without the need of a third party.
Note
This project is still in its early stage.
Usage
Sender
gfile send --file filename
- Run the command
- A base64 encoded SDP will appear, send it to the remote client
- Follow the instructions to send the client's SDP to your process
- The file transfer should start
Receiver
# SDP being the base64 SDP gotten from the other client
echo "$SDP" | gfile receive -o filename
- Pipe the other client's SDP to gfile
- A base64 encoded SDP will appear, send it to the remote client
- The file transfer should start
Benchmark
gfile
is able to benchmark the network speed between 2 clients (1 master and 1 slave) with the bench
command.
For detailed instructions, see Sender
and Receiver
instructions.
# Run as 'master'
gfile bench -m
# Run as 'slave'
echo "$SDP" | gfile bench
Web Interface
A web interface is being developed via WebAssembly. It is currently not working.
Debug
In order to obtain a more verbose output, it is possible to define the logging level via the GFILE_LOG
environment variable.
Example: export GFILE_LOG="TRACE"
See function setupLogger
in main.go
for more information
Contributors
Special thanks to Sean DuBois for his help with pion/webrtc and Yutaka Takeda for his work on pion/sctp