Skip to main content

🕊️ 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.

PyPI Downloads


PyPI Version Cloudflared Security Status Python Versions Python 3.14 License: Apache Issues Last Commit


📘 Table of Contents


✨ 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

  1. Usernames (pseudonyms) — agree beforehand with your peer.
  2. 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.

  1. Start the server (--host public)
  2. Share the generated public URL
  3. Register pseudonyms
  4. /list_users to find your peer
  5. /connect @username
  6. Enter the shared PSK
  7. 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_input with 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:

  1. Fork the repo
  2. Create a new branch
  3. Make your changes
  4. 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


🧡 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)

Source distribution for oldie-goldie 0.6.1
File Size Uploaded
oldie_goldie-0.6.1.tar.gz 47.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for oldie-goldie 0.6.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.5.10

2 release files

0.5.7

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