🕊️ Oldie-Goldie
A Being Human Cult (BHC) Initiative
A self-hostable, peer-to-peer encrypted chat system
with ephemeral tunnels, reusable invite tokens, and zero logs.
📘 Table of Contents
- ✨ Core Features
- ⚡ TL;DR (Quick Start)
- 🌐 What is Oldie-Goldie?
- 💡 Why I Built It
- 🧭 Intended Usage
- 🧱 Guard Rails and Trust Model
- ☁️ Cloudflared Handling (Automatic)
- ⚙️ Installation
- 🐍 Python Compatibility
- 🚀 Usage
- 📚 Documentation
- 🧾 Changelog
- 🧪 Future Roadmap
- 🌿 About Being Human Cult (BHC)
- ☕ Support the Project
- 🤝 Contributing
- 📜 License
- 💬 Connect
- 🧡 A Note from the Author
- ❤️ Author
✨ Core Features
- 🔐 Encrypted peer-to-peer tunnels
- 🪪 Token-based access control (single-use, bound, or reusable)
- 🔁 Token reuse support (
--reuse) - 🌐 Automatic Cloudflared tunneling (no installation required)
- 🧳 Zero logs — nothing stored, nothing retained
- 👥 Ephemeral one-to-one private sessions
- 🧩 Cross-platform (Linux · macOS · Windows)
- 🪶 Lightweight Python CLI
- 🕵️ Privacy-first, open-source, auditable
⚡ TL;DR (Quick Start)
Start a public server (auto-tunnel + tokens):
og-server --host public --invite-token --token-count 1 --reuse
Client connects:
og-client --server-host public --url <server-url> --token <token>
Initiate a private encrypted tunnel:
/connect @peer
Enter your PSK → Tunnel established.
🌐 What is Oldie-Goldie?
Oldie-Goldie is an on-demand, peer-to-peer encrypted, self-hostable chat system for people who want privacy without relying on centralized services.
You spin up a temporary server → share a URL + token → chat → destroy everything.
Nothing persists. Nothing leaks.
💡 Why I Built It
🕵️ The Problem
Modern messaging services promise privacy — but often log metadata, store your messages, or use your data for ad targeting and behavioral profiling. Even when encryption is claimed, the closed-source nature of these apps makes it impossible to know if your messages are truly private.
“Mining for gold without opening the chest.” That’s how metadata surveillance works — who you message, when, how often — all reveal more than you think.
I wanted a fallback — a chat app that was:
- Open source and auditable
- Truly self-hostable
- Peer-to-peer encrypted, with no middleman
So I built Oldie-Goldie, and it became my trusted space for private discussions.
🧠 The Solution
Oldie-Goldie gives you:
- Direct, secure, ephemeral connections
- No cloud storage
- No accounts
- End-to-end encrypted tunnels
- Invite-token based access control
You spin up a temporary server, share a link + token with your peer, chat securely, and shut it all down when done. Nothing is logged, nothing persists — just you and your peer.
🧭 Intended Usage
Pre-requisite: Out-of-Band Sharing
- Usernames (pseudonyms) — agree beforehand with your peer.
- PSK (pre-shared key) — share a private key to authenticate tunnels.
Flow for Global Server
Update (v0.6.0): Oldie-Goldie now automatically downloads and manages Cloudflared using
pycloudflared.
No installation. No PATH setup. Nothing manual.
- Start the server (
--host public) - Share the generated public URL
- Register pseudonyms
/list_usersto find your peer/connect @username- Enter the shared PSK
- The server relays traffic blindly over the encrypted tunnel
⚠️ Disclaimer Oldie-Goldie is not a social media or group chat platform. It’s designed for private, ephemeral one-to-one communication, where simplicity and trust are prioritized.
🧱 Guard Rails and Trust Model
| Layer | Purpose |
|---|---|
| Pre-shared pseudonyms | Protects identity |
| Pre-shared secret/password | Proof of identity |
| Token-based access | Prevents unauthorized entry |
| Temporary tunnels | Ensure no data persistence |
🔐 Example: Token-Based Secure Server
Generate bound tokens:
og-server --host public --invite-token --bind alice bob
Generate reusable tokens (v0.6.0):
og-server --host public --invite-token --bind alice bob --reuse
Then connect:
og-client --server-host public --url <server-url> --token <token>
☁️ Cloudflared Handling (Automatic)
Oldie-Goldie (v0.6.0) introduces automatic integration via pycloudflared.
✔ No manual installation needed
✔ No PATH configuration
✔ Works on Windows, Linux, macOS, and virtual environments
✔ Cloudflared binary is downloaded automatically and sandboxed
This significantly simplifies public tunneling:
og-server --host public
Done. Tunneling works out of the box.
Manual installation instructions are now unnecessary and removed.
⚙️ Installation
Oldie-Goldie supports Python 3.10–3.13 on Linux, macOS, and Windows.
Note: Python 3.14 is currently not supported due to missing upstream wheels (
cffi,cryptography, etc.). See “Python Compatibility” below.
📌 Standard Install
pip install oldie-goldie
🧰 If pip is not recognized
python -m pip install oldie-goldie
# or
python3 -m pip install oldie-goldie
✨ (Optional) Add pip to PATH
| OS | How |
|---|---|
| Windows | Add %LocalAppData%\Programs\Python\PythonXY\Scripts\ to PATH |
| Linux/macOS | Add ~/.local/bin to PATH |
⬆️ Upgrade
pip install --upgrade oldie-goldie
🛠 Install from Source (for developers)
git clone https://github.com/venukotamraju/Oldie-Goldie.git
cd Oldie-Goldie
python -m pip install -r requirements.txt
pip install -e .
🧿 Troubleshooting
| Issue | Fix |
|---|---|
| pip: comman not found | Use python -m pip or add pip to PATH |
| AttributeError: drain / asyncio mismatch | Upgrade Python to 3.10+ and reinstall |
| ModuleNotFoundError after install | Ensure you're using the same interpreter that installed the package |
🐍 Python Compatibility
Supported Versions
✔ Python 3.10
✔ Python 3.11
✔ Python 3.12
✔ Python 3.13
Not Yet Supported
❌ Python 3.14
→ Missing upstream wheels (cryptography, cffi)
→ Support will be added automatically once dependencies publish them
Workarounds (pyenv, conda, etc.) included in documentation.
🚀 Usage
🖥️ Run Server
Local
og-server --host local
Public (with Automatic Tunnel)
og-server --host public
Protected (Invite Tokens)
og-server --host public --invite-token --token-count 2
Strongly Protected (Bound Tokens)
og-server --host public --invite-token --bind alice bob
Reusable Tokens (New in v0.6.0)
og-server --host public --invite-token --bind alice bob --reuse
💬 Run Client
Connect Locally
og-client --server-host local
Connect Remotely
og-client --server-host public --url <server-url>
Connect with Token
og-client --server-host public --url <server-url> --token <token>
📚 Documentation
Full usage guide · CLI examples · Architecture · Python compatibility · Changelog
🔗 https://venukotamraju.github.io/Oldie-Goldie
🧾 Changelog
See CHANGELOG.md for the full version history and upcoming features.
🧪 Future Roadmap
- Extend
safe_inputwith foreground/background input support - Enable server-side dynamic token generation
- Tidy client logs
- Add Android support
- Architectural docs expansion
🌿 About Being Human Cult (BHC)
The Tech wing of Being Human Cult (BHC) is a community-driven initiative focused on building humane, open-source technologies that empower people to connect authentically and privately — without exploitation, surveillance, or data harvesting.
Oldie-Goldie is developed and maintained under the BHC umbrella as a free and open-source project.
Learn more: https://beinghumancult.blogspot.com
☕ Support the Project
Oldie-Goldie is free, open-source, and maintained with care by volunteers. If you’d like to support development or buy the maintainers a coffee:
- 💖 Buy Me a Coffee: (link coming soon)
- 💰 GitHub Sponsors: (link coming soon)
- 🪙 Ko-fi: (link coming soon)
- 📢 Share the project! — word of mouth helps more than you think.
Your support keeps the project independent and privacy-focused. 🙏
🤝 Contributing
Pull requests are welcome! If you’d like to contribute, please:
- Fork the repo
- Create a new branch
- Make your changes
- Submit a PR
Or open an issue to discuss ideas.
For more detailed developer setup and contributing guidelines, see CONTRIBUTING.md
📜 License
Licensed under the APACHE 2.0.
Copyright © 2025
Venu Kotamraju, under the Being Human Cult (BHC) initative.
💬 Connect
- GitHub → Oldie-Goldie
- PyPI → oldie-goldie
- LinkedIn → [Link coming soon...]
- Blog → Being Human Cult
🧡 A Note from the Author
I built Oldie-Goldie to reclaim digital privacy. It’s not about hiding — it’s about owning your data and choosing who gets to see it.
❤️ Author
Venu Kotamraju
kotamraju.venugopal@gmail.com
GitHub
Metadata
Release files for oldie-goldie 0.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| oldie_goldie-0.6.1.tar.gz | 47.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| oldie_goldie-0.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 93.6 kB
Release files / oldie_goldie-0.6.1.tar.gz
| Download URL | oldie_goldie-0.6.1.tar.gz |
|---|---|
| Size | 47.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7c6f95449bf8d49fef73dcaf350da80a19de236d449e272c71173a45a27e9b8a
|
|
BLAKE2b-256 checksum How to use checksums |
27290064d841a82d8357b5b9382adb1feb5d6eae006117d37a0508c48b5957a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / oldie_goldie-0.6.1-py3-none-any.whl
| Download URL | oldie_goldie-0.6.1-py3-none-any.whl |
|---|---|
| Size | 46.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aaab592701e14f44da0c58902f6f8d9821b72566027fa659b59a0e4fbc9aaf3a
|
|
BLAKE2b-256 checksum How to use checksums |
6a16d99aff0a0b2a184663d801d31b822d7599275fe6fecec7740d2e2d86a563
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|