From bb0f584e91dce7f9c5f4cb7bd1ca0379927e00b7 Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Thu, 14 Mar 2024 10:30:43 +0530 Subject: [PATCH] [docs][auth] Move the migration guides to the help docs Keep the old files, adding redirection notices to them. --- auth/migration-guides/README.md | 4 + auth/migration-guides/authy.md | 111 +----------------- auth/migration-guides/encrypted_export.md | 65 +--------- docs/docs/.vitepress/sidebar.ts | 11 +- .../docs/auth/migration-guides/authy/index.md | 10 +- docs/docs/auth/migration-guides/export.md | 63 ++++++++++ docs/docs/auth/migration-guides/index.md | 10 +- 7 files changed, 89 insertions(+), 185 deletions(-) create mode 100644 auth/migration-guides/README.md create mode 100644 docs/docs/auth/migration-guides/export.md diff --git a/auth/migration-guides/README.md b/auth/migration-guides/README.md new file mode 100644 index 000000000..56d8983d0 --- /dev/null +++ b/auth/migration-guides/README.md @@ -0,0 +1,4 @@ +Migration guides have moved to the [help +docs](https://help.ente.io/auth/migration-guides/). This folder just contains +redirects for old links. + diff --git a/auth/migration-guides/authy.md b/auth/migration-guides/authy.md index 4a0ad936b..630bc83c7 100644 --- a/auth/migration-guides/authy.md +++ b/auth/migration-guides/authy.md @@ -1,109 +1,2 @@ -# Migrating from Authy -A guide written by Green, an ente.io lover -> [!WARNING] -> Authy will soon be dropping support for its desktop apps in the near future. If you are looking to switch to ente Authenticator from Authy, I heavily recommend you export your codes as soon as you can. - ---- - -Migrating from Authy can be tiring, as you cannot export your 2FA codes through the app, meaning that you would have to reconfigure 2FA for all of your accounts for your new 2FA authenticator. However, easier ways exist to export your codes out of Authy. This guide will cover two of the most used methods for mograting from Authy to ente Authenticator. - -> [!CAUTION] -> Under any circumstances, do **NOT** share any JSON and TXT files generated using this guide, as they contain your **unencrypted** TOTP secrets! -> -> Also, there is **NO GUARANTEE** that these methods will export ALL of your codes. Make sure that all your accounts have been imported successfully before deleting any codes from your Authy account! - ---- - -# Method 1: Use Neeraj's export tool -**Who should use this?** General users who want to save time by skipping the hard (and rather technical) parts of the process.

- -One way to export is to [use this tool by Neeraj](https://github.com/ua741/authy-export/releases/tag/v0.0.4) to simplify the process and skip directly to importing to ente Authenticator. - -To export from Authy, download the tool for your specific OS, then type the following in your terminal: -``` -./ -``` - -Assuming the filename of the binary remains unmodified and the working directory of the terminal is the location of the binary, you should type this for MacOS: -> [!NOTE] -> On Apple Silicon devices, Rosetta 2 may be required to run the binary. -``` -./authy-export-darwin-amd64 authy_codes.txt -``` - -For Linux: -``` -./authy-export-linux-amd64 authy_codes.txt -``` - -For Windows: -``` -./authy-export-windows-amd64.exe authy_codes.txt -``` - -This will generate a text file called `authy_codes.txt`, which contains your Authy codes in ente's plaintext export format. You can now import this to ente Authenticator! - -# Method 2: Use gboudreau's GitHub guide -**Who should use this?** Power users who have spare time on their hands and prefer a more "known and established" solution to exporting Authy codes.

- -A user on GitHub (gboudreau) wrote a guide to export codes from Authy (morpheus on Discord found this and showed it to us), so we are going to be using that for the migration. - -To export your data, please follow [this guide](https://gist.github.com/gboudreau/94bb0c11a6209c82418d01a59d958c93). - -This will create a JSON file called `authy-to-bitwarden-export.json`, which contains your Authy codes in Bitwarden's export format. You can now import this to ente Authenticator! - -# Method 2.1: If the export worked, but the import didn't -> [!NOTE] -> This is intended only for users who successfully exported their codes using the guide in method 2, but could not import it to ente Authenticator for whatever reason. If the import was successful, or you haven't tried to import the codes yet, ignore this section. -> -> If the export itself failed, try using [**method 1**](#method-1-use-neerajs-export-tool) instead. - -Usually, you should be able to import Bitwarden exports directly into ente Authenticator. In case this didn't work for whatever reason, I've written a program in Python that converts the JSON file into a TXT file that ente Authenticator can use, so you can try importing using plain text import instead. - -You can download my program [here](https://github.com/gweeeen/ducky/blob/main/duckys_other_stuff/authy_to_ente.py), or you can copy the program below: -```py -import json -import os - -totp = [] - -accounts = json.load(open('authy-to-bitwarden-export.json','r',encoding='utf-8')) - -for account in accounts['items']: - totp.append(account['login']['totp']+'\n') - -writer = open('auth_codes.txt','w+',encoding='utf-8') -writer.writelines(totp) -writer.close() - -print('Saved to ' + os.getcwd() + '/auth_codes.txt') -``` - -To convert the file with this program, you will need to install [Python](https://www.python.org/downloads/) on your computer. - -Before you run the program, make sure that both the Python program and the JSON file are in the same directory, otherwise this will not work! - -To run the Python program, open it in your IDE and run the program, or open your terminal and type `python3 authy_to_ente.py` (MacOS/Linux, or any other OS that uses bash) or `py -3 authy_to_ente.py` (Windows). Once you run it, a new TXT file called `auth_codes.txt` will be generated. You can now import your data to ente Authenticator! - ---- -You should now have a TXT file (method 1, method 2.1) or a JSON file (method 2) that countains your TOTP secrets, which can now be imported into ente Authenticator. To import your codes, please follow one of the steps below, depending on which method you used to export your codes. - -# Importing to ente Authenticator (Method 1, method 2.1) -1. Copy the TXT file to one of your devices with ente Authenticator. -2. Log in to your account (if you haven't already), or press "Use without backups". -3. Open the navigation menu (hamburger button on the top left), then press "Data", then press "Import codes". -4. Select the "Plain text" option. -5. Select the TXT file that was made earlier. - -# Importing to ente Authenticator (Method 2) -1. Copy the JSON file to one of your devices with ente Authenticator. -2. Log in to your account (if you haven't already), or press "Use without backups". -3. Open the navigation menu (hamburger button on the top left), then press "Data", then press "Import codes". -4. Select the "Bitwarden" option. -5. Select the JSON file that was made earlier. - -If this didn't work, refer to [**method 2.1**](#method-21-if-the-export-worked-but-the-import-didnt).

- -And that's it! You have now successfully migrated from Authy to ente Authenticator. - -Now that your secrets are safely stored, I recommend you delete the unencrypted JSON and TXT files that were made during the migration process for security. +Moved to +[help.ente.io/auth/migration-guides/authy](https://help.ente.io/auth/migration-guides/authy/) diff --git a/auth/migration-guides/encrypted_export.md b/auth/migration-guides/encrypted_export.md index b4e64134e..80a844c85 100644 --- a/auth/migration-guides/encrypted_export.md +++ b/auth/migration-guides/encrypted_export.md @@ -1,63 +1,2 @@ -# Auth Encrypted Export format - -## Overview - -When we export the auth codes, the data is encrypted using a key derived from the user's password. -This document describes the JSON structure used to organize exported data, including versioning and key derivation -parameters. - -## Export JSON Sample - -```json -{ - "version": 1, - "kdfParams": { - "memLimit": 4096, - "opsLimit": 3, - "salt": "example_salt" - }, - "encryptedData": "encrypted_data_here", - "encryptionNonce": "nonce_here" -} -``` - -The main object used to represent the export data. It contains the following key-value pairs: - -- `version`: The version of the export format. -- `kdfParams`: Key derivation function parameters. -- `encryptedData"`: The encrypted authentication data. -- `encryptionNonce`: The nonce used for encryption. - -### Version - -Export version is used to identify the format of the export data. - -#### Ver: 1 - -* KDF Algorithm: `ARGON2ID` -* Decrypted data format: `otpauth://totp/...`, separated by a new line. -* Encryption Algo: `XChaCha20-Poly1305` - -#### Key Derivation Function Params (KDF) - -This section contains the parameters that were using during KDF operation: - -- `memLimit`: Memory limit for the algorithm. -- `opsLimit`: Operations limit for the algorithm. -- `salt`: The salt used in the derivation process. - -#### Encrypted Data - -As mentioned above, the auth data is encrypted using a key that's derived by using user provided password & kdf params. -For encryption, we are using `XChaCha20-Poly1305` algorithm. - -## How to use the exported data - -* **Ente Authenticator app**: You can directly import the codes in the Ente Authenticator app. - > Settings -> Data -> Import Codes -> ente Encrypted export. - -* **Decrypt using Ente CLI** : Download the latest version of [Ente CLI](https://github.com/ente-io/ente/releases?q=CLI&expanded=false), and run the following command - -``` - ./ente auth decrypt -``` +Moved to +[help.ente.io/auth/migration-guides/export](https://help.ente.io/auth/migration-guides/export/) diff --git a/docs/docs/.vitepress/sidebar.ts b/docs/docs/.vitepress/sidebar.ts index 8d5082739..48d3df1f9 100644 --- a/docs/docs/.vitepress/sidebar.ts +++ b/docs/docs/.vitepress/sidebar.ts @@ -69,9 +69,16 @@ export const sidebar = [ { text: "FAQ", link: "/auth/faq/" }, { text: "Migration guides", - collapsed: true, + collapsed: false, items: [ - { text: "From Authy", link: "/auth/migration-guides/authy/" }, + { + text: "From Authy", + link: "/auth/migration-guides/authy/", + }, + { + text: "Out of Ente", + link: "/auth/migration-guides/export", + }, ], }, ], diff --git a/docs/docs/auth/migration-guides/authy/index.md b/docs/docs/auth/migration-guides/authy/index.md index 4a0ad936b..399636790 100644 --- a/docs/docs/auth/migration-guides/authy/index.md +++ b/docs/docs/auth/migration-guides/authy/index.md @@ -1,6 +1,6 @@ # Migrating from Authy A guide written by Green, an ente.io lover -> [!WARNING] +> [!WARNING] > Authy will soon be dropping support for its desktop apps in the near future. If you are looking to switch to ente Authenticator from Authy, I heavily recommend you export your codes as soon as you can. --- @@ -9,7 +9,7 @@ Migrating from Authy can be tiring, as you cannot export your 2FA codes through > [!CAUTION] > Under any circumstances, do **NOT** share any JSON and TXT files generated using this guide, as they contain your **unencrypted** TOTP secrets! -> +> > Also, there is **NO GUARANTEE** that these methods will export ALL of your codes. Make sure that all your accounts have been imported successfully before deleting any codes from your Authy account! --- @@ -25,7 +25,7 @@ To export from Authy, download the tool for your specific OS, then type the foll ``` Assuming the filename of the binary remains unmodified and the working directory of the terminal is the location of the binary, you should type this for MacOS: -> [!NOTE] +> [!NOTE] > On Apple Silicon devices, Rosetta 2 may be required to run the binary. ``` ./authy-export-darwin-amd64 authy_codes.txt @@ -48,12 +48,12 @@ This will generate a text file called `authy_codes.txt`, which contains your Aut A user on GitHub (gboudreau) wrote a guide to export codes from Authy (morpheus on Discord found this and showed it to us), so we are going to be using that for the migration. -To export your data, please follow [this guide](https://gist.github.com/gboudreau/94bb0c11a6209c82418d01a59d958c93). +To export your data, please follow [this guide](https://gist.github.com/gboudreau/94bb0c11a6209c82418d01a59d958c93). This will create a JSON file called `authy-to-bitwarden-export.json`, which contains your Authy codes in Bitwarden's export format. You can now import this to ente Authenticator! # Method 2.1: If the export worked, but the import didn't -> [!NOTE] +> [!NOTE] > This is intended only for users who successfully exported their codes using the guide in method 2, but could not import it to ente Authenticator for whatever reason. If the import was successful, or you haven't tried to import the codes yet, ignore this section. > > If the export itself failed, try using [**method 1**](#method-1-use-neerajs-export-tool) instead. diff --git a/docs/docs/auth/migration-guides/export.md b/docs/docs/auth/migration-guides/export.md new file mode 100644 index 000000000..b4e64134e --- /dev/null +++ b/docs/docs/auth/migration-guides/export.md @@ -0,0 +1,63 @@ +# Auth Encrypted Export format + +## Overview + +When we export the auth codes, the data is encrypted using a key derived from the user's password. +This document describes the JSON structure used to organize exported data, including versioning and key derivation +parameters. + +## Export JSON Sample + +```json +{ + "version": 1, + "kdfParams": { + "memLimit": 4096, + "opsLimit": 3, + "salt": "example_salt" + }, + "encryptedData": "encrypted_data_here", + "encryptionNonce": "nonce_here" +} +``` + +The main object used to represent the export data. It contains the following key-value pairs: + +- `version`: The version of the export format. +- `kdfParams`: Key derivation function parameters. +- `encryptedData"`: The encrypted authentication data. +- `encryptionNonce`: The nonce used for encryption. + +### Version + +Export version is used to identify the format of the export data. + +#### Ver: 1 + +* KDF Algorithm: `ARGON2ID` +* Decrypted data format: `otpauth://totp/...`, separated by a new line. +* Encryption Algo: `XChaCha20-Poly1305` + +#### Key Derivation Function Params (KDF) + +This section contains the parameters that were using during KDF operation: + +- `memLimit`: Memory limit for the algorithm. +- `opsLimit`: Operations limit for the algorithm. +- `salt`: The salt used in the derivation process. + +#### Encrypted Data + +As mentioned above, the auth data is encrypted using a key that's derived by using user provided password & kdf params. +For encryption, we are using `XChaCha20-Poly1305` algorithm. + +## How to use the exported data + +* **Ente Authenticator app**: You can directly import the codes in the Ente Authenticator app. + > Settings -> Data -> Import Codes -> ente Encrypted export. + +* **Decrypt using Ente CLI** : Download the latest version of [Ente CLI](https://github.com/ente-io/ente/releases?q=CLI&expanded=false), and run the following command + +``` + ./ente auth decrypt +``` diff --git a/docs/docs/auth/migration-guides/index.md b/docs/docs/auth/migration-guides/index.md index 603c87011..db9ed61f0 100644 --- a/docs/docs/auth/migration-guides/index.md +++ b/docs/docs/auth/migration-guides/index.md @@ -1,11 +1,9 @@ --- title: Migrating to Ente Auth -description: - Guides for migrating your existing 2FA tokens from other products into Ente - Auth +description: Guides for migrating your existing 2FA tokens into or out of Ente Auth --- -# Migrating to Ente Auth +# Migrating to/from Ente Auth -_Coming soon_. This section will contain guides for migrating your existing 2FA -tokens from other products into Ente Auth. +* [Migrating from Authy](authy/) +* [Exporting your data out of Ente Auth](export)