Using Browsh and a VPS to browse ‘bandwidth-free’?

Tired of switching between your terminal and browser windows? Reaching out for the mouse over and over again interrupts your thought process? Well then—Browsh is the perfect addition for you and your terminal. Browsh is a text-based browser that you can launch and use from within your terminal. It works like any shell-based utility, such as vim editor or top, works, but also displays websites in color and with the ability to point-and-click your way around. Being entirely contained within the shell, Browsh opens up all sorts of possibilities. For example, we can install it on a VPS and browse the web using a server as a client! Of course, servers like the ones we offer come with a lot of bandwidth, and browsing the web at those speeds is a delightful experience. You probably don’t have as quick a backbone to the internet at your own house. But using a VPS as a “route” to browse the web normally, such as connecting with VNC and launching a graphical browser doesn’t make sense. Your home internet and WiFi will bottleneck the speed anyway. But what if we combine the incredibly fast VPS bandwidth with SSH’s use of plain text to display information? Instead of showing us a high-resolution image, which would have taken a few MBs of transfer, Browsh will draw a rough pixelated approximation of the image with characters worth a few KBs. An additional benefit is that using Browsh on your VPS will also act as an effective proxy server. You’ll obfuscate your internet traffic from your local ISP, as well as any other middleman trying to listen on your web traffic. It’s not quite the same as using a VPN, but SSH traffic is still strongly encrypted, and that does throw away a lot of meddling parties. Let’s install Browsh on a VPS and see the effectiveness of this approach.

Installing Browsh on your VPS

The installing browsh rather easy if you have Docker installed on your VPS. SSH into your VPS and you can spin up a Browsh container using the command:
$ docker run -dit --name shell-browser browsh/browsh
$ docker attach shellbrowser
The first command pulls a browsh image and starts a container named shell-browser, which runs with the flags: -d so browsh can run in detached mode in background -i for keeping standard input STDIN open -t to attach a pseudo TTY to the container The next command attaches your console to this container. And you are greeted by the Browsh homepage. .... Read More