Chawan: TUI Web Browser

roundabout-host1 pts0 comments

Chawan: TUI web browser

# Chawan: TUI web browser

Chawan is a text-mode web browser and pager for Unix-like systems, with<br>a focus on implementing modern web standards while remaining<br>self-contained, easy to understand and extensible.

It includes functionality such as CSS, inline images inside the terminal,<br>and JavaScript through a small, independent browser engine.

Most of Chawan has been developed from scratch in the memory-safe<br>Nim programming language.<br>## Download

You can download the latest release (v0.4.3)<br>here.

Sources are currently hosted on SourceHut<br>and Codeberg.

There are also packages maintained by volunteers, of stable versions at:

Alpine Linux: https://pkgs.alpinelinux.org/packages?name=chawan<br>Arch Linux: https://archlinux.org/packages/extra/x86_64/chawan/<br>Debian (testing): https://packages.debian.org/chawan<br>FreeBSD: https://www.freshports.org/www/chawan/<br>Gentoo: (::guru overlay) https://codeberg.org/gentoo/guru/src/branch/master/www-client/chawan<br>Homebrew: https://formulae.brew.sh/formula/chawan<br>NixOS: https://search.nixos.org/packages?show=chawan<br>Slackware (SBo): https://slackbuilds.org/repository/15.0/network/chawan/<br>Void Linux: https://voidlinux.org/packages/?arch=x86_64&q=chawan

and unstable versions (tip of the master branch) at:

AUR: https://aur.archlinux.org/packages/chawan-git<br>AppImage: https://git.lerch.org/lobo/chawan-appimage/<br>Gentoo: (::guru overlay, live ebuild) https://codeberg.org/gentoo/guru/src/branch/dev/www-client/chawan/chawan-9999.ebuild<br>Homebrew (using --HEAD): https://formulae.brew.sh/formula/chawan

## Gallery

This page showcases some websites being rendered in<br>Chawan.<br>## Features

UI

Inspired by w3m and<br>vi.

Keybindings are user-programmable using JavaScript.

Protocols

HTTP(S), SFTP (using libssh2), FTP, Gopher, Gemini,<br>Finger, Spartan. Extensible by users.

Formats

HTML, plain text, Markdown, man page, and directory listing viewers are<br>included. Extensible by users through HTML converters (you can even<br>replace built-in viewers).

CSS<br>Colors, formatting, flow layout (block, inline, float, etc.),<br>table layout, flex layout.

Images

Displayed using Sixels or the<br>Kitty protocol.<br>Supported input formats are PNG, JPEG, BMP, GIF<br>(stb_image), WebP<br>(jebp) and SVG<br>(nanosvg).

Opt-in; edit the config to enable it.

JavaScript

Uses QuickJS. Supports various DOM<br>manipulation and network APIs.

Opt-in; edit the config to enable it.

Sandboxing

Websites are loaded inside separate processes, further locked down using<br>syscall filtering mechanisms on FreeBSD, OpenBSD and Linux.

## Subprojects

Parts of Chawan available as separate libraries:

Chame: HTML5 parser in pure Nim.<br>Chagashi: character coding<br>library in pure Nim.<br>Monoucha: QuickJS binding<br>generator and runtime glue in Nim.

## License

Public domain, with permissively licensed components.<br>## Banners

Contributed by user arcathrax, these are also in the public domain.<br>Spread the word :)

chawan https packages browser using linux

Related Articles