sanctuary
A secure synchronous lightweight chatroom with zero logging and total transience
Built on
- Socket.IO for real-time, bidirectional and event-based communication
- Flask for web backbone, complex scalability and WSGI layer
- Hashing techniques for password protection, identification and authentication
Salient features
- Provides real-time conversation using synchronous sockets
- Zero logging or data storage to minimize vulnerabilities
- No-frills alias and password-protected chatroom creation
- Refresh, close tab, logout or purge chatroom to cover tracks
- Transient chatrooms stay valid for 60 minutes before auto-purge
- Complete support for HTML5 formatting tags in conversations
- Lightweight and responsive so usable across multiple devices
- State-of-the-art chatroom user session management
Usage
- Install and upgrade virtualenv if not already done by executing
pip3 install virtualenv --user
- Clone the repository on your local drive and make it your current working directory.
- Create a virtual environment by executing
virtualenv venv
- Activate the virtual environment by executing
source venv/bin/activate
- Install all dependencies for the project by executing
pip3 install -r requirements.txt
- Run the project server by executing
python3 main.py
- Open up a web browser and head over to
http://0.0.0.0:6969/
- Devices in your network can reach out by visiting
http://<YOUR-LOCAL-IP-ADDRESS>:6969/
- To make sure the server is discoverable across internet, enable port forwarding
- Devices in your network can reach out by visiting
- Play around with creating and joining rooms using room identification key
- Create chatrooms using
INITIATE
- Add your chatroom name, user alias and joining password to begin with - Join chatrooms using
ONBOARD
- Join created chatrooms with chatroom ID, user alias and joining password
- Create chatrooms using
- Hit
[Ctrl]+[C]
to send an abort signal which would stop server - When done tinkering, deactivate the virtual environment by executing
deactivate
- Give stars to the repository if it was helpful