|
|
|
@ -431,69 +431,60 @@ transfer one or more dht messages directly without a previously made path.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
link immediate SML message (LISM)
|
|
|
|
|
link immediate state message (LISM)
|
|
|
|
|
|
|
|
|
|
transfer an SML message between nodes
|
|
|
|
|
transfer a state message between nodes
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
a: "s",
|
|
|
|
|
s: SMLMessage,
|
|
|
|
|
s: state_message,
|
|
|
|
|
v: 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
----
|
|
|
|
|
|
|
|
|
|
Stateles Mesh Layer (SML)
|
|
|
|
|
|
|
|
|
|
As a censor circumvention method layer 4 (udp) or layer 2 (ethernet)
|
|
|
|
|
network bridges are used to stateless route messages to the main onion
|
|
|
|
|
routing network in a stateless manner such that these network bridges
|
|
|
|
|
can be cacsaded many layers deep. The incentive to run these would be
|
|
|
|
|
the ability to hide your traffic shape in the shape of others without
|
|
|
|
|
the need to excess node churn.
|
|
|
|
|
|
|
|
|
|
stateless mesh discovery protocol (SMDP)
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
protocol for detecting and discovering mesh local
|
|
|
|
|
topology and where the mainline network is.
|
|
|
|
|
state message:
|
|
|
|
|
|
|
|
|
|
TODO: implement me
|
|
|
|
|
service node joined network
|
|
|
|
|
|
|
|
|
|
stateless mesh layer (SML)
|
|
|
|
|
{
|
|
|
|
|
A: "J",
|
|
|
|
|
R: "<32 bytes public key>",
|
|
|
|
|
V: 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
similar to link layer messeages but sent over the connectivity mesh layer that
|
|
|
|
|
uses ethernet.
|
|
|
|
|
service node parted network
|
|
|
|
|
|
|
|
|
|
SML messages MUST be contained inside a LISM when not over ethernet.
|
|
|
|
|
{
|
|
|
|
|
A: "P",
|
|
|
|
|
R: "<32 bytes public key>",
|
|
|
|
|
V: 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SML message MUST be routed to the recipiant if we are not the recipiant based
|
|
|
|
|
on the currently unspecified stateless routing protocol.
|
|
|
|
|
service node list request
|
|
|
|
|
|
|
|
|
|
TODO: implement routing protocol :^)
|
|
|
|
|
request the service node list starting at index O containing R entries
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
a: protocol_id_uint16,
|
|
|
|
|
r: "<32 bytes public identity key of recipiant>",
|
|
|
|
|
s: "<32 bytes public identity key of sender>",
|
|
|
|
|
t: "<1280 bytes payload>",
|
|
|
|
|
v: 0,
|
|
|
|
|
z: "<64 bytes signature generated by sender>"
|
|
|
|
|
A: "R",
|
|
|
|
|
O: starting_offset_int,
|
|
|
|
|
R: number_of_entires_to_request_int,
|
|
|
|
|
V: 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protocol values:
|
|
|
|
|
|
|
|
|
|
0 - mesh discovery
|
|
|
|
|
t is a SMDP frame (todo: specify me)
|
|
|
|
|
|
|
|
|
|
1 - direct chat
|
|
|
|
|
t is a NUL padded plaintext chat message for node opers to communicate between
|
|
|
|
|
nodes.
|
|
|
|
|
service node list response
|
|
|
|
|
|
|
|
|
|
2 - relayed data packet
|
|
|
|
|
t is a udp packet relayed from a client behind a client.
|
|
|
|
|
response to service node list request
|
|
|
|
|
|
|
|
|
|
3 - snode to snode direct ip traffic
|
|
|
|
|
t is an ip packet for "0 hop" direct ip traffic between service nodes
|
|
|
|
|
{
|
|
|
|
|
A: "L",
|
|
|
|
|
S: {
|
|
|
|
|
"<32 bytes pubkey>" : first_seen_time_uint64,
|
|
|
|
|
"<32 bytes pubkey>" : first_seen_time_uint64,
|
|
|
|
|
....
|
|
|
|
|
},
|
|
|
|
|
V: 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|