README: Initial commit
This commit is contained in:
parent
95d6e155c8
commit
d18d8d55df
1 changed files with 50 additions and 0 deletions
50
README.md
Normal file
50
README.md
Normal file
|
@ -0,0 +1,50 @@
|
|||
# matrix-media-event-decrypt
|
||||
|
||||
Decrypt [matrix] media manually using event JSON obtained from a client.
|
||||
|
||||
Sometimes decrypting media fails for unknown reasons or your homeserver isn't able
|
||||
to federate in media from another server. If you were still able to receive the media
|
||||
event and (if encrypted) see the decrypted JSON, this tool might be able to help you
|
||||
download and decrypt the content.
|
||||
|
||||
## Building
|
||||
|
||||
A simple `cargo run --release --` should be all it takes. If not and on systems with an
|
||||
implementation of the Nix Package Manager (such as [lix](https://lix.systems)) you can
|
||||
install any required dependencies (probably only openssl) by running `nix-shell` first.
|
||||
|
||||
## Usage
|
||||
|
||||
Running the binary without any arguments will prompt you to paste the JSON of the media
|
||||
event you want to retrieve the contents of. On Element Web / Desktop this is the message
|
||||
context menu > View Source > Decrypted / Original Event Source.
|
||||
|
||||
On other clients you might need to fiddle around with the JSON a little, important is
|
||||
that it looks something like this:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"content": {
|
||||
"body": "something.jpg",
|
||||
"msgtype": "m.image",
|
||||
"m.mentions": {},
|
||||
"url": "mxc://nwex.de/undefined",
|
||||
// A bunch more
|
||||
},
|
||||
// A bunch more
|
||||
}
|
||||
```
|
||||
|
||||
Confirm by hitting <kbd>Ctrl</kbd>+<kbd>D</kbd> or <kbd>Enter</kbd> and wait for the magic to
|
||||
happen. You might be prompted to enter an access token if the server requires authentication
|
||||
to fetch the media. For convenience, this tool ignores the [matrix] specification and doesn't
|
||||
always use authenticated endpoints if support is advertised, instead just trying if it can get
|
||||
away without a token.
|
||||
|
||||
You can customize the server to download media from by passing `--server matrix.org`, for example.
|
||||
|
||||
## Contributing
|
||||
|
||||
For convenience this project is hosted on my personal git server without public registrations
|
||||
enabled. If you want to contribute feel free to reach out via the various platforms listed on
|
||||
[my website](https://nwex.de/).
|
Loading…
Reference in a new issue