Koumori web browser

Koumori web browser icon
Koumori 蝙蝠 is a lightweight yet powerful web browser which runs just as well on little embedded computers named for delicious pastries as it does on beefy machines with a core temperature exceeding that of planet earth. And it looks good doing that, too. Oh, and of course it’s free software. Koumori is a fork of Midori 9.0 with additional features, mainly because the original Midori is dead (website doesn’t exist, the name has been taken by the Astian Foundation and used for a DuckDuckGo web browser fork).

Koumori is not related in any way with Blink (Chromium, Chrome), Gecko (Firefox), DuckDuckGo or Astian Foundation. It uses WebKit, so its closest relative would be Apple’s Safari.

Midori is a web browser that was born on December 16, 2007 under the leadership of Christian Dywan with the purpose of being an alternative, light, fast, free and open source browser. Developed using WebKit, GTK and rewritten in Vala. In 2019, the Midori Browser project merged with the Astian Foundation.

What’s the idea behind forking Midori? Well, it’s simple, after finding out that the modern web is useless on older machines because the current web browsers use all the system resources to render emojis and other useless stuff, I figured out I need an older browser, more streamlined, lighter on resource use, one that uses a relatively-modern engine. Neither Dillo nor its fork Dillo+ are an option, so I went for Midori.

After building it on my Nokia Booklet netbook under Devuan Linux 32-bit, I realised some features would be needed: more adblocking filters, custom user agent (because Youtube sniffs the user agent if it doesn’t like your web browser you don’t get access to Youtube), etc. And so Koumori was born.

Koumori is a personal fork, there is no upstream to propagate my changes to, Midori is dead (last updated in 2019, website gone for a few years).

LanguageVala
LicenseLGPLv2.1
Version0.2
Release dateAugust 10, 2023
Downloadsource zip archive
Source codebrowse
Git repogit clone https://sizeof.cat/git/koumori

Features

  • Adblock filters support.
  • Private browsing.
  • Manage cookies and JavaScript status (on/off).
  • Custom browser user agent.
  • The amazing developer tools provided by WebKit.
  • Proxy support (can be used for browsing onion hidden services with torsocks or normal proxy configuration).
  • RSS reader.
  • Gopher and maybe Gemini support.

Fixes from Midori

  • Favicons are working again.
  • Added profile directories.
  • Added preferences flags for disabling Webkit features (for privacy or security reasons) and tooltips.
  • Fixed clearing private data.
  • Fixed multiple tabs opening on start-up.
  • Added Yandex and Brave search engines.
  • Fix DuckDuckGo exposing custom user agent.
  • Added custom user agent string.
  • Added Unicode support for URLs.

Screenshots

   

Tips & tricks

  • To run Koumori with debug messages enabled, launch the application with G_MESSAGES_DEBUG set to all.
$ G_MESSAGES_DEBUG=all ./koumori
  • To use user profiles, add the --config <PATH> option to the command line (the default profile is stored in ~/.config/koumori/profiles/default).
$ ./koumori --config ~/.config/koumori/profiles/another
  • Use Koumori with the Tor network: start by creating a new profile and change all browser settings (I suggest everything on Features Preferences tab should be disabled, especially JavaScript) before even thinking of visiting an onion hidden service. If you need a proper Tor browser, use the Tor browser.
$ torsocks /usr/bin/koumori --config ~/.config/koumori/profiles/tor

Development

Requirements

Building

To build Koumori for Linux you will need additional libraries depending on the operating system installed on your machine.

Ubuntu, Debian or other Debian-based distros:

$ sudo apt install cmake valac libwebkit2gtk-4.0-dev \
	libgcr-3-dev libpeas-dev libsqlite3-dev libjson-glib-dev \
	libarchive-dev intltool libxml2-utils

openSUSE:

$ sudo zypper in cmake vala gcc webkit2gtk3-devel \
	libgcr-devel libpeas-devel sqlite3-devel json-glib-devel \
	libarchive-devel fdupes gettext-tools intltool libxml2-devel

Fedora:

$ sudo dnf install gcc cmake intltool vala libsoup-devel \
	sqlite-devel webkit2gtk3-devel gcr-devel json-glib-devel \
	libpeas-devel libarchive-devel libxml2-devel

Clone the repository and use cmake to configure and build Koumori.

$ git clone https://sizeof.cat/git/koumori
$ mkdir koumori/_build && cd koumori/_build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
$ make
$ sudo make install

Pass -G Ninja to CMake to use Ninja instead of make (install ninja-build on Ubuntu/ Debian).

You can run Koumori from the _build directory without installing anything.

Build time is about 20 seconds on a Debian VM running in Parallels on MacBook Pro M1 and about 4 minutes on a Nokia Booklet running Devuan.

$ ./koumori

License

Koumori is written by sizeof(cat), forked from Midori 9.0 by Christian Dywan and released under LGPLv2.1.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library 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
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA