All Projects → Antonito → Gfile

Antonito / Gfile

Licence: mit
Direct file transfer over WebRTC

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Gfile

Sharedrop
Easy P2P file transfer powered by WebRTC - inspired by Apple AirDrop
Stars: ✭ 5,222 (+773.24%)
Mutual labels:  file-sharing, webrtc, peer-to-peer
ipfs-chat
Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.
Stars: ✭ 84 (-85.95%)
Mutual labels:  peer-to-peer, file-sharing
Shareaza
Shareaza is a peer-to-peer client for Windows that allows you to download any file-type found on several popular P2P networks.
Stars: ✭ 103 (-82.78%)
Mutual labels:  peer-to-peer, file-sharing
Pearsend
A simple CLI client for peer-to-peer file or message sending. Written in Python
Stars: ✭ 35 (-94.15%)
Mutual labels:  peer-to-peer, file-sharing
Partyshare
A free, open source file sharing application, built on the peer-to-peer hypermedia protocol IPFS.
Stars: ✭ 131 (-78.09%)
Mutual labels:  file-sharing, peer-to-peer
Diztl
Share, discover & download files in your network 💥
Stars: ✭ 162 (-72.91%)
Mutual labels:  file-sharing, peer-to-peer
portal
🔗 zero-config peer-to-peer encrypted live folder syncing that respects your `.gitignore`
Stars: ✭ 284 (-52.51%)
Mutual labels:  peer-to-peer, file-sharing
Airdcpp Webclient
Communal peer-to-peer file sharing application for file servers/NAS devices
Stars: ✭ 106 (-82.27%)
Mutual labels:  file-sharing, peer-to-peer
Iwant
Commandline tool for searching and downloading files in LAN network, without any central server
Stars: ✭ 268 (-55.18%)
Mutual labels:  file-sharing, peer-to-peer
Decentralized Video Chat
🚀 Zipcall- Acquired @ 250k users 🚀 Peer to peer browser video calling platform with unmatched video quality and latency.
Stars: ✭ 3,284 (+449.16%)
Mutual labels:  webrtc, peer-to-peer
Libdatachannel
C/C++ WebRTC Data Channels and Media Transport standalone library
Stars: ✭ 336 (-43.81%)
Mutual labels:  webrtc, peer-to-peer
Wave Share
Serverless, peer-to-peer, local file sharing through sound
Stars: ✭ 1,641 (+174.41%)
Mutual labels:  file-sharing, webrtc
Webdrop
Easiest group P2P File & Message transfer in browser with WebRTC 🔥. Cross-platform alternative to Apple's AirDrop, Xender, ShareIT with the same speed over LAN. No installation, just a website :)
Stars: ✭ 119 (-80.1%)
Mutual labels:  file-sharing, webrtc
Croc
Easily and securely send things from one computer to another 🐊 📦
Stars: ✭ 17,834 (+2882.27%)
Mutual labels:  file-sharing, peer-to-peer
Filegogo
A file transfer tool that can be used in the browser webrtc p2p
Stars: ✭ 117 (-80.43%)
Mutual labels:  file-sharing, webrtc
peerjs-python
Python port of PeerJS client
Stars: ✭ 56 (-90.64%)
Mutual labels:  webrtc, peer-to-peer
Syncthing Macos
Frugal and native macOS Syncthing application bundle
Stars: ✭ 1,096 (+83.28%)
Mutual labels:  file-sharing, peer-to-peer
Figo
P2P file transfer utility
Stars: ✭ 88 (-85.28%)
Mutual labels:  file-sharing, peer-to-peer
Oorja
[archived] effortless video-voice chat with realtime collaborative features. extensible using react components 🙌
Stars: ✭ 270 (-54.85%)
Mutual labels:  webrtc, peer-to-peer
Filedrop Web
📲 WebRTC file transfer - React/TypeScript front end.
Stars: ✭ 375 (-37.29%)
Mutual labels:  file-sharing, webrtc

Build Status Go Report Card Codacy Badge Coverage Status License: MIT Mentioned in Awesome Go

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.

ezgif-5-9936f8008e4d

Note

This project is still in its early stage.

How does it work ?

Schema

The STUN server is only used to retrieve informations metadata (how to connect the two clients). The data you transfer with gfile does not transit through it.

More informations here

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.

This feature is still an experiment.

# 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].