Code Monkey home page Code Monkey logo

serverless-webrtc's Introduction

Serverless WebRTC Chat

This is a serverless, opensource (duh, you're on github), encrypted, p2p chat app. It is available on:

It is a fork of cjb / serverless-webrtc that extends that library to iOS and Android.

Two users who wish to chat with each other exchange png's which contain encoded information. This encoded information is used to establish the connection between the two parties.

There is no third party involved (except stun:23.21.150.121, of Amazon.com, which is used to ascertain the two party's IP addresses), so there is no record kept of the conversation (except for maybe by the ISP), and the data (which is encrypted) is transmitted directly between the two parties. Finally, and best of all, the source code is open and provided, here.

Why?

Free and open communication is a human right. Without it, the spread of ideas is hindered and human progress slowed.

I believe that the only technologies that protect this right are decentralized, encrypted, peer-to-peer and open source. To that end, I hope this little project may be a slight contribution.

Preview

Desktop

Mobile

Usage

Web

To start the web version (for various reasons, running from the static index.html file in the cordova/platforms/browser/www folder may not work):

$ git clone https://github.com/adam-hanna/serverless-webrtc.git && cd serverless-webrtc && cd vue
$ npm install
$ npm run dev

iOS

Unfortunately, Apple wouldn't approve this app. In their opinion, it violated one of their rules, specifically that apps "... [have the ability] to block abusive users from the service." Without a back-end, that's impossible. In my opinion, all users are blocked until you decide to exchange png's and chat (which happens outside the app), but whatever...

However, you can still get this app on your iOS device, just follow the instructions below.

$ git clone https://github.com/adam-hanna/serverless-webrtc.git && cd serverless-webrtc && cd cordova
$ cordova platform add ios
$ cordova build ios

Finally, using XCode, open UniComm.xcodeproj located in cordova/platforms/ios and run the app on your phone.

Android

$ git clone https://github.com/adam-hanna/serverless-webrtc.git && cd serverless-webrtc && cd cordova
$ cordova platform add android
$ cordova build android

TODO

  1. Release for other platforms (Windows Phone, Amazon Fire OS, Firefox OS, Tizen, etc.). Any help here would be greatly appreciated. Feel free to release working apps to those stores.
  2. Finish file transfer functionality.
  3. General UI / UX improvements.
  4. Tests!
  5. Convince Apple to stop being arsehats and accept the app into their store

serverless-webrtc's People

Contributors

adam-hanna avatar

Watchers

bitnom avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.