https://github.com/nextcloud/encryption-recovery-tools
This project contains tools to recover files that have been encrypted with the Nextcloud End-to-End Encryption or Nextcloud Server-Side Encryption.
https://github.com/nextcloud/encryption-recovery-tools
Last synced: 4 months ago
JSON representation
This project contains tools to recover files that have been encrypted with the Nextcloud End-to-End Encryption or Nextcloud Server-Side Encryption.
- Host: GitHub
- URL: https://github.com/nextcloud/encryption-recovery-tools
- Owner: nextcloud
- License: agpl-3.0
- Created: 2023-04-12T12:12:52.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2025-08-22T12:38:39.000Z (6 months ago)
- Last Synced: 2025-10-11T11:29:47.116Z (4 months ago)
- Language: PHP
- Homepage:
- Size: 735 KB
- Stars: 74
- Watchers: 3
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Nextcloud Encryption Recovery Tools
## End-to-End Encryption
The script located at `./end-to-end-encryption/recover.php` can recover your precious files if you encrypted them with the **Nextcloud End-to-End Encryption** and still have access to the data directory and the user mnemonics.
For further information have a look at the [**README**](./end-to-end-encryption/README.md) of the script.
## Server-Side Encryption
The script located at `./server-side-encryption/recover.php` can recover your precious files if you encrypted them with the **Nextcloud Server-Side Encryption** and still have access to the data directory and the Nextcloud configuration file (`config/config.php`).
It supports the master-key encryption, the user-key encryption and can even use the rescue key if it had been enabled as well as the public sharing key for files that had been publicly shared.
For further information have a look at the [**README**](./server-side-encryption/README.md) of the script.
## Security Warning
The main goal of the Nextcloud Encryption Recovery Tools is to recover the contents of encrypted files in case there is a catastrophic failure.
For that reason, the recovery scripts **do not** cryptographically verify the integrity of the files while processing them in order to be able to recover the contents of as many encrypted files as possible.
## Testing
The compatibility with Nextcloud releases is tested with [PHPUnit](https://phpunit.de).
For every major release there is a separate set of files that has been generated by the corresponding Nextcloud release.
To test the support of legacy encryption schemes, additional sets of files have been generated with older Owncloud releases.
Due to their size the test data are located in the separate repositories [nextcloud/end-to-end-encryption-testdata](https://github.com/nextcloud/end-to-end-encryption-testdata) and [nextcloud/server-side-encryption-testdata](https://github.com/nextcloud/server-side-encryption-testdata).
All test suites can be executed as follows:
```
./phpunit.sh
```
## License
The encryption-recovery-tools are licensed under the GNU Affero General Public License 3.0.
This does not include third party content contained in this repository.
The third party content is licensed under the respective license as described in the corresponding license files.
When you contribute content to this repository you acknowledge that you provide your contributions under the GNU Affero General Public License 3.0.
## Origins
The **encryption-recovery-tools** were originally developed by [SysEleven](https://www.syseleven.de/) as the [nextcloud-tools](https://github.com/syseleven/nextcloud-tools) project but have since been moved to the [Nextcloud](https://nextcloud.com) Github space.