You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
0x1a8510f2 a3997c1ac4
README: Comment out chat as currently unused
7 months ago
.github Rename workflow 1 year ago
confmgr Added new config option to conf struct 1 year ago
docs Created docs directory 1 year ago
esockets Fixed some conditions 12 months ago
example-esocket-conf Removed default http esocket 1 year ago
shim Created and started using log shim and cleaned up deps 1 year ago
stringres Fixed errorf warning 12 months ago
vendor Re-added mautrix-go 1 year ago
.gitignore Added devel registration file to .gitignore 1 year ago
Dockerfile Added (empty) example esocket configs 1 year ago
LICENSE Initial commit 1 year ago README: Comment out chat as currently unused 7 months ago Properly fixed docker build 1 year ago Minor tweaks 1 year ago
example-config.yaml Added setting to example config 1 year ago
go.mod Re-added mautrix-go 1 year ago
go.sum Re-added mautrix-go 1 year ago
main.go Inject incoming data queue also 12 months ago

[Work In Progress] - This codebase is in its very early stages and should not be used. You have been warned.

E - Matrix Command & Control

Docker build status GitHub issues GitHub issues GitHub pull requests License

🤨 What is E?

  E = mc²
     /  \
 matrix  cc
        /  \
  command & control

E is a multi-purpose and multi-protocol command & control server designed to receive commands through the Matrix chat protocol and forward them to clients. It is also specifically designed to be versatile in that it can be used to bridge any data between Matrix and other protocols as long as valid esockets are implemented for those protocols.

🤔 Why is E?

While C&C servers are usually thought of in the context of malware, and E could indeed be used for this purpose (in which case I accept no responsibility for what you do), E can also be used for any number of things, such as:

  • controlling IoT devices via a text message - Matrix is already great at that, but with E, a custom protocol can be implemented to fit specific requirements
  • administering a large number of devices in business settings - E could translate between the protocols of tools you already use and Matrix
  • sending Matrix messages over any protocol providing there is an esocket for it
  • proxying Matrix traffic, if you want to do that for some reason instead of hosting a homeserver (requires a Matrix CS API esocket)

📅 When is E?


🔍 How Tos

  • Thanks to tulir's mautrix-whatsapp from which I shamelessly stole a few ideas, and mautrix-go which is the Matrix AppService library used in this project.