Giter Club home page Giter Club logo

matrix-migrate's Introduction

matrix migrate fork

This is a fork of acterglobal's matrix-migrate tool.

It implements features such as:

  • --dry-run flag to display what changes would be made
  • Selection/Excluding of rooms using --rooms or --rooms-excluded
  • --leave-rooms for cleanup after migration
    • Removes the old user from the rooms
    • Restores the is_direct flag, so DMs are not displayed as chat rooms
  • Increases sync timeout and allows to override it using --timeout

CLI to migrate one matrix account to a new one. Similar to the EMS migrator but:

  1. is a nice little CLI tool, based on matrix-rust-sdk
  2. allows for restarts (refreshes at the beginning)
  3. it runs the operations async and is thus a lot faster

Note: It currently only migrates the rooms listing and power_levels, no user settings or profile data.

Install and use

You need a recent [Rust] installation. Then you can either clone the repository and use cargo run or use cargo-install:

cargo install https://matrix.org/acterglobal/matrix-migrate

and then can run it by just doing

matrix-migrate

Usage note

It requires both the user and password for the user from and to either as command line parameters, or preferably as environment variables (FROM_USER=, FROM_PASSWORD). It uses matrix discovery but if that doesn't work for you you can provide custom homeservers, too.

It will start with a full-sync of the room state, so depending on the size of your matrix account(s), this may take a moment.

Changelog

Unreleased

  • Add support for matching up power_levels, needs latest matrix-rust-sdk-git

matrix-migrate's People

Contributors

vidister avatar gnunicorn avatar

Stargazers

floy avatar Julian-Samuel Gebühr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.