Ebrowser: keyboard-friendly minimal suckless web browser

Ebrowser is designed with the philosophy of Android uweb browser (gitlab).

Note: Usually electron apps are heavyweight as they use browsers for simple things. Ebrowser uses core chromium effectively and very lightweight. Recommend to install electron separately.

Installing (for Windows, MacOS and Linux)

Install with prebuilt binaries

You can find prebuilt binaries here.

Install with nodejs
npm install electron
npm install ebrowser

Run ebrowser

electron ~/node_modules/ebrowser

Later on, you can run "npm install electron" to update electron/chromium or "npm install ebrowser" to update ebrowser independently.

Update app quickly without updating chromium

Pressing "Alt" to show the menu bar and choose "Check for updates" under "Help". OR

Type ":update" in the address bar and press "enter" key to update.

Mirror urls could be used like ":update https://uwebzh.netlify.app/misc/ebrowser". All the mirrors listed on uweb browser could be used. The update url needs to be changed accordingly to be the folder "misc/ebrowser" under the mirror site root url.

Key shortcuts

Address bar commands

Like any popular browser, the very first word in address bar if defined in "search.json" identifies a search engine. Moreover, the address bar serves as command line interface:

Commands in no-focus mode (this mode is similar to vi Normal mode)

Pressing "ESC" to enter no-focus mode if not sure.

The other commands are defined in "mapkeys.json", which will map keys to address bar commands.

Configuration files

Javascript at three levels

examples for ":js"/":bjs" commands
:js bJS=true //allow external Javascript files for web pages
:js bJS=false //disallow external Javascript files for web pages
:bjs bHistory=true //to record url history
:bjs bQueryHistory=true //to record query/command history

New usages


You can copy or modify the code/program under the terms of the GPL3.0 or later versions.

Last Modified: 12 July 2024
reorg ebrowserreadme.md