No description
Find a file
2026-03-27 15:36:26 -04:00
go.mod lol drag and drop 2026-03-27 15:36:12 -04:00
go.sum lol drag and drop 2026-03-27 15:36:12 -04:00
main.go lol drag and drop 2026-03-27 15:36:12 -04:00
README.md Update README.md 2026-03-27 15:36:26 -04:00

mverify

Tool to verify Matrix JSON on the command line (doesn't have to be a real event, it just has to be signed).

Really badly written right now, don't use it. Also it only works with one server, I may change that.

Usage

Create a JSON file with an array of events:

[
    {"event_id": ..., ...},
    {"event_id": ..., ...},
]

If working with a sync response, try this bad jq snippet:

jq '.rooms.join[] | .timeline.events[] + .state.events[] | delete(.event_id)' sync.json | jq -s . > parsed.json

If the server is down but you somehow have the public key, save it to a file formatted like this: ed25519:<key_id> <key>

Then run:

# query server for key
mverify -server server.com -fetch -file parsed.json
# with key from file
mverify -server server.com -key server.com.key -file parsed.json

Why

A friend asked, why when Conduit/Conduwuit/... admin commands or watcherbot exist? The reason is that they assume an online, properly federating server (at least to my knowledge).

I want a tool you can throw events into whenever, as long as you have the key, for easy to reproduce proof. That's all.