Skip to content

Instantly share code, notes, and snippets.

@oetiker
Last active February 28, 2024 17:22
Show Gist options
  • Save oetiker/3b4cc76c036fdfad14b9ace8c0666243 to your computer and use it in GitHub Desktop.
Save oetiker/3b4cc76c036fdfad14b9ace8c0666243 to your computer and use it in GitHub Desktop.
Migrating Authy to Bitwarden

Migrating Authy to Bitwarden (Linux Edition)

With Authy EOLing the desktop App, migrating your Data may suddenly have become rather urgent. Here are some instructions, heavily influenced by information found on this gist

First install the authy desktop app and start it

wget https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_18.snap
unsquashfs -q -f -d authy-2.2.3 H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_18.snap
authy-2.2.3/authy --remote-debugging-port=5858

Now login to your Authy account. You will see all your entries.

To extract the data, open http://localhost:5858 with your browser. You now see the Debugger. Open the console and paste the following javascript:

let x = []; 
appManager.getModel().forEach(i => {
  if (i.decryptedSeed) {
    x.push({
      type: 1, 
      name: i.originalName,
      login: {username: i.name, totp: i.decryptedSeed}
    })
  }});
  console.log(JSON.stringify({ encrypted: false, items: x})
);

When you press [enter] you will get a dump in json format which you can directly copy/paste into the bitwarden import tool. Since Authy does not contain complete login information, I would suggest to create a new folder for the import, so that you can then merge the TOTP tokens into the actual login entries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment