https://github.com/indra-labs/indra btw.
I need to mainly preface any viewing of that code with two things - it is in the midst of a change to make variable length paths (not only 3 hops of a fixed size) and it uses libp2p, which has a serious scalability problem due to the DHT it uses (same back end used for ipfs btw).
I would continue the work and bring something forward if I had the resources to do so. It needs a connectionless p2p system that tolerates nodes not having a complete picture of the network, a "connectionless" relaying scheme, mainly because it needs to be possible for a client to ask a relay to forward a message to a relay it may not know, and to just fuggin send it whatever fuck you.
The variable length, potentially padded path headers are important because to do this correctly you have to have relays told where the header stops and where the message starts, so they apply the correct keys, it uses two keys to perform this.