Keine Beschreibung

Haelwenn (lanodan) Monnier 29610aaaa8 .builds/freebsd.yml: New vor 4 Jahren
.builds 29610aaaa8 .builds/freebsd.yml: New vor 4 Jahren
mo 6dae2b3442 Makefile: Add building *.mo on compilation vor 5 Jahren
po 177b29e2e3 badwolf.c: Remove title| in crash handling vor 4 Jahren
.clang-format 1f82848e4a Formatting: Break after the return type for definitions vor 5 Jahren
.gitignore 183076aaf6 .gitignore: Ignore binairies vor 5 Jahren
.gitlab-ci.yml ffd482d156 .gitlab-ci.yml: run test instead of build vor 4 Jahren
COPYING d2fc907c4b COPYING: New file vor 4 Jahren
KnowledgeBase.md 39c7dc371b KnowledgeBase.md: Add “Content-Blockers firt look” vor 5 Jahren
Makefile eb974dcccd Makefile: Bump to 0.5.0-rc.1 vor 4 Jahren
README.md 34c0ded666 .builds/archlinux.yml: New vor 4 Jahren
badwolf.1 d4a4b0ab1b Update copyright to (2019-)2020 Badwolf Authors vor 4 Jahren
badwolf.c 177b29e2e3 badwolf.c: Remove title| in crash handling vor 4 Jahren
badwolf.desktop 1eeb0bb995 Create and Install badwolf.desktop vor 5 Jahren
badwolf.h 06b34a53c2 Add tests on badwolf_ensure_uri_scheme vor 4 Jahren
config.h 0dc338ad3f Add GtkSettings overwrite on dark-theme vor 4 Jahren
decisions.md 3d066fb243 decisions.md: New file vor 4 Jahren
keybindings.c d4a4b0ab1b Update copyright to (2019-)2020 Badwolf Authors vor 4 Jahren
keybindings.h 4d30c11f4c Move keybindings to a separate file vor 5 Jahren
uri.c d4a4b0ab1b Update copyright to (2019-)2020 Badwolf Authors vor 4 Jahren
uri.h 06b34a53c2 Add tests on badwolf_ensure_uri_scheme vor 4 Jahren
uri_test.c d4a4b0ab1b Update copyright to (2019-)2020 Badwolf Authors vor 4 Jahren
usr.bin.badwolf d4a4b0ab1b Update copyright to (2019-)2020 Badwolf Authors vor 4 Jahren
version.sh e352d548e4 Install docs vor 4 Jahren

README.md

BadWolf

Minimalist and privacy-oriented WebKitGTK+ browser.

Homepage: https://hacktivis.me/projects/badwolf

Copyright © 2019-2020 Badwolf Authors <https://hacktivis.me/projects/badwolf>
SPDX-License-Identifier: BSD-3-Clause

The name is a reference to BBC’s Doctor Who Tv serie, I took it simply because I wanted to have a specie in the name, like some other web browsers do, but doesn’t go into the “gentle” zone.

Differencies

Comparing from other small WebKit browsers for unixes found in the wild:

  • Independent of environment, should just work if GTK and WebKitGTK does
  • Storing data should be:
    • explicit and optionnal (ie. Applying preferences doesn't imply Saving to disk)
    • not queryabe by WebKit (so the web can't use it)
    • done in a standard format (like XBEL for bookmarks)
  • Static UI, no element should be added at runtime, this is to avoid potential tracking via viewport changes
  • Small codebase, right now we are under 1 500 lines total
  • Does not use modal editing (from vi) as that was designed for editing, not browsing
  • UTF-8 encoding by default

Motivation from other clients https://hacktivis.me/articles/www-client%20are%20broken

Contributing

Translations

You need to have gettext installed. If you want a GUI, poedit exists and Weblate is a good web platform that I might consider hosting at some point.

  • Syncing POT file with the source code: make po/messages.pot
  • Syncing PO file with the POT file: make po/de.po
  • Initialising a new PO file (example for German, de_DE): msginit -l de_DE -i po/messages.pot -o po/de.po

Repositories

git

release assets

Manual Installation

Dependencies are:

  • C11 Compiler (such as clang or gcc)
  • WebKitGTK, only the latest stable is supported
  • POSIX make with extension for shell in variables (works with GNU, {Net,Free,Open}BSD)
  • A pkg-config implementation (pkgconf is recommended)
  • (optionnal) gettext implementation (such as GNU Gettext)

Compilation is done with make CC=${CC:-cc}, install with make install. An example AppArmor profile is provided at usr.bin.badwolf, please do runtime checks before deploying.

Notes

Most of the privacy/security stuff will be done with patches against WebKit as quite a lot isn’t into WebKitSettings and with generic WebKit extensions that should be resuseable.