6,586 open-source and SaaS tools, with GitHub stats refreshed every day.

wave-share

Open source

wave-share is a free, MIT-licensed proof-of-concept web app that sets up a local WebRTC file-sharing connection between nearby devices by exchanging signaling data through sound.

ggerganov.github.io
wave-share homepage screenshot
GitHub stars
2.3k
Last commit
5 yr ago
Repository age
8 years
Licence
MIT
Self-hosted
Yes

About wave-share

wave-share, created by Georgi Gerganov, is a proof-of-concept for establishing a WebRTC connection between nearby devices using sound instead of the internet or a signaling server. It targets situations where two browsers on different devices, each with a microphone and speakers, want to exchange files directly over the local network without installing an app or relying on existing network infrastructure for the initial handshake.

WebRTC requires peers to exchange connection details through a process called signaling, but the specification does not define how that exchange happens. This project performs signaling entirely through audio tones: one device encodes its WebRTC session data into sound and broadcasts it, a nearby device captures and decodes those tones, and responds with its own encoded answer, after which a direct WebRTC connection forms over the local network for actual data transfer.

The underlying data-over-sound technique was later extracted into a standalone library called ggwave, which can be embedded into other projects. wave-share itself is written in C++ and compiled to run in the browser, and is released under the MIT license, serving mainly as a demonstration of serverless, peer-to-peer signaling rather than a polished file-sharing product.

Key features

  • Sound-based WebRTC signaling
  • Serverless, peer-to-peer connection setup
  • Local file transfer once connected
  • Works with any device with mic and speakers
  • Runs entirely in the browser

Good fit for

  • →Demonstrating data-over-sound signaling
  • →Local file sharing without internet access
Built with
C++
Tags
webrtc
file-sharing
peer-to-peer
data-over-sound
proof-of-concept
cpp

wave-share: questions and answers

What is wave-share used for?
wave-share is a free, MIT-licensed proof-of-concept web app that sets up a local WebRTC file-sharing connection between nearby devices by exchanging signaling data through sound. It is a good fit for demonstrating data-over-sound signaling and local file sharing without internet access.
Is wave-share open source?
Yes. wave-share is open source under the MIT licence. Its source code is on GitHub at ggerganov/wave-share and is written mainly in C++.
Is wave-share free?
Yes. wave-share is open source, so the software itself is free to use.
Can I self-host wave-share?
Yes. wave-share can be self-hosted on your own server or infrastructure.
What are some alternatives to wave-share?
Similar open-source tools in the File Storage & Sharing category include ShareDrop, PairDrop and FastSend. SaaS products in the same category include AnySend, Baidu Netdisk and BetterFileTransfer.
Is wave-share actively maintained?
The most recent commit to wave-share was on 11 December 2020. The project has 2.3k stars on GitHub.

Open-source alternatives to wave-share

See all

SaaS alternatives to wave-share

See all