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.
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"
If you want a different location for the configuration file, you can change it using the --config
command line option.
Usage
- Create an empty whitelist file and write the domains of the allowed cookies, one per line. Eg.
.example.com
example.com
- Run
bisc --dry-run
to see what would be deleted without actually doing it. - 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) 2022 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/.