A simple paper backup tool for GnuPG or SSH keys
Papyrus
About
If you are working with GnuPG or SSH, you will probably understand the fear of losing your keys. This tool makes a “hard copy” of your text files including but not limited to your keys, 2FA backups, config files etc.
Papyrus can produce a PDF output which consist of QR codes made from your file to restore easily, in addition to OCR-friendly plain text version of your file, to prevent any failure on QR codes, with checksums for each line.
My personal recommendation is to print your paper backup with laser printer to acid-free paper, put it into a plastic bag (Mylar is preferred) and seal it with a heat sealer (you can find one around 25 USD, also useful for food packaging).
Installation
Go to the Releases page and download the package for your distribution and signatures.
Checksum and signature verification
- Download release files and checksums
- Get my GnuPG key to verify checksums
gpg --keyserver keyserver.ubuntu.com --recv-keys D854D9D85CB4910704BD9C5B2D33E2BD3D975818
- Verify
SHA256SUMS
file by running:
gpg --verify SHA256SUMS.asc
- Verify SHA256 checksums with:
sha256sum -c SHA256SUMS
AppImage
Give execution permission to AppImage file and run Papyrus:
chmod +x papyrus*-linux.AppImage
./papyrus-*.AppImage
Ubuntu/Debian (deb) Package
Install deb package and run Papyrus:
sudo dpkg -i papyrus*.deb
papyrus
Example output
QR pages | OCR pages |
---|---|
Roadmap
- Implement andOTP (or similiar) backup parser function
- Implement password manager (KeePassXC, pass etc.) parser
- Add restore from scan function
- Add custom title and description to PDF
Contributing
Any contributions you make are greatly appreciated.
- If you have suggestions for adding or removing features, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
- Please make sure you check your spelling and grammar.
- Create individual PR for each suggestion.
Creating A Pull Request
- Fork the project
- Create your feature branch (
git checkout -b new_feature
) - Commit your Changes (
git commit -m 'Add new feature'
) - Push to the Branch (
git push origin new_feature
) - Open a pull pequest
License
Copyright (C) 2023 Özcan Oğuz
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.