1
0
Fork 0
mirror of https://codeberg.org/june64/mrvc.git synced 2026-01-09 15:52:53 +01:00
mrvc (max room version checker) - a tool for determining how many members support which maximum room version for a given Matrix room
Find a file
2025-09-30 17:45:22 +02:00
config introduce option for JSON output 2025-08-19 21:22:42 +02:00
output introduce option for JSON output 2025-08-19 21:22:42 +02:00
roominfotree add continuwuity 0.5.0-rc.8 with v12 support to max version check 2025-09-30 17:45:22 +02:00
.gitignore add go build output to .gitignore 2025-08-18 22:08:52 +02:00
Containerfile add Containerfile 2025-08-18 20:00:04 +02:00
flake.lock add flake.nix with an mrvc package for various platforms 2025-08-18 18:48:04 +02:00
flake.nix add flake.nix with an mrvc package for various platforms 2025-08-18 18:48:04 +02:00
go.mod add first version of mrvc (max room version checker) 2025-08-15 18:05:14 +02:00
go.sum add first version of mrvc (max room version checker) 2025-08-15 18:05:14 +02:00
LICENSE license mrvc under the MIT license 2025-08-15 23:56:17 +02:00
main.go log additional informative infos when various errors are encountered 2025-08-20 22:01:30 +02:00
README.md introduce option for JSON output 2025-08-19 21:22:42 +02:00

mrvc (max room version checker)

mrvc is a tool for determining how many members support which maximum room version for a given Matrix room.

Its output looks something like this:

Room:
  !amwlFMejXQcoCxNYHH:matrix.org -> 1131
Given Aliases:
  #element-x-ios:matrix.org
Version Support:
  unknown -> 103
    ...
    unknown -> 101
      unknown -> 101
  v10 -> 2
    Synapse -> 2
      1.76.0 -> 1
      1.85.2 -> 1
  v11 -> 87
    Conduwuit -> 1
      0.4.6 (8f7ade4) -> 1
    Synapse -> 68
      ...
      1.134.0 -> 22
      1.135.0+pro.4 -> 3
      1.135.0 -> 17
    Tuwunel -> 9
      1.2.0 -> 1
      1.3.0 -> 8
    conduwuit -> 2
      0.5.0 (3e57b7d) -> 1
      0.5.0 (bec19df-dirty) -> 1
    continuwuity -> 7
      ...
      0.5.0-rc.7 (583cb92) -> 1
      0.5.0-rc.7 (e4a43b1) -> 1
  v12 -> 939
    Conduit -> 2
      0.10.8 -> 2
    Synapse -> 937
      1.135.2 -> 34
      1.136.0 -> 87
      1.136.0 (b=HEAD,t=v1.136.0,e8c6cb3d9e) -> 1
      1.136.0 (b=matrix-org-hotfixes-priv,a4db588e87) -> 815

Features

  • Show member count broken down by maximum room version, Matrix server implementation and version and optionally homeserver name.
  • Check multiple rooms at once by setting the --room flag multiple times.
  • Recursively check all the child rooms for the given rooms (spaces) by setting the --recursive flag.
  • Output the results as JSON by setting the --json flag.

Usage

Get a version of mrvc using either go build, nix or the Containerfile.
Furthermore a Matrix account with its access token is required. One way to obtain the access token is by going into Element -> Settings -> "Help & About" and at the bottom under "Advanced" the access token can be copied.

Then just run:

mrvc --user-id @myuser:myhomeserver.tld --token token --room '#name:homeserver.tld'

Note that each option is also available via an environment variable, which is especially useful for providing the access token to mrvc.

For a list of all the available options run:

mrvc -h

License

mrvc is licensed under the MIT License.