Originally based upon https://github.com/cjb/serverless-webrtc with minor changes. Renamed to avoid confusion with the so-called serverless computing.
This is a tech demo of using WebRTC without a signaling server -- the
WebRTC offer/answer exchange is performed manually by the users, for example
via IM. This means that the app can run out of file:///
directly, without
involving a web server. You can send text messages and files between peers.
This repository contains two different clients that can talk to each other:
no-server-webrtc.js
runs under node.jsno-server-webrtc.html
runs in Chrome or Firefox
Chat is fully interoperable between all of the above (Node, Chrome, Firefox) in any combination (tested with Chrome 35 and Firefox 29).
λ npm install no-server-webrtc
λ node_modules/no-server-webrtc/no-server-webrtc.js
Under Node, if you want to create a session instead of joining one:
λ node_modules/no-server-webrtc/no-server-webrtc.js --create
In Chrome (but not Firefox), you'll need to run a local web server rather
than just browsing to file:///
, like this:
λ cd no-server-webrtc
λ python -m SimpleHTTPServer 8001 .
Serving HTTP on 0.0.0.0 port 8001 ...
and then browse to http://localhost:8001/.
Vojtěch Sázel has ported this project to Android: no-server-webrtc-android.
http://blog.printf.net/articles/2013/05/17/webrtc-without-a-signaling-server
http://blog.printf.net/articles/2014/07/01/serverless-webrtc-continued
https://cjb.github.io/serverless-webrtc/serverless-webrtc.html
-- Chris Ball chris@printf.net (http://printf.net/)