skyjake / lagrange

A Beautiful Gemini Client
https://gmi.skyjake.fi/lagrange/
BSD 2-Clause "Simplified" License
1.19k stars 62 forks source link

Private browsing mode #60

Open emilis opened 3 years ago

emilis commented 3 years ago

Gemini is a new internet protocol which:

  • Takes user privacy very seriously

gemini://gemini.circumlunar.space/

Gemini is also intended to be very privacy conscious, to be difficult to extend in the future (so that it will stay simple and privacy conscious), and to be compatible with a "do it yourself" computing ethos.

gemini://gemini.circumlunar.space/docs/faq.gmi

In this context I suggest to make a setting for "Clean history on exit" AND keep it checked by default for new users.

skyjake commented 3 years ago

IMO the privacy that the spec talks about concerns what happens when talking to other computers.

There is a certain level of privacy and security to one's files on the local computer, but I concede that theoretically a bad actor could go looking into ~/.config and find all kinds of data.

A setting for "clean history on exit" is pretty simple to implement so I can add that, but I disagree about having it checked by default. Lagrange's runtime state is designed to be fully and seamlessly restorable on relaunch, and that's the UX I want to keep.

emilis commented 3 years ago

Well... we do have "incognito windows / tabs" for the mainstream web browsers. They do erase history by default.

Gemini is supposed to be more private than the web, so this seems appropriate.

Br0000k commented 3 years ago

I've just created a pull request for private browsing mode (pull request #123).

rzetterberg commented 3 years ago

As temporary workaround (on Linux) to get the history cleaned on exit is to use Firejail to sandbox the lagrange process.

This way each process get a completely separate sandbox of the filesystem that is deleted when the process exits.

I currently use firejail to do this with firefox, so that no history is saved, each process is completely isolated and that my settings and plugins are immutable.

le-jun commented 2 years ago

"clean history on exit" is pretty simple to implement so I can add that

Has this been added yet? I find it quite annoying to see my last browsed page whenever I launch it and couldn’t find either an setting to disable history nor erase history-on-close.

skyjake commented 2 years ago

It has not been implemented yet.

annoying to see my last browsed page

Would you actually prefer a setting that specifies which tabs are opened at launch? With such options like "restore previous tabs", "homepage", "about:blank", etc.?

Cleaning history on exit has other consequences, like all known feed entries becoming unread since the app doesn't remember if you've visited the corresponding URLs or not.

le-jun commented 2 years ago

Cleaning history on exit has other consequences, like all known feed entries becoming unread since the app doesn't remember if you've visited the corresponding URLs or not.

Oh, that’s right! Don’t use those so didn’t come to my mind.

Would you actually prefer a setting that specifies which tabs are opened at launch? With such options like "restore previous tabs", "homepage", "about:blank", etc.?

That would be great. On setup I thought that setting homepage meant "the on start" page. An option to do so would ease my mind.

skyjake commented 2 years ago

Version 1.11 will have an option to "Restore tabs at launch". Disabling that will instead just open each window to the chosen homepage instead of the old tabs. (You can bookmark "about:blank" and make that your homepage.)