Skip to content

MiNode-Refined: Optimized relay node for the Bitmessage network #2341

Description

@luka-0614

Hi everyone,
I've been following Bitmessage development for a long time and for several years I ran a residential PyBitmessage node to help the network.
Some time ago I became interested in the MiNode project maintained by Lee Miller. Since updates have slowed down, over the past six months I’ve been working on optimizing and hardening the codebase (based on MiNode 0.3.5).
With the help of AI tools I fixed several potential attack vectors and added better rate-limiting / defensive mechanisms. The code is now stable enough to run as a 24/7 relay.
Note that this is still only a pure network relay – it does not support sending/receiving messages or address generation. Future plans include further hardening against malicious nodes, intermediate configuration options, better logging, and Tor support so people can create bridges (Tor ↔ Clearnet ↔ I2P).

The repository is available here:
Codeberg

I hope some of the improvements can be useful for the future of PyBitmessage.

Big thanks to Peter Surda, Lee Miller, Jonathan Warren and Krzysztof Oziomek for their work on the project.

Activity

  1. luka-0614 commented on Jul 2, 2026

    @luka-0614
    Author

    Today I released a new stable version: MiNode-Refined 0.2.0.
    It includes many fixes and improvements.
    Feel free to review the code, improve it further (even with the help of AI), or simply run your own node on the Bitmessage network.
    You can also use it as a protective front-end / proxy in front of PyBitmessage to increase security, at least until a proper client integrated with MiNode-Refined is released.

  2. luka-0614 commented on Jul 8, 2026

    @luka-0614
    Author

    MiNode-Refined 0.2.1 has been released!
    This version fixes several bugs, updates some nodes, and focuses mainly on better IPv4/IPv6 dual-stack support, with some additional I2P improvements
    .The next release will concentrate on fixing in-memory SQL database handling. I’m already working on it, but it’s quite challenging — similar to the reconnect issues that appear in I2P when a trusted peer is set and the parent node goes offline.
    Full Tor support (specifically .onion addresses) is also progressing well. I do not plan to support connections through Tor exit nodes for security reasons.

  3. luka-0614 commented on Aug 3, 2026

    @luka-0614
    Author

    MiNode-Refined 0.2.2 has been released.
    After many days of testing and refinement, this is one of the largest releases so far. It introduces several protocol-compliant improvements and security enhancements. The main new feature is support for TLS 1.3 using the currently strongest ciphers (AES-GCM or ChaCha20). This works between peers running MiNode-Refined ≥ 0.2.2.
    Additional improvements include better nonce privacy checks, stricter address filtering, stronger rate limits, and an updated TUI.
    The next version (0.2.3) will add Dandelion++ support (already present in PyBitmessage 0.6.3.2), a more restrictive ban system for malicious peers, and further SQL database optimisations.

  4. luka-0614 commented on Aug 15, 2026

    @luka-0614
    Author

    Today MiNode-Refined 0.2.3 was released.
    This version brings significant changes:

    • Dandelion++ support compatible with PyBitmessage
    • Improved ban / reputation system
    • Better connection stability
    • Refined I2P architecture and many bug fixes
    • Performance optimisations and cosmetic TUI improvements
    • Initial TLS 1.3 compatibility support for the new PyBitRefined client

    Update notifications for MiNode-Refined can now also be received via a Broadcast message from the address listed in the repository.

  5. luka-0614 commented on Aug 27, 2026

    @luka-0614
    Author

    MiNode-Refined 0.3.0 has been released.
    This version adds:

    • Full Tor support (.onion only)
    • Optional post-quantum TLS key exchange
    • Multiple bug fixes and stability improvements
  6. changed the title [-]Fork MiNode Refined - optimized to maintain a bitmessage network[/-] [+][Project completed] Fork MiNode Refined - optimized to maintain a bitmessage network[/+] on Aug 27, 2026
  7. changed the title [-][Project completed] Fork MiNode Refined - optimized to maintain a bitmessage network[/-] [+]Fork MiNode Refined - optimized to maintain a bitmessage network[/+] on Sep 15, 2026
  8. changed the title [-]Fork MiNode Refined - optimized to maintain a bitmessage network[/-] [+]MiNode-Refined: Optimized relay node for the Bitmessage network[/+] on Sep 20, 2026
  9. luka-0614 commented on Sep 22, 2026

    @luka-0614
    Author

    MiNode-Refined 0.3.1 has been released

    Key fix:

    • Critical object size validation bug fixed. Size checks are now performed on the full object (from nonce) instead of only the payload. This was rejecting all valid getpubkey objects (payload is only 20/32 bytes). Protocol behaviour is now fully aligned with PyBitmessage for standard object types.

    Other improvements:

    • Better race-condition protection in Advertiser
    • Limited Inv/Addr flood to max 32 peers per tick
    • Config range validation + cleaner comments
    • Various small robustness fixes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions