Giter VIP home page Giter VIP logo

ephemeral's Introduction

Ethical Design Lint Gettext updates Build Status

Icon

Ephemeral

Get it on AppCenter

Screenshot Screenshot
Screenshot Screenshot

The always-incognito web browser

Browse the Internet in private without leaving a trace of history on your computer. Ephemeral is a stripped down private browser that's perfect for avoiding persistent cookies or web trackers. Close the window and all traces of your browsing are removed from your device.

Made for elementary OS

Ephemeral is designed and developed on and for elementary OS. Purchasing through AppCenter directly supports the development and ensures instant updates straight from me. Get it on AppCenter for the best experience.

Get it on AppCenter

Versions of Ephemeral may have been built and made available elsewhere by third-parties. These builds may have modifications or changes and are not provided nor supported by me. The only supported version is distributed via AppCenter on elementary OS.

Developing and Building

Development is targeted at elementary OS Juno. If you want to hack on and build Ephemeral yourself, you'll need the following dependencies:

  • libgranite-dev (>=5.5)
  • libgtk-3-dev
  • libwebkit2gtk-4.0-dev
  • libdazzle-1.0-dev
  • meson
  • valac

You can install them on elementary OS Juno with:

sudo apt install elementary-sdk libwebkit2gtk-4.0-dev libdazzle-1.0-dev

Run meson build to configure the build environment and run ninja to build:

meson build --prefix=/usr
cd build
ninja

To install, use ninja install, then execute with com.github.cassidyjames.ephemeral:

sudo ninja install
com.github.cassidyjames.ephemeral

ephemeral's People

Contributors

actions-user avatar capitantrueno avatar cassidyjames avatar dabou avatar davidmhewitt avatar drieiro avatar fitojb avatar hannesschulze avatar hugok79 avatar ihorhordiichuk avatar karlprieb avatar meisenzahl avatar meliurwen avatar mirkobrombin avatar nathanbnm avatar pablopunk avatar pjjprzybysz avatar quintenvandamme avatar safak45x avatar sanchezlucas avatar sergius02 avatar tim77 avatar vistaus avatar welaq avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ephemeral's Issues

Reload page with new session?

It could be interesting to add a way to reload the current page in a completely new session, i.e. to remove all cookies and everything. Could be behind Shift+Ctrl+R or something else.

Support on other Ubuntu's

Hey Cassidy, hope all is well. is the plan to only offer this in the elementary op-center? Or is there a PPA that other Ubuntu can leverage? I would love to add this to our browser ballot in the Ubuntu Budgie welcome app. Once it is ready for primetime that is. Once answered, feel free to close this issue.

Keep track of last-used browser internally (if Ephemeral is default)?

As discussed in #4. Right now Ephemeral lets you open the page in your default browser, but eventually I'd like to support a case where Ephemeral itself can be set as your default browser. In that case, it will need to:

  1. Get a list of possible browsers
  2. Allow the user to select one to open in
  3. Remember which one was selected last time to use next time
  4. Still allow the user to choose a different browser

Enable spoofing of user agent header

The app is great! I really would like to come back to a more lightweight, private WebKitGTK based browser instead of the resource-heavy firefox, however, one biggest drawbacks for me is the lacking of spoofing the user agent header, as that would make fingerprinting easier.

Artem Anufrij seems to have accomplished spoofing the user agent header in WebKit, potentially enabling the use of WhatsappWeb on Webpin (Issue)

Offer setting as default

The best experience is when Ephemeral is the default browser, and privacy becomes a habit by default. As such, on start Ephemeral should check if it's the default and offer setting itself as such. It should probably be dismissable both one-time and forever.

Add a way to change the default search engine

Currently the search engine is automatically DuckDuckGo, right? I don't know where they have their servers, but maybe it would be nice if it would be possible to add my own search engines and also be able to remove unpopular ones. E.g. Searx (which I can also host myself) or Startpage, which have at least server locations in Europe.

Tracking protection

One aspect of Focus is that it offers to block trackers, much like Ghostery or Privacy Badger. I should look at some sort of similar tracking blocking for Ephemeral.

Make translatable

What it says on the tin. Need to add PO files and make the build system aware of them.

Show the last-used browser's icon instead of the export icon

Probably related to #5 but since that was solved in another way I thought I'd suggest it in a new issue.

I really like the idea of using this as a default browser and opening the page in another browser from Ephemeral if I need to - but I don't think that just listing all the installed browsers is the best solution here.

For example, I have a few browsers on my system - I mainly use Chromium but some pages lag there so I use Firefox for them. But if I want to open a page from Ephemeral, I only use Chromium - having to click on the export icon and then selecting a browser is unnecessary and - especially if you are using a trackpad - might be much slower than just clicking the icon.

I would personally prefer something like this, showing the last-used browser:
frame 8

This would allow both - showing a menu of all the browsers installed on the system as well as offering to just click an icon to open another browser. It would also look much more similar compared to when you have only one browser installed imo :)

I don't think there's a widget for this in GTK yet, but I guess using a Gtk.Box and embedding something like a Gtk.MenuButton would work in this case.

Add a way to open multiple URLs or links in the same window

With reference to #6
This doesn't have to be a classical tab system. It would even be very nice if the tab system could be broken up by intelligent solutions. There are certainly creative solutions for that ;)

My concerns are that in the current version of Ephemeral I can only solve this with multiple open windows. But I really like it when not so many app windows are open. This also creates a certain peace of mind at work.

Problems with Twitch and YouTube

I can't watch any live streams on Twitch (Error Code 6000) or 1080p videos on YouTube. Missing "Media Source Extensions" and "MSE & WebM VP9".

Window decoration?

I've just compiled ephemeral on FreeBSD 11.1 x64 and I can confirm that it works correctly (besides WebKit bug on FreeBSD https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229491, so WEBKIT_DISABLE_COMPOSITING_MODE=1 is needed).
There is a small problem though, not FreeBSD related.
I use Enlightenment DE with a custom theme - windows title buttons are at the left side. Ephemeral disables the window decoration and put window control buttons on the right side. So the question is - can I restore window decoration, provided by my WM or move Ephemeral-provided buttons on the left side?

Alternate start page

Instead of loading DDG, I should probably use a welcome screen of some sort. This will be handy for implementing #2 as well, as instead of closing the window, I can just go back to this page/state.

Smooth Scrolling

WebKit supports smooth scrolling on non-touch inputs (like mouse wheel and key presses). I should turn that on in Ephemeral.

Search from URL entry

Seems to be a common enough pattern to implement, especially if #7 is implemented without a search bar.

Loading indicator

Could go with the Epiphany master route and use the progress behind the URL entry, or could add a spinner somewhere.

New window

It'd be handy to be able to open a new window, i.e. with Ctrl+N

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.