Comment by moonshot5
1 year ago
For zsh users who like this idea and don't want to have to worry about anything leaving the device (not to insinuate that Atuin is doing anything below board, I don't think they are) I built my own version of this for myself called raven:
https://github.com/tylersaunders/raven
Raven has no sync component, stores your history in a sqlite, and never tries to move data off the device. It has a similar / large overlap in features with Atuin.
Sharing here in case anyone else could benefit from it, it only supports zsh for the moment since that's what I use.
Atuin is great though!
our sync is opt-in + optional, e2e encrypted, and self-hostable.
if that's not enough, you can disable all network features via a feature flag at compile time
if you don't care for sync, there are a bunch of other projects doing this (and supporting several shells), eg:
- mcfly: https://github.com/cantino/mcfly
- resh: https://github.com/curusarn/resh
I am happy Atuin user now, but I was initially worried that it would sync my data unless I explicitly disabled that feature. The fact that it's opt-in becomes clear once you read the docs and understand how it works, but it might be worth emphasizing that on the landing page. Currently it says:
In any case, thanks for building a great tool!
> if that's not enough, you can disable all network features via a feature flag at compile time
Are there network features other than sync?
this is my only quip with atuin, despite my endorsement in a sibling comment. this should absolutely be opted-out BY DEFAULT. not defaulted to opt-in.
if you have someone outright cloning your entire project just to skip this opted-in privacy gap feature, it's a good indicator it's an issue to be mindful of!
I think you might be mixing them up?
Opt-in means that the user needs to actively decide to use the feature, it's OFF by default. That's currently the case for atuin (happy user without sync here).
Opt-out would mean the feature would be ON by default and users would need to actively decide NOT to use it.
You actually have to go and register an account or log in for sync to happen at all
Otherwise it’s offline, by default, right after install
Isn't it off by default? That's what opt-in means as far as I know.
For people OK with syncing to their own server, Atuin can be self-hosted as well
https://docs.atuin.sh/self-hosting/server-setup/
you could just disable sync in atuin
You could also just not enable it. It's off by default