Няма описание

Haelwenn (lanodan) Monnier 955bb1fb8b Merge branch 'release-1.2' into missy for 1.2.2 преди 2 години
icons fb3246adea Logo: increase stroke size and contrast преди 4 години
mo 6dae2b3442 Makefile: Add building *.mo on compilation преди 5 години
po 7e0b751662 Hook and fixup Vietnamese translation преди 2 години
.clang-format 1f82848e4a Formatting: Break after the return type for definitions преди 5 години
.editorconfig ab21dd24ad .editorconfig: New file преди 4 години
.gitignore c5fca92a08 Change buildsystem to use a ./configure script преди 2 години
.gitlab-ci.yml ffd482d156 .gitlab-ci.yml: run test instead of build преди 4 години
COPYING 46ce59c9d6 Update copyright year преди 3 години
KnowledgeBase.md 27cf275730 KnowledgeBase: Add GObject reference counting notes преди 3 години
Makefile dd3e46487b Make: Add manpage linting преди 2 години
README.md dd3e46487b Make: Add manpage linting преди 2 години
badwolf.1 8575d17bc1 badwolf.1: Fix gtk-doc css-properties URL преди 2 години
badwolf.c eb30931ddc Use g_uri_unref instead of g_free on g_uri_parse преди 2 години
badwolf.desktop 657cacd378 badwolf.desktop: Icon=badwolf преди 4 години
badwolf.h 3f0e2f50f2 Switch from libsoup-2.4 to glib's GUri преди 2 години
badwolf.inkscape.svg fb3246adea Logo: increase stroke size and contrast преди 4 години
badwolf.svg fb3246adea Logo: increase stroke size and contrast преди 4 години
bookmarks.c 506ea6fa32 Add _() to bookmarks.c and update french translation преди 3 години
bookmarks.h 720eb415a7 Fix setting up completion преди 3 години
config.h 41cfd1ccae Show selected completion as a inline-selection преди 3 години
configure 4da2747780 Bump to 1.2.2 преди 2 години
decisions.md af32582914 badwolf.h: Have uint64_t defined, explain context_id decision преди 3 години
downloads.c fcf27a7496 downloads: Destroy stop_icon only in downloadCb_finished преди 3 години
downloads.h ad8b3dd9b8 Download progress tab преди 4 години
icons_size.sh 96676069aa Add a logo преди 4 години
interface.css 74b19d3008 interface.css: Make context_label monospace преди 3 години
interface.txt 6ee5839da2 Close tab when releasing middle mouse click преди 2 години
keybindings.c ffc2fc8762 Initialize a GApplication преди 2 години
keybindings.h 6ee5839da2 Close tab when releasing middle mouse click преди 2 години
uri.c 46ce59c9d6 Update copyright year преди 3 години
uri.h 06b34a53c2 Add tests on badwolf_ensure_uri_scheme преди 4 години
uri_test.c 46ce59c9d6 Update copyright year преди 3 години
usr.bin.badwolf 46ce59c9d6 Update copyright year преди 3 години
version.sh c5fca92a08 Change buildsystem to use a ./configure script преди 2 години

README.md

BadWolf

Minimalist and privacy-oriented WebKitGTK+ browser.

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

Copyright © 2019-2021 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:

  • POSIX-compatible Shell (ie. mrsh, dash, lksh)
  • C11 Compiler (such as clang or gcc)
  • WebKitGTK, only the latest stable(2.32.0+) is supported
  • libxml-2.0, no known version limitation
  • POSIX make with extension for shell in variables (works with GNU, {Net,Free,Open}BSD)
  • A pkg-config implementation (pkgconf is recommended)
  • (optional) gettext implementation (such as GNU Gettext)
  • (optional, test) mandoc (the command) for linting the manpage

Compilation is done with ./configure && 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.