Skip to content

Commit aac28ad

Browse files
committed
Add distro packages
1 parent e42c2a5 commit aac28ad

File tree

9 files changed

+209
-17
lines changed

9 files changed

+209
-17
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
along with Papyrus. If not, see <http://www.gnu.org/licenses/>.
1818
-->
1919

20+
# 1.0.1
21+
22+
- Add AppImage, deb and rpm packages
23+
2024
# 1.0.0
2125

2226
- Initial version, basic functionality

README.md

Lines changed: 111 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,117 @@
1-
# papyrus
1+
<br/>
2+
<p align="center">
3+
<a href="https://github.com/ooguz/papyrus">
4+
<img src="https://github.com/ooguz/papyrus/assets/17238191/d8bf4dbe-117a-48d0-8905-9849e1119f57" alt="Logo" width="80" height="80">
5+
</a>
26

3-
A new Flutter project.
7+
<h3 align="center">Papyrus</h3>
48

5-
## Getting Started
9+
<p align="center">
10+
A simple paper backup tool
11+
<br/>
12+
<br/>
13+
<a href="https://github.com/ooguz/papyrus/issues">Report Bug</a>
14+
--
15+
<a href="https://github.com/ooguz/papyrus/issues">Request Feature</a>
16+
</p>
17+
</p>
618

