Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Add git-crypt support #739

vHanda started this conversation in Feature Requests
Oct 31, 2020 · 8 comments · 1 reply
Discussion options

git-crypt is fairly awesome and simple to setup.


Please vote on this issue with a 👍 reaction. It's one of the primary mechanisms used to prioritize issues. Please also subscribe to the issue if you're interested, as that way I can discuss possible implementations and share mockups.

You must be logged in to vote

Replies: 8 comments · 1 reply

Comment options

@vHanda git-crypt integration would be awesome! I'm currently using it on my desktop for all my markdown notes and it works flawlessly.
If you can give me instructions on the work needed to integrate it to gitJournal, I can spend some time to work on the integration in a PR.

You must be logged in to vote
0 replies
Comment options

vHanda
Jan 22, 2021
Maintainer Author

@vHanda git-crypt integration would be awesome! I'm currently using it on my desktop for all my markdown notes and it works flawlessly.
If you can give me instructions on the work needed to integrate it to gitJournal, I can spend some time to work on the integration in a PR.

I'm sorry I never responded. I didn't have the energy to look into how to implement this.

  • git-crypt is GPL v3 licensed, and I would prefer not to have any GPL licensed code in this repo. Mostly because of the ios App Store - https://apple.stackexchange.com/questions/6109/is-it-possible-to-have-gpl-software-in-the-mac-app-store

  • Git Crypt would need to be implemented in Dart. That would be the easiest as parts of GitJournal use libgtit2 and parts use dart-git. My plan is to remove libgit2 entirely.

  • Git crypt relies on libgcrypt (gpg) to encrypt and decrypt the files. We could either see if openssl can be used instead as it is already used by GitJournal, that would be the easiest - but I doubt that would work. The other option would be to package libgrypt. This isn't particularly fun and requires it to be cross compiled for some 7-8 different platforms (4 on Android and some 3-4 on ios). I can help with this, though it took me quite a while to get this working on libgit2.

  • Once libgrypt has been packaged we would need to access it from Dart. There are 2 ways - via FFI (in beta mode) or through Dart Platform Plugins. On Android that would involve using NDK. I'm not sure when FFI will get out of beta mode, and I don't want to ship GitJournal with Flutter's beta mode as that causes lots of crashes.

  • I found https://pub.dev/packages/openpgp - I'm not sure if it exposes everything required by git-crypt, but it might be easier to just expand that and add what is required.

You must be logged in to vote
0 replies
Comment options

vHanda
Jan 22, 2021
Maintainer Author

If you want, we can even try to do some remote pair programming for this.

You must be logged in to vote
0 replies
Comment options

I use git-crypt with a symmetric key, so I guess this doesn't require a full-blown gpg. Maybe that's an easier start: supporting symmetric key git-crypt. For my personal notes I don't see the point in gpg key management, as I am the only one accessing them.

What I noticed is that git-crypt doesn't cope well with merges, unless you provide it with a merge handler. Pull-requests were made but unfortunately not integrated.

I wrote about my solution here

You must be logged in to vote
0 replies
Comment options

We could also use our own fork of git-crypt with AGWA/git-crypt#180.

Especially with the transition to https://github.com/GitJournal/dart-git I suppose this could just be a feature of that. Just not sure how much is missing for that transition.

Merging would need to be anyways implemented in a way a normal user can do it inside of the Mobile App.

You must be logged in to vote
0 replies
Comment options

vHanda
Jun 21, 2021
Maintainer Author

We could also use our own fork of git-crypt with AGWA/git-crypt#180.

Could you please elaborate? I don't understand what you mean by "our fork of git-crypt". How does handling merging help with GitJournal implementing git-crypt?

You must be logged in to vote
0 replies
Comment options

We would need to do merging or am I wrong in that assumption?

But as I mentioned, we could do that with the transition to dartgit

You must be logged in to vote
0 replies
Comment options

Hi, just hopping in here to ask if there has there been any progress on this?

You must be logged in to vote
1 reply
@vHanda
Comment options

vHanda Oct 17, 2023
Maintainer Author

There hasn't been and it's not something I'm planning to implement.

I'm strictly just bug fixing and working on features that I need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
5 participants
Converted from issue

This discussion was converted from issue #291 on November 19, 2022 02:19.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.