- Go 97.8%
- Nix 1.2%
- Shell 0.8%
- Dockerfile 0.2%
| .forgejo | ||
| .idea | ||
| cmd | ||
| contrib | ||
| dev | ||
| docs | ||
| internal | ||
| libvenator | ||
| tests/e2e | ||
| utils | ||
| .gitignore | ||
| .gitmodules | ||
| .golangci.yml | ||
| .markdownlint-cli2.yaml | ||
| .markdownlint.yaml | ||
| .pre-commit-config.yaml | ||
| book.toml | ||
| build.sh | ||
| default.nix | ||
| flake.lock | ||
| flake.nix | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| README.md | ||
| renovate.json | ||
Matrix Venator
Over-fire all reactors. We're gonna blow right past this guy, whoever he is
Note
Interested in Venator as a project? Join #venator:nexy7574.co.uk to discuss :)
Venator is an independently maintained Matrix homeserver, written from scratch in Go using the mautrix-go SDK. Venator focuses on ease of use, efficiency, and technical compliance, bringing you a pocket-sized interoperable chat server, that will bring you where you need it to without question.
About
What is Matrix?
Matrix is an open network for secure, decentralised communication. Matrix is the protocol, which defines how different applications communicate with each other, which allows multiple components to interoperate with each other.
Venator is a "homeserver". A "homeserver" is like an Email server - it handles local messages and sending those messages out to other servers it is told to. It combines paradigms seen in other chat protocols like IRC, such as chat rooms, which enables you to communicate with several other users simultaneously.
It is important to note that Matrix is the protocol, not the app. You may use one of many apps, including Element's suite of apps (Element Web/Desktop, Element X, etc.), Cinny & derivatives, FluffyChat, Gomuks, iamb, etc.
Further reading: https://matrix.org/docs/chat_basics/matrix-for-im/#what-is-it
What are the goals?
As stated prior, Venator aims to be:
- Easy to set up, run, and manage
- Efficient, leaving as low of a resource footprint as possible while remaining performant
- Technically compliant with the Matrix specification
- Bleeding edge, implementing the latest features
The original intention for this project was for me to do hands-on learning to understand low-level properties of the Matrix protocol, such as the likes of federation, end-to-end encryption, and state resolution. However, the project is now in a state where it could seriously be considered a usable homeserver, so that's the direction it is now going in.
Is it ready yet?
No. Venator is still alpha quality, which means it is still rapidly evolving, chunks of functionality are missing, and earth-shattering bugs are expected. That doesn't mean you shouldn't set up a test deployment though! Give it a spin!
The project is currently listed on the Matrix.org ecosystem page under Alpha: https://matrix.org/ecosystem/servers/.
Tip
Venator does not yet implement Federation. You cannot currently communicate with users on other servers.
Looking for a server to deploy that is ready? Check out continuwuity!
Can I try it out?
See: https://timedout.codeberg.page/venator/#demo-instance.
Documentation
See: https://timedout.codeberg.page/venator/.
Setup
Read the Getting Started guide. It goes through all the steps required to get a Venator server set up, and your first user created.
Roadmap?
There isn't really a roadmap as such, but issues and pull requests get triaged into version milestones, which can be read as a sort of roadmap.
If you wish to discuss things related to Venator, please join the Matrix room at #venator:nexy7574.co.uk.