Skip to main content

A small TLS-encrypted terminal chat app (server + curses client).

Project description

ric-chat-app

A small, TLS-encrypted terminal chat app — a threaded socket server and a curses client, plus a demo time bot. All traffic is encrypted and pinned to a self-signed certificate (encryption + MITM protection).

For chatters (install & run)

pip install ric-chat-app
chat-client

That's it — chat-client connects to the hosted server out of the box, over TLS. Pick a name when prompted and start chatting. Type !exit to leave.

Want the current time in chat? If the time bot is running, send !time.

Running your own server

pip install ric-chat-app
# generate the server's key pair (see DEPLOYMENT.md for the exact command)
chat-server

Point clients at your server with an environment variable or a .env file in the directory you run from:

CHAT_MODE=aws AWS_HOST=<your.server.ip> chat-client
# or CHAT_MODE=local for a server on 127.0.0.1

Commands

Command What it does
chat-client Launches the curses chat UI
chat-server Runs the chat server (usually via systemd)
chat-timebot Runs the !time bot

Developing

git clone https://github.com/rickycarrillo3/ric_chat_app
cd ric_chat_app
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest

See DEPLOYMENT.md for the full picture: how TLS pinning works, the package layout, the CI/CD pipeline, and how to deploy/update the VPS.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ric_chat_app-0.1.3.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ric_chat_app-0.1.3-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file ric_chat_app-0.1.3.tar.gz.

File metadata

  • Download URL: ric_chat_app-0.1.3.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for ric_chat_app-0.1.3.tar.gz
Algorithm Hash digest
SHA256 dddc76fc968a121996a35efa57821fb41f89f34fa21052150dd1e3334259a5b7
MD5 f907fe4f8b4a356219a9e400b4902b5d
BLAKE2b-256 706dfa8bfba6e906736bf3add2225afafc5feb079cf881b90a46c26919ed72d9

See more details on using hashes here.

File details

Details for the file ric_chat_app-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ric_chat_app-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for ric_chat_app-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c26b1e73268fd015dfcd8759c469e75eea50d768f556df61f3a1ba8cf21c119a
MD5 1a1e3a68a88be3bd04da094f11bde726
BLAKE2b-256 a4be17abd6a5612bfa0dfbb7c8c97c95f3ce54a54ee3f9b51fe06c3dc393498d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page