mirror of
https://mau.dev/mautrix/go.git
synced 2026-03-14 22:35:52 +01:00
A Golang Matrix framework.
- Go 99.7%
- PLpgSQL 0.3%
This commit turns all of the crypto objects that are provided by olm into interfaces so that multiple implementations (libolm and goolm right now) can implement it. As part of this refactor, the libolm code has been moved to a separate package (goolm was already in its own package). Both packages now implement structs which implement the various interfaces. Additional changes: * goolm/goolmbase64: split into separate package (needed to avoid import loops) * olm/errors: unified all errors under the olm package * ci: remove libolm before building with goolm flag (this allows us to use ./... to build all of the packages under goolm) Signed-off-by: Sumner Evans <sumner.evans@automattic.com> Signed-off-by: Sumner Evans <sumner.evans@automattic.com> |
||
|---|---|---|
| .github/workflows | ||
| appservice | ||
| bridge | ||
| bridgev2 | ||
| crypto | ||
| event | ||
| example | ||
| federation | ||
| format | ||
| hicli | ||
| id | ||
| mediaproxy | ||
| pushrules | ||
| sqlstatestore | ||
| synapseadmin | ||
| .editorconfig | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| CHANGELOG.md | ||
| client.go | ||
| error.go | ||
| filter.go | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| README.md | ||
| requests.go | ||
| responses.go | ||
| responses_test.go | ||
| room.go | ||
| statestore.go | ||
| sync.go | ||
| syncstore.go | ||
| url.go | ||
| url_test.go | ||
| version.go | ||
| versions.go | ||
| versions_test.go | ||
mautrix-go
A Golang Matrix framework. Used by gomuks, go-neb, mautrix-whatsapp and others.
Matrix room: #go:maunium.net
This project is based on matrix-org/gomatrix. The original project is licensed under Apache 2.0.
In addition to the basic client API features the original project has, this framework also has:
- Appservice support (Intent API like mautrix-python, room state storage, etc)
- End-to-end encryption support (incl. interactive SAS verification)
- High-level module for building puppeting bridges
- High-level module for building chat clients
- Wrapper functions for the Synapse admin API
- Structs for parsing event content
- Helpers for parsing and generating Matrix HTML
- Helpers for handling push rules