Skip to main content

TTChat

Peer-to-peer chat software written in Python.

What is it for?

TTChat is designed to be a safe chat system that will generate new keys for each session. It's not intended to be used as WhatsApp or a similar chat program, it's for throwaway chats that don't need to/shouldn't be kept.

How is it secured?

TTChat uses 4096-bit long RSA keys for every message, other than for the public key exchange, which cannot be encrypted.
This should not be a problem, as no computer can get the private key from the public key, and the keys are recreated for every new chat session.

How does it work?

Each machine will set up a server socket, and a client socket. The client will try to connect to a specified target, while the server accepts connections and checks if the origin is the target. If it's not, it'll kill the connection and wait for the target to connect. Once both peers have confirmed the targets, they will exchange public keys and be ready to chat.

Requirements

Python v3.6+
If you don't already have it, download it here.
cryptography>=2.8
Download it using pip install "cryptography>=2.8", or download the wheel here and use pip install (.whl file).

Usage

To get the module through PyPi: pip install ttchat.
While TTChat comes with a fully functional __main__.py file, it is mainly meant to demonstrate how TTChat works. You can get the module to build your own UI that will work with any other program that uses TTChat, including the example one.

The __main__.py file

Run it as any other python script, using python or python3 __main__.py. It's a very short piece of code, as it just uses functions from ttchat.p2p. Simply give it a target machine and it'll start trying to connect.
Once you see Ready to receive messages. and/or Ready to send messages., the connection has been completed and messaging is ready.

Documentation

To see how to use the TTChat module yourself, check out the Documentation.

Release files for ttchat 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ttchat 0.1.1
File Size Uploaded
ttchat-0.1.1.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ttchat 0.1.1
File Interpreter ABI Platform
ttchat-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.0 kB

Release files / ttchat-0.1.1.tar.gz

Download URL ttchat-0.1.1.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2b14919763cb1457b8732d8ced9aeb408b7d068c7d8abdcc3deb2d5422456c35
BLAKE2b-256 checksum
How to use checksums
e347f66bffdbf7c243c3eca5e764af190055f5055b30266769c0eba0c211b8b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.4

Release files / ttchat-0.1.1-py3-none-any.whl

Download URL ttchat-0.1.1-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9bfa96b5be602e11471063eedddd6e51a731e42e63b5eb1f80d8efd511109ebd
BLAKE2b-256 checksum
How to use checksums
ee2a101656b99de5a643ff146df8f52c6111a024a2e6cbcfa31387a7989733ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page