1
0
Fork
You've already forked debugging-protocol-python
0
A python implementation of the Reticulum debugging protocol. (very WIP)
  • Python 100%
2026年04月23日 21:54:21 +02:00
common redo the message type format and let Message.decode return an exception if an unknown message type was received. 2026年04月23日 21:54:21 +02:00
node let message.py define a constant for the buffer size and use socket.send instead of socket.sendall to send messages to limit their size to the buffer size. 2026年04月23日 18:45:55 +02:00
.gitignore hello, git! 2026年04月14日 20:49:09 +02:00
node.py use inheritance for messages, create functions for each child of Message to send and decode the message, add static function to Message that decodes messages, use shell arguments to pass the host and port for probe_cli.py and node.py and remove node/__init__.py's unused to_bits function. 2026年04月22日 19:42:30 +02:00
probe_cli.py let message.py define a constant for the buffer size and use socket.send instead of socket.sendall to send messages to limit their size to the buffer size. 2026年04月23日 18:45:55 +02:00
README.md add HTML newlines to the readme because markdown is unable to understand what CRLF fucking means!!!! AAAAA I'm so angry I could write an angry commit message as a revenge! 2026年04月14日 21:57:32 +02:00

Reticulum Debugging Protocol (Python Implementation)


**WORK IN PROGRESS**: This project is definitely not done and absolutely not ready for use. This ain't beta or alpha. This is only for development, so **BACK OFF**!

This is the python implementation of the Reticulum Debugging Protocol, a protocol to allow easy debugging of Reticulum instances, which can be used to find bugs, aid the development of new implementations, and test an implementation's compliance with the reference implementation.
The protocol uses TCP to communicate between the Reticulum node and the client. You might think it's not a good idea if Reticulum replaces TCP someday, but you have to keep in mind that if you need to debug Reticulum maybe it isn't very reliable, which means that you might be unable to debug when you need to, which is definitely not ideal and is why we use a side-channel instead.

Files

The project contains the following files:

  • client.py : A client offering a command line interface to use the protocol on a low level.
  • node.py : A script to start a Reticulum node with the debugging protocol active.
  • commands.py : Only useful for developers, shared code between client and server for the different commands that are supported. Also acts as a specification.

There's also README.md and .gitignore, but you probably know what they do.