Archive Matrix room messages.
Creates a YAML log of all room messages, including media.
Note that at least Python 3.8+ is required.
- 
Install libolm 3.1+
- 
Debian 11+ (testing/sid) or Ubuntu 19.10+:
sudo apt install libolm-dev - 
Archlinux based distribution can install the
libolmpackage from the Community repository - 
macOS
brew install libolm - 
Failing any of the above refer to the olm repo for build instructions.
 
 - 
 - 
Clone the repo and install dependencies
git clone [email protected]:russelldavies/matrix-archive.git cd matrix-archive # Optional: create a virtualenv python -m venv venv && source venv/bin/activate pip install -r requirements.txt 
- 
Download your E2E room keys: in the client Element you can do this by clicking on your profile icon, Security & privacy, Export E2E room keys.
 - 
Run with an optional directory to store output, e.g.:
./matrix-archive.py chats - 
You'll be prompted to enter your homeserver, user credentials and the path to the room keys you downloaded in step 1.
 - 
You'll be prompted to select which room you want to archive and a YAML file with a log of all messages will be written along with media and member avatars.
 
In case you are using a SSO infrastructure … you have to know the SSO redirectUrl for the service and may need to adjust the SSO login field names in get_sso_login_token()
--batch --all-rooms --sso <redirectUrl> --server <homeserver> --user <SSOUSER> 
--userpass <SSOPASS> --keys element-keys.txt --keyspass <KEYSPASS> /tmp/test-archive/ ```