Sen descrición

Haelwenn (lanodan) Monnier f911a16bd4 configuration: Window default width & height %!s(int64=4) %!d(string=hai) anos
icons fb3246adea Logo: increase stroke size and contrast %!s(int64=4) %!d(string=hai) anos
mo 6dae2b3442 Makefile: Add building *.mo on compilation %!s(int64=5) %!d(string=hai) anos
po a11b4d2186 Use libconfig to add user config (start with tab position) %!s(int64=4) %!d(string=hai) anos
.clang-format 1f82848e4a Formatting: Break after the return type for definitions %!s(int64=5) %!d(string=hai) anos
.editorconfig ab21dd24ad .editorconfig: New file %!s(int64=4) %!d(string=hai) anos
.gitignore 183076aaf6 .gitignore: Ignore binairies %!s(int64=5) %!d(string=hai) anos
.gitlab-ci.yml ffd482d156 .gitlab-ci.yml: run test instead of build %!s(int64=4) %!d(string=hai) anos
COPYING d2fc907c4b COPYING: New file %!s(int64=4) %!d(string=hai) anos
KnowledgeBase.md 39c7dc371b KnowledgeBase.md: Add “Content-Blockers firt look” %!s(int64=5) %!d(string=hai) anos
Makefile a11b4d2186 Use libconfig to add user config (start with tab position) %!s(int64=4) %!d(string=hai) anos
README.md a11b4d2186 Use libconfig to add user config (start with tab position) %!s(int64=4) %!d(string=hai) anos
badwolf.1 2ccd806e39 badwolf.1: Use full modifier names instead of A/C/S %!s(int64=4) %!d(string=hai) anos
badwolf.c f911a16bd4 configuration: Window default width & height %!s(int64=4) %!d(string=hai) anos
badwolf.cfg f911a16bd4 configuration: Window default width & height %!s(int64=4) %!d(string=hai) anos
badwolf.desktop 657cacd378 badwolf.desktop: Icon=badwolf %!s(int64=4) %!d(string=hai) anos
badwolf.h a11b4d2186 Use libconfig to add user config (start with tab position) %!s(int64=4) %!d(string=hai) anos
badwolf.inkscape.svg fb3246adea Logo: increase stroke size and contrast %!s(int64=4) %!d(string=hai) anos
badwolf.svg fb3246adea Logo: increase stroke size and contrast %!s(int64=4) %!d(string=hai) anos
config.h f911a16bd4 configuration: Window default width & height %!s(int64=4) %!d(string=hai) anos
decisions.md e64d606e23 decisions.md: Bump %!s(int64=4) %!d(string=hai) anos
downloads.c 1133efe395 configuration: BADWOLF_TAB_HEXPAND -> tab.hexpand %!s(int64=4) %!d(string=hai) anos
downloads.h ad8b3dd9b8 Download progress tab %!s(int64=4) %!d(string=hai) anos
icons_size.sh 96676069aa Add a logo %!s(int64=4) %!d(string=hai) anos
interface.css 06b30dc68c Use text in toggle buttons %!s(int64=4) %!d(string=hai) anos
interface.txt cb232d9e91 Add webcontext hex id to tab label %!s(int64=4) %!d(string=hai) anos
keybindings.c 7425c1579b Switch automatically to a tab when user-requested %!s(int64=4) %!d(string=hai) anos
keybindings.h 4d30c11f4c Move keybindings to a separate file %!s(int64=5) %!d(string=hai) anos
uri.c ed40d74fdd Fix implicit-declaration for realpath %!s(int64=4) %!d(string=hai) anos
uri.h 06b34a53c2 Add tests on badwolf_ensure_uri_scheme %!s(int64=4) %!d(string=hai) anos
uri_test.c 6880bf722d uri.c: Add support for relative paths %!s(int64=4) %!d(string=hai) anos
usr.bin.badwolf d4a4b0ab1b Update copyright to (2019-)2020 Badwolf Authors %!s(int64=4) %!d(string=hai) anos
version.sh ad8b3dd9b8 Download progress tab %!s(int64=4) %!d(string=hai) anos

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, should be possible to read and understand it completely over an afternoon.
  • 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

Contacts / Discussions

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)
  • libconfig
  • (optionnal) gettext implementation (such as GNU Gettext)

Compilation is done with make, install with make install (DESTDIR and PREFIX environment variables are supported, amongs other common ones). An example AppArmor profile is provided at usr.bin.badwolf, please do some long runtime checks before shipping it or a modified version, help can be provided but with no support.

You'll also need inkscape (command line only) if you want to regenerate the icons, for example after modifying them or adding a new size. These aren't needed for normal installation as it is bundled.

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.