bisc/README.md

83 lines
3.0 KiB
Markdown

# 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][hackage] and can be installed
with one of the Haskell package managers. For example, with
[cabal-install][cabal] you would do
```
cabal install bisc
```
and similarly for [stack][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](/git/rnhmjoj/bisc/releases).
[hackage]: http://hackage.haskell.org/package/bisc
[cabal]: https://github.com/haskell/cabal/blob/master/cabal-install/README.md
[stack]: https://docs.haskellstack.org/en/stable/README/
## 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/>.