Git Product home page Git Product logo

cryptor's People

Contributors

moson-mo avatar phpony avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

phpony

cryptor's Issues

Implement checks or listeners for vaults states

While the only way you interact with vaults is the cryptor and if you have option to unmount all vaults on quit - everything is ok.

But when you mount a vault via cryptor and then unmount it in console or Thunar, cryptor still acts as if this vault is still mounted and neither allows to mount it again nor can unmount already unmounted vault. So it enters the broken state where you can't do anything until you re-launch the app, which resets the state of vaults.

Same happens if you close cryptor without unmounting vault. On next launch it acts as if vault is not mounted and fails to mount it again because of "mount point not empty" error. In this case only manual 3rd-pary unmount fixes the broken state.

I think there should be background checks or some kind of "Refresh" button that will check each mount in config for is it mounted already or not. There's no need for any extensive checks. We could just run findmnt --mountpoint for each vault configured and basing on response either mark vaults already mounted or not mounted.

Another approach could be changing is_mounted from boolean variable false by default to function performing findmnt on each call.

I'll try to implement both scenarios and provide PR next week with best working solution.

Can't import existing vaults

I was hit by the bug where it didn't save the config, so after creating a vault and copying data to it, when starting the application again it forgot the vault.
I wanted to add the vault by selecting the Add Vault option from the menu.
It let me choose the name of the vault, the location and the mount point, but after confirming the dialog nothing happened.
When choosing Open it also let's me select an location (although it's not clear what?), but it comes up with an error message when selecting the gocryptfs.conf and then confirming the dialog.
"Error loading vaults."
Is there an option to add existing vaults that I'm missing?

Config file does not create

Cryptor does not create config file in the home directory. After Quit all settings drops.
cryptor ver: 1.0.1
OS: Manjaro Linux x86_64 Kernel: 5.15.38-1-MANJARO DE: Xfce 4.16

And please, add a preference to automatic creation of mounting folder and its deletion after unmount as it was made in Cryptkeeper for Encfs.

Some lines are missing or unavailable for translation

Hello.

I'm working on a translation right now and I noticed that some lines are missing both in the localization files and in the translation template (.pot file). A list of these lines:

Vault location
Browse...
Read-Write
Read-Only

I can send you an RP later if you add a translation option to these lines that are missing now:

  • Read-Write - In the main program window, in the "Mode" column and in the menu, edit storage. (Read-Only should be checked separately).
  • Config file: - Located at the bottom on the main window.
  • Quit - Located in the tray icon menu.

Custom command line parameters for vaults

It would be nice to have "Custom parameters" config field to provide command line parameters for each vault separately. Right now cryptor provides only "reverse" checkbox and "mode" selector in "Edit vault" form. Adding "Custom parameters" into "Edit dialog" will cover all other options available.

Use case - I want to mount one of my vaults with "-allow_other" and "-nonempty" parameters and can't do this with cryptor.

Will provide a PR.

Wipe passfile before deletion for better security?

Providing master password to gocryptfs via temporary file may rise some security concerns.

Current workflow is:

  1. Create passfile with plain password in it: var temp_file = File.new_tmp (null, out ps);
  2. Provide passfile to gocryptfs via -passfile option.
  3. Delete passifle: pfile.delete ();

Simple delete () may not be enough in this case, because this temporary file will probably be recoverable for some time (using ext4magic for example). We should either use some kind of "wipe then delete" scenario or implement some kind of virtual passfile.

Master recovery key for vault created from cryptor

Current gocryptfs displays master recovery key on init of the new vault:

$ gocryptfs -init dir
Choose a password for protecting your files.
Password: 
Repeat: 

Your master key is:

    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-
    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs filesystem has been created successfully.
You can now mount it using: gocryptfs dir MOUNTPOINT

But when you initialize new vault from cryptor master key is "lost in transition". We should provide additional step in vault creation workflow that will display dialogue window with master key and instructions as seen above.

Will provide a PR.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.