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
1 year ago
.github Rename workflow 2 years ago
confmgr Added new config option to conf struct 2 years ago
docs Created docs directory 2 years ago
esockets Fixed some conditions 2 years ago
example-esocket-conf Removed default http esocket 2 years ago
shim Created and started using log shim and cleaned up deps 2 years ago
stringres Fixed errorf warning 2 years ago
vendor Re-added mautrix-go 2 years ago
.gitignore Added devel registration file to .gitignore 2 years ago
Dockerfile Added (empty) example esocket configs 2 years ago
LICENSE Initial commit 2 years ago README: Comment out chat as currently unused 1 year ago Properly fixed docker build 2 years ago Minor tweaks 2 years ago
example-config.yaml Added setting to example config 2 years ago
go.mod Re-added mautrix-go 2 years ago
go.sum Re-added mautrix-go 2 years ago
main.go Inject incoming data queue also 2 years 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.