Skip to main content

Proof-of-work realtime chat, using only `git` as a transport

Project description

GitChat

Proof-of-work realtime chat, using only git as a transport

This is just a joy project, be careful!

Requirements

  • Git
  • Python >= 3.12
  • Github/Gitlab/Gitverse account

Usage

  1. Install package
# From PyPI
pip install gitchat

# From source
git clone <this repo>
cd gitchat
pip install .
  1. Create empty git repo using any git hosting and clone it
  2. Configure peers once (on both sides) and enter chat:
# Configuring repo
gitchat config -r <repo path> -u <username>

# Starting chat
gitchat chat -r <repo path> -u <username> -d <check interval in secs>
  1. Add handler (to process messages)
# handler.py (example)
import os

def handler(message):
    if message["data"].startswith("%sh"):
        cmd = message["data"][4:]
        print(f"[*] Executing '{cmd}' ...")
        os.system(cmd)

# In shell
gitchat chat -u <username> -r <repo path> --handler handler.py

your py file must have function handler that accepts message

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

gitchat-0.0.3.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

gitchat-0.0.3-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file gitchat-0.0.3.tar.gz.

File metadata

  • Download URL: gitchat-0.0.3.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gitchat-0.0.3.tar.gz
Algorithm Hash digest
SHA256 cde366689be5ab90be34c67494fc2968d612f85ee41bad3f218a19fb15414f94
MD5 db602c69c50b2903791abed0cb81d1d9
BLAKE2b-256 1afeb2f351c0ce54b377972fbd0aadab7e30baf96dc1cf30311a1f01bb8e7ccb

See more details on using hashes here.

File details

Details for the file gitchat-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: gitchat-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gitchat-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 805f24639d21b2c70d0a5f3cc41645abe47d5871061a112b11a8c133ac5ffda6
MD5 ba5531ccc9920e6b92eba5ac46d62b5c
BLAKE2b-256 f74e753bf94054b28b4b22f77d672fa1c3719ddbdecc4e791efa8d5521cb064b

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