7-
This project is a starting point for a Flutter application.
19+
![Downloads](https://img.shields.io/github/downloads/ooguz/papyrus/total) ![Contributors](https://img.shields.io/github/contributors/ooguz/papyrus?color=dark-green) ![Stargazers](https://img.shields.io/github/stars/ooguz/papyrus?style=social) ![Issues](https://img.shields.io/github/issues/ooguz/papyrus) ![License](https://img.shields.io/github/license/ooguz/papyrus)
820

9-
A few resources to get you started if this is your first Flutter project:
1021

11-
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
12-
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
22+
## About
1323

14-
For help getting started with Flutter development, view the
15-
[online documentation](https://docs.flutter.dev/), which offers tutorials,
16-
samples, guidance on mobile development, and a full API reference.
24+
![Screen Shot](https://github.com/ooguz/papyrus/assets/17238191/cc0d6c44-88ba-4dab-a388-863e86124788)
25+
26+
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.
27+
28+
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.
29+
30+
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).
31+
32+
## Installation
33+
34+
Go to the [Releases](https://github.com/ooguz/papyrus) page and download the package for your distribution and signatures.
35+
36+
### Checksum and signature verification
37+
38+
1. Download release files and checksums
39+
2. Get my GnuPG key to verify checksums
40+
41+
```bash
42+
gpg --keyserver keyserver.ubuntu.com --recv-keys D854D9D85CB4910704BD9C5B2D33E2BD3D975818
43+
```
44+
3. Verify `SHA256SUMS` file by running:
45+
46+
```bash
47+
gpg --verify SHA256SUMS.asc
48+
```
49+
4. Verify SHA256 checksums with:
50+
51+
```bash
52+
sha256sum -c SHA256SUMS
53+
```
54+
55+
### AppImage
56+
57+
Give execution permission to AppImage file and run Papyrus:
58+
59+
```bash
60+
chmod +x papyrus*-linux.AppImage
61+
./papyrus-*.AppImage
62+
```
63+
64+
65+
### Ubuntu/Debian (deb) Package
66+
67+
Install deb package and run Papyrus:
68+
69+
```bash
70+
sudo dpkg -i papyrus*.deb
71+
papyrus
72+
```
73+
74+
75+
## Roadmap
76+
77+
* Implement andOTP (or similiar) backup parser function
78+
* Implement password manager (KeePassXC, pass etc.) parser
79+
* Add restore from scan function
80+
* Add custom title and description to PDF
81+
82+
## Contributing
83+
84+
Any contributions you make are **greatly appreciated**.
85+
* If you have suggestions for adding or removing features, feel free to [open an issue](https://github.com/ooguz/papyrus/issues/new) to discuss it, or directly create a pull request after you edit the *README.md* file with necessary changes.
86+
* Please make sure you check your spelling and grammar.
87+
* Create individual PR for each suggestion.
88+
89+
### Creating A Pull Request
90+
91+
1. Fork the project
92+
2. Create your feature branch (`git checkout -b new_feature`)
93+
3. Commit your Changes (`git commit -m 'Add new feature'`)
94+
4. Push to the Branch (`git push origin new_feature`)
95+
5. Open a pull pequest
96+
97+
## License
98+
99+
Copyright (C) 2023 Özcan Oğuz
100+
101+
This program is free software: you can redistribute it and/or modify
102+
it under the terms of the GNU General Public License as published by
103+
the Free Software Foundation, either version 3 of the License, or
104+
(at your option) any later version.
105+
106+
This program is distributed in the hope that it will be useful,
107+
but WITHOUT ANY WARRANTY; without even the implied warranty of
108+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109+
GNU General Public License for more details.
110+
111+
You should have received a copy of the GNU General Public License
112+
along with this program. If not, see <https://www.gnu.org/licenses/>.
113+
114+
## Reading
115+
116+
* [Paper Backup - KeePassXC](https://keepassxc.org/blog/2020-10-03-paper-backup/)
117+
* [Why you still need paper hard copy backups?](https://www.norpacpaper.com/blog/why-you-still-need-paper-hard-copy-backups)

assets/logo-64x64.png

1.67 KB
Loading

assets/logo.svg

Lines changed: 3 additions & 0 deletions
Loading

lib/app/modules/home/controllers/home_controller.dart

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ class HomeController extends GetxController {
117117
}
118118
}
119119

120-
void generatePdf(
120+
Future<void> generatePdf(
121121
{required String path,
122122
bool qrCodes = true,
123123
bool ocrText = true,
@@ -278,11 +278,18 @@ class HomeController extends GetxController {
278278
return;
279279
}
280280
directoryToWrite.value = selectedDirectory;
281-
generatePdf(
282-
path: directoryToWrite.value,
283-
qrCodes: qrChecked.value,
284-
ocrText: ocrChecked.value,
285-
letterPaper: paperSizeSelection[1]);
281+
try {
282+
await generatePdf(
283+
path: directoryToWrite.value,
284+
qrCodes: qrChecked.value,
285+
ocrText: ocrChecked.value,
286+
letterPaper: paperSizeSelection[1]);
287+
} catch (e) {
288+
Get.snackbar("Error", "PDF creation failed",
289+
snackPosition: SnackPosition.BOTTOM);
290+
loading.value = false;
291+
return;
292+
}
286293
details.onStepContinue!();
287294
loading.value = false;
288295
};
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
display_name: Papyrus
2+
3+
icon: assets/logo.png
4+
5+
keywords:
6+
- Papyrus
7+
- paper
8+
- backup
9+
10+
generic_name: Papyrus
11+
12+
13+
categories:
14+
- Utility
15+
- Development
16+
17+
startup_notify: true
18+
19+
# You can specify the shared libraries that you want to bundle with your app
20+
#
21+
# flutter_distributor automatically detects the shared libraries that your app
22+
# depends on, but you can also specify them manually here.
23+
#
24+
# The following example shows how to bundle the libcurl library with your app.
25+
#
26+
# include:
27+
# - libcurl.so.4
28+
include: []
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
display_name: Papyrus
2+
package_name: papyrus
3+
maintainer:
4+
name: Özcan Oğuz
5+
email: hi@ooguz.net
6+
co_authors:
7+
- name: Özcan Oğuz
8+
email: hi@ooguz.net
9+
priority: optional
10+
section: x11
11+
installed_size: 6604
12+
essential: false
13+
icon: assets/logo.png
14+
15+
keywords:
16+
- Papyrus
17+
- paper
18+
- backup
19+
20+
generic_name: Papyrus
21+
22+
categories:
23+
- Utility
24+
- Development
25+
26+
startup_notify: true
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
icon: assets/logo.png
2+
summary: A simple paper backup tool
3+
group: Applications/Utilities
4+
vendor: Özcan Oğuz
5+
packager: Özcan Oğuz
6+
packagerEmail: hi@ooguz.net
7+
license: GPLv3
8+
url: https://github.com/ooguz/papyrus
9+
10+
display_name: Papyrus
11+
12+
keywords:
13+
- Papyrus
14+
- paper
15+
- backup
16+
17+
generic_name: Papyrus
18+
19+
categories:
20+
- Utility
21+
- Development
22+
23+
startup_notify: true

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: papyrus
2-
version: 1.0.0+1
2+
version: 1.0.1+1
33
publish_to: none
44
description: A simple paper backup tool.
55
homepage: https://github.com/ooguz/papyrus

0 commit comments

Comments
 (0)