• 1 Post
  • 13 Comments
Joined 4 months ago
cake
Cake day: January 3rd, 2026

help-circle
  • Thanks for the detailed review, really appreciate it — this is exactly the kind of feedback the project needed before a public release.

    You were right on two of the three points, and I’ve just pushed fixes to Codeberg (commit 93b8985):

    GPG: you nailed it. config.py was silently reusing the user’s personal ~/.gnupg keyring if a key was present, which is obviously wrong for an identity-isolated app. Fixed: PeerBox now uses a dedicated keyring at system/gpg/ with --homedir enforced on every gpg call. Existing users get their key auto-migrated on next config.py run so contacts don’t break.

    Dependencies: install_pysocks() was calling pip install --break-system-packages at runtime, which is indefensible. Removed entirely — it was actually dead code (never called) but still a trap. Documented PySocks in the README as a required pip dep alongside cryptography and pywebview. The broader venv/lockfile refactor is a bigger chantier, planned for phase 6.

    SSH keys: here I have to push back a bit — ssh_setup.py does generate a dedicated id_rsa_peerbox key, never reuses id_rsa or id_ed25519. BUT you indirectly uncovered a real bug: request_creator.py had a silent fallback reading id_rsa.pub / id_ed25519.pub if id_rsa_peerbox.pub was missing. That’s gone now too.

    Quill 1.3.7 → 2.0.3: fair point, on the roadmap for this weekend. Non-minified too for auditability.

    Seriously, thanks for taking the time to read the code and call out what needed calling out. This is what keeps small projects honest.




  • You’re right, it’s a trade-off. PeerBox was designed with maximum privacy as the priority, and that does mean giving up some of the convenience of traditional email. But that convenience is exactly what makes email so vulnerable to spam, phishing and surveillance in the first place. PeerBox isn’t trying to replace email for everything, it’s built for people who need communications that no one else can access or intercept.




  • How does the connection actually happen? Like for two home users with dynamic IPs, nat, firewall, and/or CGNAT?

    It doesn’t use IPs at all, otherwise there would be no privacy. Everything goes through Tor. Each PeerBox instance gets its own .onion address, and all connections are made through that. Your contacts never see your IP, you never see theirs. SSH handles the authentication and encryption on top of that. So NAT, dynamic IPs, firewalls, CGNAT, none of that matters. You don’t even need a VPN, Tor already maxes out the security.


  • I have often though why many server things are just not server like client software. like why the third party. especially given many folks don’t turn their machines off all the time.

    Exactly! That’s the whole point behind PeerBox. Most people already have a machine running most of the time, so why trust a third party to handle your messages? The only reason centralized servers became the norm is to monetize your data or charge you a subscription, all at the expense of your privacy. PeerBox just flips that logic back to where it should be.


  • PeerBox was designed to offer the highest level of privacy possible by cutting out every middleman. That does come with a little less flexibility than regular email, but you have several options. You can install it on a Raspberry Pi or any small machine that stays on, which gives you near-permanent availability. You can also simply agree on a time window with your contacts for message exchange. And actually, we’re considering releasing a VPS-compatible version soon, which would do exactly what you’re describing. Stay tuned!



  • Great question! Think of it this way: your own machine acts as the server. So yes, in your scenario, the message waits on your machine until both sides are online at the same time. Once that happens, it gets delivered automatically. It works exactly like regular email, except your PC does the job instead of an external server. No middleman needed. In practice, if you leave PeerBox running, the overlap happens naturally, even for a few seconds. And if you really need guaranteed async delivery across very different time zones, you could just keep PeerBox running on a machine that stays on, like a small home server or a Raspberry Pi.



  • Good question! The core difference is that Delta Chat still relies on email infrastructure (SMTP/IMAP), so your messages go through centralized servers you don’t control. PeerBox is fully P2P. Your messages go straight from your machine to your contact’s machine. No server in between, no account to create, no middleman. It combines SSH for encrypted transport and Tor for anonymity, so not even your ISP can see who you’re talking to. It also works in deferred mode (like regular email, your contact gets the message when they come back online), strict P2P mode, or local network only. Contact management uses a dual-channel encrypted invitation system, so spam is simply impossible. And all local data is encrypted on disk with a self-destruct mechanism after 5 failed password attempts. It’s a lightweight Python app for Linux, fully open source (AGPL).