Skip to main content

Do you live in the terminal? Are your dreams filed with pixels so retro that Minecraft had to come up with them? Then you are in the right place today. Browsh, is a lesser known, terminal friendly browser that will bring you the web in a more detailed fashion than something Like Lynx or w3m. Browsh can render JavaScript along with CSS. So, you can expect some color and images on the pages. Browsh is written in equal parts JavaScript and GO, bringing it a cut above the other browsers in its class.

Today we’ll go over how to install Browsh. We will talk about how it is similar to other text-based browsers and very different. Next we will cover how to navigate and open pages. We will show you how to make it look more like a traditional text-based browser and why this might be a preferable way to run Browsh. Then we will cover how you can change your user agent to show mobile or computer hashed signatures and why that might matter to you. Finally, we will cover the importance of new projects like this and how you can support them. If you have some retro 80 shades, put them on and let’s get to see what mind-blowing things we can do in a modern text-based browser.

Installation

To install Browsh, we have a few options for a few distributions. We will cover how to install Browsh on Arch using the AUR helper, Yay. To learn how to install Yay, please check out our blog on 5 Things to do IMMEDIATELY After Installing Arch Linux, which can be found here. Then we will go over how to install it from source packages on Debian and RHEL-based distributions.

Arch/Endeavour

yay -S browsh

They have a few choices to choose from, browsh and browsh-bin. We used browsh because it was more up to date, as browsh-bin has not been updated in two years.

Debian/Pop!_OS

wget https://github.com/browsh-org/browsh/releases/download/v1.6.4/browsh_1.6.4_linux_amd64.deb
sudo apt install ./browsh_1.6.4_linux_amd64.deb
rm ./browsh_1.6.4_linux_amd64.deb

RHEL/Fedora

curl -o browsh.rpm -L https://github.com/browsh-org/browsh/releases/download/v1.6.4/browsh_1.6.4_linux_amd64.rpm
rpm -Uvh ./browsh.rpm
rm ./browsh.rpm

As you can see, Browsh has made sure that it is available to you on many distributions and even on macOS. You can also use it in Docker or as a static binary. The full installation documentation can be found here. You will not find any directions for the AUR installation there. To learn more about the AUR community packaged version, you will find the AUR page here.

Compare

Browsh is in the text-based editor class, but it has Firefox JS/CSS rendering power backing it up and changing the experience. Bringing your background colors or even playing some video. We will compare Browsh with two other very well-known text only based browsers, Lynx and W3m. Both of these browsers render stuff differently from each other. So, you can see a bit of a contrast. For our test, we will just pull up google.com.

Lynx  on google.com

This is what Lynx looks like when on the front page of Google search. You can see that it is rendered a particular way.

W3m on google.com

Here you can see what W3m looks like on the front page of Google search. Now we’ll look at Browsh.

Browsh on google.com

You can see a little more color here. The Google search page is much closer to a modern browser when it comes to looks. You can actually make out the name Google in a fun Minecraft kind of way.

Navigation

Most text-based browsers use key binds to help you get around. In fact, you can use key binds in Firefox as well. In general, key binds can really improve your workflow. Browsh keeps this simple by making them limited. So, there will not be too much of a learning curve. For starters, unlike its counterparts, you cannot just use browsh like this.

browsh google.com

This will just open Browsh to the home page. On other text-based browsers, this would open to the google.com search page. You would want to just type out like this in terminal.

browsh

You could make this into an alias. Check out Bash, then there’s .bashrc. Which can be found here. To change to a new page, you would use this key bind.

CTRL+l 
browsh Link  in URL bar

This will focus the URL bar, so you can type in a new one. To go back to the previous page you just use the Backspace key.

Backspace

To reload a page, you use this combination.

CTRL+r

Next, you can get a new tab like this.

CTRL+t
New tab URL link

Then, you can close a tab like so.

CTRL+w

The full key bind documentation can be found here.

Traditional

If you want to use Browsh more like a traditional text-based browser and get rid of some fluff, we can toggle into monochrome. First, we will look at the regular render mode.

Browsh on Browsh home page

Now we can go ahead and toggle to monochrome/dark mode.

ALT+m
Browsh in monochromatic mode on Browsh home page

This will give your eyes a rest. Numerous people like text based browsers because they turn everything into an e-reader. The other reason to use one is to check out accessibility on your website. You might want to do this to make sure tab navigation works well in a very fast plain way. Then there is the original reason for the text-based browser, surfing the web in terminal. This is always a great way to check out a wiki on something you need and never leave your work.

User Agent

You can change your user agent on Browsh. This is only to change what type of device you are browsing on such as mobile or computer-based browsers. All you need to do is use this key bind to toggle between the two.

ALT+u

You might want to do this to see how a website reacts on a particular site you are testing. Otherwise, you are just putting out info that will make takers think you’re using a phone. So, why not play around with it?

Support

One thing is clear, this project could use a little more support from the community. If you find this browser interesting to use, and you want it to stick around, then you need to help them out with some donations. See if they need any help maintaining some Github hosted packages. The point is to get involved and help keep them afloat. Open source in clearly made from love. You have to love your projects back if you want to see that next update to the applications you enjoy so much.

 Browsh donation page

So be part of the community, breathe life into a project that makes you happy with a little support. It will not only make the teams’ day, but make them think they are doing the right thing and keep making the software we all get to enjoy for free every day. Thanks for reading.

Boyd Gordon

Looking forward to researching that next project. Writing the next blog and living life to the fullest with my family.

Leave a Reply