Into the Matrix, or ITM for short, migrates a Mattermost or RocketChat export into a Matrix/Synapse homeserver via the Application Service API. Messages, threads, attachments, and direct messages are replayed as historical events under the original authors' Matrix identities.
Progress is saved after every event. Interrupted runs resume from where they left off without re-sending anything.
Rooms are created unencrypted. The Matrix Application Service API sends plaintext events; end-to-end encryption is incompatible with historical import because there are no client session keys to encrypt past messages with.
ITM is written for PHP 8.4+ and released as open source (AGPLv3).
You can find the official repo on codeberg.org/joho1968/into-the-matrix