product and engineering specifications for simplexmq#1726
Open
epoberezkin wants to merge 66 commits intorcv-servicesfrom
Open
product and engineering specifications for simplexmq#1726epoberezkin wants to merge 66 commits intorcv-servicesfrom
epoberezkin wants to merge 66 commits intorcv-servicesfrom
Conversation
5182d93 to
0bba2ef
Compare
ea808cc to
f3df37f
Compare
f3df37f to
09d55de
Compare
9043b84 to
3145f8e
Compare
3145f8e to
b62a224
Compare
spaced4ndy
reviewed
Mar 17, 2026
| - **Duplex connections**: each connection uses a pair of SMP queues - one for each direction. The queues can be on different routers chosen independently by each party. See the [duplex connection procedure](../protocol/agent-protocol.md) for the full handshake. | ||
| - **Connection establishment**: one party creates a connection and generates an invitation (containing router address, queue ID, and public keys). The invitation is passed out-of-band (QR code, link, etc.). The other party joins by creating a reverse queue and completing the handshake. | ||
| - **Connection links**: the Agent supports connection links (long and short) for sharing connection invitations via URLs. Short links use a separate SMP queue to store the full invitation, allowing compact QR codes. | ||
| - **Queue rotation**: the Agent periodically rotates the underlying SMP queues, limiting the window for metadata correlation. Rotation is transparent to the application - the connection identity is stable while the underlying queues change. |
spaced4ndy
reviewed
Mar 17, 2026
|
|
||
| After deployment (up to 5 minutes), get the server address from Linode tags or SSH: `smp://<fingerprint>@<fqdn>`. | ||
|
|
||
| ### DigitalOcean 1-click |
spaced4ndy
reviewed
Mar 17, 2026
| @@ -0,0 +1,9 @@ | |||
| # Agent — Duplex Connections | |||
Collaborator
There was a problem hiding this comment.
empty - don't forget to remove
spaced4ndy
reviewed
Mar 17, 2026
| Initialize: `smp-server init -n <fqdn>` (or `--ip <ip>`). This generates TLS certificates. The CA certificate fingerprint becomes part of the server address: `smp://<fingerprint>@<hostname>[:5223]`. | ||
|
|
||
| SMP server implements [SMP protocol](./protocol/simplex-messaging.md). | ||
| The server uses in-memory persistence with an optional append-only store log for queue persistence across restarts. Enable with `smp-server init -l` or in `smp-server.ini`. The log is compacted on every restart. |
Collaborator
There was a problem hiding this comment.
Strange to specify in-memory persistence as main option at this point, and to not mention db option.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.