Proof-of-work realtime chat, using only `git` as a transport
Project description
GitChat
Proof-of-work realtime chat, using only
gitas a transport
This is just a joy project, be careful!
Requirements
- Git
- Python >= 3.12
- Github/Gitlab/Gitverse account
Usage
- Install package
# From PyPI
pip install gitchat
# From source
git clone <this repo>
cd gitchat
pip install .
- Create empty git repo using any git hosting and clone it
- 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>
- 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
handlerthat 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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cde366689be5ab90be34c67494fc2968d612f85ee41bad3f218a19fb15414f94
|
|
| MD5 |
db602c69c50b2903791abed0cb81d1d9
|
|
| BLAKE2b-256 |
1afeb2f351c0ce54b377972fbd0aadab7e30baf96dc1cf30311a1f01bb8e7ccb
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
805f24639d21b2c70d0a5f3cc41645abe47d5871061a112b11a8c133ac5ffda6
|
|
| MD5 |
ba5531ccc9920e6b92eba5ac46d62b5c
|
|
| BLAKE2b-256 |
f74e753bf94054b28b4b22f77d672fa1c3719ddbdecc4e791efa8d5521cb064b
|