bisc: A small tool that clears cookies (and more).

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Websites can store unwanted data using all sorts of methods: besides the usual cookies, there are also the local and session storage, the IndexedDB API and more caches as well. Bisc will try to go through each of them and remove all information from websites that are not explicitly allowed (ie. a whitelist of domains). It was created for qutebrowser, but it actually supports the storage format used by Chromium-based browsers, which (sadly) means almost every one nowadays.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.2.3.0, 0.3.0.0, 0.3.1.0, 0.3.1.0, 0.4.0.0, 0.4.1.0
Change log None available
Dependencies base (>=4 && <5), bytestring, configurator, data-default, directory, exceptions, filepath, leveldb-haskell (<1), mtl, selda (<1), selda-sqlite (<1), text [details]
License GPL-3.0-only
Copyright Copyright (C) 2021 Michele Guerini Rocco
Author Michele Guerini Rocco
Maintainer rnhmjoj@inventati.org
Category Utility
Home page https://maxwell.ydns.eu/git/rnhmjoj/bisc
Source repo head: git clone https://maxwell.ydns.eu/git/rnhmjoj/bisc
Uploaded by rnhmjoj at 2021-09-06T06:51:22Z

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for bisc-0.3.1.0

[back to package description]

Bisc

A small tool that clears cookies (and more)

Websites can store unwanted data using all sorts of methods: besides the usual cookies, there are also the local and session storage, the IndexedDB API and more caches as well.

bisc will try to go through each of them and remove all information from websites that are not explicitly allowed (ie. a whitelist of domains). It was created for qutebrowser, but it actually supports the storage format used by Chromium-based browsers, which (sadly) means almost every one nowadays.

Installation

bisc is a Haskell program available on Hackage and can be installed with one of the Haskell package managers. For example, with cabal-install you would do

cabal install bisc

and similarly for stack.

Alternatively, if you are using Nix or NixOS, bisc is available under the attribute haskellPackages.bisc. It should also be in the Nix binary cache so you don't have to build from source.

Finally, statically compiled binaries can be found in the releases.

Configuration

The bisc configuration file is $XDG_CONFIG_HOME/bisc/bisc.conf. It allows to change the paths of the QtWebEngine/Chromium directory and the whitelist file. The default settings are:

whitelist-path = "$(XDG_CONFIG_HOME)/qutebrowser/whitelists/cookies"
webengine-path = "$(XDG_DATA_HOME)/qutebrowser/webengine"

Usage

Create an empty whitelist file and write the domains of the allowed cookies, one per line. Eg.

.example.com
example.com

Run bisc to delete all non-whitelisted data from qutebrowser.

Note that running bisc while the browser is open is not safe: this means it could possibly corrupt the databases. Hoever, corruption in the sqllite databases (Cookies and QuotaManager) has never happened or been reported to me and the LevelDB ones (LocalStorage, SessionStorage, IndexedDB), while they do corrupt more often, are automatically repaired by bisc.

License

Copyright (C) 2021 Michele Guerini Rocco

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.