All Projects → ChesleyTan → ascii-chat

ChesleyTan / ascii-chat

Licence: MIT license
A terminal-based peer-to-peer (P2P) end-to-end-encrypted (E2EE) video chat application with text messaging, written in OCaml. Supports up to 4 clients. Supports connections over internet and LAN.

Programming Languages

ocaml
1615 projects
C++
36643 projects - #6 most used programming language
shell
77523 projects
Makefile
30231 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to ascii-chat

Awesome Peer To Peer
A list of peer-to-peer resources.
Stars: ✭ 1,897 (+9385%)
Mutual labels:  peer-to-peer, p2p
Pikachu Volleyball P2p Online
Pikachu Volleyball peer-to-peer online via WebRTC data channels
Stars: ✭ 160 (+700%)
Mutual labels:  peer-to-peer, p2p
Ensichat
Project discontinued
Stars: ✭ 143 (+615%)
Mutual labels:  peer-to-peer, p2p
The-Kademlia-Protocol-Succinctly
This is the companion repo for The Kademlia Protocol Succinctly by Marc Clifton. Published by Syncfusion.
Stars: ✭ 28 (+40%)
Mutual labels:  peer-to-peer, p2p
Gun
An open source cybersecurity protocol for syncing decentralized graph data.
Stars: ✭ 15,172 (+75760%)
Mutual labels:  peer-to-peer, p2p
Univoice
P2P VoIP in Unity
Stars: ✭ 128 (+540%)
Mutual labels:  peer-to-peer, p2p
P2p Cdn Sdk Javascript
Free p2p cdn github javascript sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - 🚀 Vadootv 🚀
Stars: ✭ 158 (+690%)
Mutual labels:  peer-to-peer, p2p
Bitchatclient
Technitium Bit Chat, a secure, peer-to-peer, instant messenger!
Stars: ✭ 111 (+455%)
Mutual labels:  peer-to-peer, p2p
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (+800%)
Mutual labels:  peer-to-peer, p2p
Unstoppable Wallet Android
A secure and decentralized Bitcoin and other cryptocurrency wallet for Android phones. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 165 (+725%)
Mutual labels:  peer-to-peer, p2p
Syncthing Android
Wrapper of syncthing for Android.
Stars: ✭ 1,812 (+8960%)
Mutual labels:  peer-to-peer, p2p
Redwood
A highly-configurable, distributed, realtime database that manages a state tree shared among many peers.
Stars: ✭ 218 (+990%)
Mutual labels:  peer-to-peer, p2p
Ethereumjs Devp2p
Project is in active development and has been moved to the EthereumJS VM monorepo.
Stars: ✭ 119 (+495%)
Mutual labels:  peer-to-peer, p2p
Pytorrent
Simple and functional BitTorrent client made in Python - Use for learning
Stars: ✭ 135 (+575%)
Mutual labels:  peer-to-peer, p2p
Livepeerjs
JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network
Stars: ✭ 116 (+480%)
Mutual labels:  peer-to-peer, p2p
Wt Tracker
High-performance WebTorrent tracker
Stars: ✭ 144 (+620%)
Mutual labels:  peer-to-peer, p2p
Airdcpp Webclient
Communal peer-to-peer file sharing application for file servers/NAS devices
Stars: ✭ 106 (+430%)
Mutual labels:  peer-to-peer, p2p
Syncthing
Open Source Continuous File Synchronization
Stars: ✭ 41,904 (+209420%)
Mutual labels:  peer-to-peer, p2p
Diztl
Share, discover & download files in your network 💥
Stars: ✭ 162 (+710%)
Mutual labels:  peer-to-peer, p2p
React Peer
Send data to someone else's browser as easy as setting state
Stars: ✭ 191 (+855%)
Mutual labels:  peer-to-peer, p2p

ascii-chat

A terminal-based peer-to-peer (P2P) end-to-end-encrypted (E2EE) video chat application with text messaging and audio support.

Installation

Note: ascii-chat is tested to work on Ubuntu 16.04 and macOS 10.12

Note: ascii-chat will NOT work on the CS 3110 Course VM, because it does not have the requisite webcam drivers!

The provided install script can be used to install the necessary OPAM packages for building ascii-chat.

Usage: ./install.sh

OpenCV

OpenCV is required as a dependency in order to obtain images from the user's webcam. Scripts are provided for automated building and installation on Mac and Linux.

  • To build OpenCV manually, use ./install-opencv-unix.sh.

  • To build OpenCV on Mac using Homebrew, use ./install-opencv-osx.sh.

Usage

As Host

To run ascii-chat as a participant for the chat, enter the command:

./ascii-chat <encryption_key>

where encryption_key is the same key as that used by all other participants.

As Participant

To run ascii-chat as the host user for the chat, enter the command:

./ascii-chat <encryption_key> -host <host_ip:host_port>

where encryption_key is a pre-shared key between all participants, and host_ip:host_port is the network address of the host user.

Images

ascii-chat1 ascii-chat2

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].