mpobaschnig / vaults Goto Github PK
View Code? Open in Web Editor NEWKeep important files safe
License: GNU General Public License v3.0
Keep important files safe
License: GNU General Public License v3.0
Steps to reproduce
Steps to reproduce the behavior:
Current behavior
Password dialog gets cut-off when you go to unlock a vault by default.
Expected behavior
Password dialog shouldn't need to be adjusted by default.
Version information
Additional information
Steps to reproduce
Steps to reproduce the behavior:
Current behavior
The close button disappears from the header bar when adding/importing a new vault.
Expected behavior
That the close button remains visible during the entire runtime of the app.
Version information
Steps to reproduce
Steps to reproduce the behavior:
Current behavior
Installed backend not detected when importing an already made vault. While creating and using new one works.
Expected behavior
Installed backend should be detected when importing vault.
Version information
Additional information
Is your feature request related to a problem? Please describe.
On smaller screens (e.g. pinephone and the librem 5) it would be easier to use the configuration dialogs if they took up the whole screen.
Describe the solution you'd like
Windows should take up the full vertical space on small screens.
Additional context
Possible resources: libadwaita
and examples of adaptive menus in other projects like clapper.
Images
Note: These were take on the mobile QEMU image of PureOS
Currently, one has to press the refresh button to update the list of mounted/unmounted vaults, so add a way to listen to mount/unmount events to update the list accordingly.
Steps to reproduce
Steps to reproduce the behavior:
Current behavior
The dialog popup has incorrect size, thus not showing the content properly.
Expected behavior
The dialog popup has the right size, so there'd be no need to resize it manually.
Version information
Additional information
When it's finally released.
Situation:
My Linux partition was basically bricked a few days ago. All files intact, and I accessed them from new Linux partition, including vaults files.
I hope I came to ask at the right place. What does this error mean? and how to solve it?
Is your feature request related to a problem? Please describe.
Currently, when creating or importing a new vault, pressing tab in one entry focuses the next row instead of entry or combobox.
Describe the solution you'd like
Switch to next entry/combobox.
Steps to reproduce
I have put the gocryptfs binaries in ~.local/bin.
gocryptfs is not detected in vaults.
Current behavior
The Binaries are located in ~.local/bin. They are not detected in the app but gocryptfs is accessible through terminal.
Here are screenshots.
Expected behavior
Binaries should be detected as normal.
Version information
0.6.1
Steps to reproduce
I was unlocking the vault as usual, when I put the password and access I find that the folder is empty.
Current behavior
Currently I can't find a way to recover any of my data that was in the vault, although by analysing the disk I can see an encrypted folder with encrypted information, but I can't import it into Vaults.
Expected behavior
Being able to access information.
Version information
Additional information
When we go to preferences and "Choose Encrypted Data Directory" the console shows this:
(vaults:5): GVFS-WARNING **: 14:06:55.635: The peer-to-peer connection failed: Error when getting information for file “/run/user/1000/gvfsd”: No such file or directory. Falling back to the session bus. Your application is probably missing --filesystem=xdg-run/gvfsd privileges.
flatpak run --filesystem=xdg-run/gvfsd io.github.mpobaschnig.Vaults
fixes the above error message
--filesystem=xdg-run/gvfsd
to manifest?
There are lots of new widgets since Vaults was written, we should update the design.
Is your feature request related to a problem? Please describe.
I'd like to be able to mount multiple different encrypted directories without having to keep empty mount directories around.
Describe the solution you'd like
Select a parent directory where mount directories would be automatically created with (partially random?) generated directory names.
Additional context
e.g. I choose the parent directory /run/media/teohhanhui
, and Vaults would generate /run/media/teohhanhui/Vaults-{uuid}
Is your feature request related to a problem? Please describe.
gocryptfs doesn't support multiple passwords for the same directory except for using copies of the config file. However only the config file with the default config file CIPHERDIR/gocryptfs.conf
currently can be used with gocryptfs.
Describe the solution you'd like
Please add a per-vault optional property user mount options
(or similar) where any additional mount options could be specified (e.g. in mount-compatible comma separated syntax).
Additional context
I could imagine more use cases with gocryptfs:
reverse
option to get an encrypted view of a plain text directory, possibly with exclude patternssuid
/nosuid
, exec
/noexec
, dev
/nodev
)nonempty
directoriessharedstorage
in multi-user shared directories or on synced/cloud directoriesI guess that also the other backends would benefit.
Is your feature request related to a problem? Please describe.
On distros like fedora silverblue you generally are discouraged from layering packages.
Describe the solution you'd like
Include gocryptfs, CryFS, libfuse in the flatpak.
Additional context
Considering these are sensitive deps I wouldn't want them included in the flatpak unless there was a way to have a flathub bot watch upstream for updates and make automatic PRs.
Originally posted in #25 (comment)
On the Flatpak build 0.2.1, but it also happened in 0.1
As mentioned this happens whenever a file picker is opened. It doesn't seem to matter from which menu it was opened. Issue persists through restarts of the app.
First of all, thank you for your amazing work. I was using a script in nautilus with zenity to open my vault and even tried to build a gnome extension for it, although, I am not a developer. Thank you.
May I suggest to include your project on the GNOME Circle. The project will benefit from more advertising and visibility, and hopefully also from contributions.
Translations over Github PRs is cumbersome, so we should use translation websites like Weblate.
Steps to reproduce
Steps to reproduce the behavior:
Current behavior
A clear and concise description of the current behavior.
Expected behavior
A clear and concise description of what you expected to happen.
Version information
Additional information
Please provide the terminal output when the bug happens and if applicable, add screenshots or screencasts to help explain your problem.
If the mount is busy, the Vault can't be closed/unmounted.
Vaults can't find CryFS backend.
My setup: Fedora Silverblue 36, latest Vaults from Flathub stable, cryfs-0.11.2-1.fc36.
$ rpm -qi cryfs
Name : cryfs
Version : 0.11.2
Release : 1.fc36
Architecture: x86_64
Install Date: Tue 10 May 2022 18:57:10 MSK
Group : Unspecified
Size : 4499524
License : LGPLv3
Signature : RSA/SHA256, Sun 27 Mar 2022 13:36:24 MSK, Key ID 999f7cbf38ab71f4
Source RPM : cryfs-0.11.2-1.fc36.src.rpm
Build Date : Sun 27 Mar 2022 13:05:17 MSK
Build Host : buildvm-x86-27.iad2.fedoraproject.org
Packager : Fedora Project
Vendor : Fedora Project
URL : https://www.cryfs.org/
Bug URL : https://bugz.fedoraproject.org/cryfs
Summary : Cryptographic filesystem for the cloud
Description :
CryFS provides a FUSE-based mount that encrypts file contents, file
sizes, metadata and directory structure. It uses encrypted same-size
blocks to store both the files themselves and the blocks' relations
to one another. These blocks are stored as individual files in the
base directory, which can then be synchronized to remote storage
(using an external tool)
Is your feature request related to a problem? Please describe.
CryFS and gocryptfs have some flags that might be interesting for the user to change.
Describe the solution you'd like
In the settings dialog the settings can be changed per-vault.
Additional context
Additional action rows in a config section in settings dialog.
Is your feature request related to a problem? Please describe.
When i close the app it disappear to the nothingness.
Describe the solution you'd like
I would like to the app to continue working and appear in the gnome 44 "background app" menu.
I would also be nice to be able to send it in background automatically once a vault is opened.
I see that some GNOME apps allow their names to be translated.
Is the application name "Vaults" translatable?
Lots of widgets were deprecated in 4.10, we will need to port this first.
Right now only gocryptfs and Cryfs are supported, but as Vaults is, having more options could be amazing, for example eCryptfs and cryptomator encryption.
Both are licensed under GPL (v2 and v3), so shouldn't have problems for that, actually, cryptomator is so used in cloud encryption, so vaults could be a great frontend.
Veracrypt vaults could be amazing too, but the license is not libre (as FSF say), but its open source (is accepted by the OSI).
Is your feature request related to a problem? Please describe.
Currently only Flatpak is supported in the backend using flatpak-spawn commands.
Describe the solution you'd like
Add runtime check if the app is flatpak'd and depending on that use different commands.
Steps to reproduce
Steps to reproduce the behavior:
Current behavior
When in an empty directory in the file chooser, it is not possible to "select" the folder (button is greyed out). one needs to navigate one level up, mark the folder and can now click the select button
Expected behavior
When in an empty folder, it should be assumed that I could want to select the current directory as destination, and be offered to click the select button (or confirm via return-key)
Version information
Is your feature request related to a problem? Please describe.
When using Vaults in combination with semi-trustworthy cloud storage, detachable storage media or on a not fully encrypted system, it may be desirable to store the password to the encrypted volume on the local computer in a secure way that gets unlocked together with the local user account.
Describe the solution you'd like
I'd like to see a per-volume switch to allow storing the password for that volume in the session keyring. That way, it can be avoided to enter the password for a volume when it isn't necessary for security purposes.
Additional context
With rust, there is at least one usable library to interface with FreeDesktop's Secret Service API that's used by kwallet and gnome-keyring that includes flatpak/portal support: oo7
This may be related to #59 , but in my opinion storing passwords in keyring must be optional, not mandatory. In addition, I see this as a feature separate from automatically mounting volumes, even though it may be considered as a prerequisite.
Is your feature request related to a problem? Please describe.
Can you use the secret service of linux to save the encryption password and auto unlock it at boot.
Describe the solution you'd like
With this feature when we launch the app we can unlock the vault immediately and automatically
Is your feature request related to a problem? Please describe.
When initializing the backend, the UI gets stuck if the backend takes too long.
Describe the solution you'd like
Asynchronously init backend and show spinner.
Is your feature request related to a problem? Please describe.
The GTK entries without linked buttons do not have the same length as entries with buttons. This stands out.
Describe the solution you'd like
Change the length to match others.
Steps to reproduce
Steps to reproduce the behavior:
Current behavior
It removes the vault without any confirmation
Expected behavior
It should confirm the destructive operation.
Version information
Additional information
Is your feature request related to a problem? Please describe.
On fedora some backend don't work or aren't there.
Describe the solution you'd like
Let us in the settings tell the flatpak where the binary is.
Additional context
I know this might need to tweak permission but a warning when settings it manually (to change the settings of the flatpak would be welcomed).
Describe the solution you'd like
This would be useful to me as a global setting but maybe per vault is better.
This isn't so much a bug I'd guess, as opposed to just the way things are in Linux with Flatpaks installed as User, AFAIK. As an experiment, I installed Vaults via Flathub as User to my Home folder, then I made a vault using CryFS. Then I simply arbitrarily changed all permissions of everything in Home, as for example, via chmod + read, write, & executable. The result was that Vaults no longer respected their passwords, even if I changed permissions of the flatpak folders (local and var) back to my best guess as to their defaults. This is all somewhat expected, but I thought I should report here how easy it seems to nuke vaults, unless there is some vital piece of information I'm missing in order to restore them after their flatpak contents' permissions are changed via even GNOME Shell File Properties. This was just an experiment; I had no important data in them. But I conclude if somebody was trying to keep important documents or whatever, they should know it seems very easy to destroy access to them with a simple command or GUI gesture, and I'm not sure it's possible to recover. I don't know how the encryption works, but I'm guessing any modification to file permissions ruins a key or config in the app directory? Therefore, I suppose it should be noted somewhere that Vaults ought to be installed as a System Flatpak to reduce the chances of this happening so easily. I didn't see it if it already is. I don't know. Or maybe somebody here knows how to recover after a weird, but simple scenario like this.
Anyway, thanks for this neat app. I like it.
Steps to reproduce the behavior:
gnome sdk master not found?
flatpak install org.gnome.Sdk/x86_64/master
Looking for matches…
error: No remote refs found similar to ‘org.gnome.Sdk/x86_64/master’
rizvan@asif-pc:~/build/Vaults$ flatpak install org.gnome.Sdk
Looking for matches…
Remotes found with refs similar to ‘org.gnome.Sdk’:
1) ‘flathub’ (system)
2) ‘flathub’ (user)
Which do you want to use (0 to abort)? [0-2]: 2
Similar refs found for ‘org.gnome.Sdk’ in remote ‘flathub’ (user):
1) runtime/org.gnome.Sdk/x86_64/3.24
2) runtime/org.gnome.Sdk/x86_64/3.26
3) runtime/org.gnome.Sdk/x86_64/3.28
4) runtime/org.gnome.Sdk/x86_64/3.30
5) runtime/org.gnome.Sdk/x86_64/3.32
6) runtime/org.gnome.Sdk/x86_64/3.34
7) runtime/org.gnome.Sdk/x86_64/3.36
8) runtime/org.gnome.Sdk/x86_64/3.38
9) runtime/org.gnome.Sdk/x86_64/40
10) runtime/org.gnome.Sdk/x86_64/41
11) runtime/org.gnome.Sdk/x86_64/42
Steps to reproduce:
~/.vaults
example
Current behavior
The encrypted data directory of the new vault is set as ~/.vaultsexample
Expected behavior
The encrypted data directory of the new vault should be set as ~/.vaults/example
Version information
Additional information
This way it would be easier to distinguish these folders when working with many vaults.
Is your feature request related to a problem? Please describe.
Currently a user must decide between two backends, but may not know which backend to use when.
Describe the solution you'd like
Add addtional information when to use which backend. Maybe a button that can be clicked which shows an information dialog?
Steps to reproduce
Steps to reproduce the behavior:
Current behavior
Lock closes, but the actual directory doesn't unmount. When I open the mount directory, I can still see all the files.
Expected behavior
Mount directory should be emptied, same way as when using the fusermount -u
command
Version information
Steps to reproduce
Steps to reproduce the behavior:
Current behavior
Can't resize file picker window
Version information
Additional information
gocryptfs in their documentation mention:
The old principle still applies: Important data should have a backup. Also, keep a copy of your master key (printed on mount) in a safe place. This allows you to access the data even if the gocryptfs.conf config file is damaged or you lose the password.
That's why I think it is important to warn user how important gocryptfs.conf
is and tell them to back it up.
So that when bitrot happens on the config files or user accidentally delete it they can use the backed up conf.
Also I think having an unencrypted version of file as a backup is defeating the purpose of file encryption.
Describe the solution you'd like
Display a warning message after making a vault
The current summary "An application for creating encrypted vaults for the GNOME desktop." isn't great (longer than 35 characters, not a call to action, too generic).
I'd suggest something like "Encrypt important files", or "Keep important files safe".
More general guidance here: https://gitlab.gnome.org/GNOME/Initiatives/-/wikis/App-Metadata
GNOME 45 will release in near future which will deprecate GNOME 43 runtime which we currently use. So make a point release to upgrade runtime and add previously added translations.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.