HandyBrowser v0.2.0 Beta Release

Light Clients, Proxy Browser Support, and Optimizations

By: Steven McKie
Teaser Video: https://streamable.com/yn7o53

If you remember from our announcement back on June 22nd, 2020 when we released v0.1.0 of HandyBrowser, we mentioned we’d be focused on growing the community with the help of our Handshake-native browser. With further refinements to HandyMiner to support the HS1 Plus mini-ASIC last week, we’re bringing another update to improve upon the core use case of browsing the Handshake-powered decentralized web, with our release of v0.2.0!

With my other open source developer friends (shoutout to Alex Smith and Thomas Costanzo from the Handy OSS squad), and the rest of the Handshake dev community (Thanks JJ, tuxcanfly, and Matthew Zipkin for their contributions with HNSD), we’ve been able to contribute another big update for our reference browser as the Summer comes to a close, and we all try to return to normal from COVID-19.

To get started, just download the latest update from releases, and have Docker running before running the updated application launcher, and it will automatically handle the upgrade for you.

📥 There’s now an official lander site for downloading HandyBrowser: https://handyminer.github.io/HandyBrowser/

HandyBrowser v0.2.0 Changelog (Release Trailer for v0.2.0: https://streamable.com/ylkc0p):

  • Added Godane proxy support

  • Added HNSD light resolver for faster Handshake Name resolution during initial sync (switches to HSD fullnode once successfully sync’d, improving network security with each new browser install)

  • Added the quick reference guide both external and within the app for quick setup to your other browsers and mobile devices

  • Added Bitcoin donation address modal for HandyBrowser team

  • Added support for Audius.co music playback

  • Bugfixes: enable fullscreen video support; fixes for Vimeo/Netflix playback

  • Security: Tested Mist (Electron) XSS Vulnerabilities against HandyBrowser, mist vulnerability report (Thanks Avsa and the Ethereum community for this)

  • Security: Verified a range of certificate warnings/errors with https://badssl.com

Fig. 1: Screenshot of ‘Handy’ HandyBrowser for anyone who hasn’t used it yet (fix that right now).

How HandyBrowser Works (Updated: *Extremely Important for Developers*)

HandyBrowser (aka “Handy”) is using node-webkit Nw.js under the hood. Nw.js packages the latest Chromium with the latest Node.js and allows us granular security, HTML, and many other features. Since we did not want users to manually have to modify system level configurations and run HNSD/HNS resolvers locally themselves (abstracting complexity is important as adoption progresses), we rely on Docker. Docker allows us to create a lightweight linux virtual machine that installs HNS resolvers, and is pre-configured to use the HNS resolver (with no Docker account required). 

We simply proxy all web traffic from the chromium browser into the Docker machine via another community project, Godane, which resolves via HSD and returns content securely with it's own Root CA Certificate! Godane generates a root CA certificate on container creation which allows the user to proxy https traffic to the browser securely. 

During installation Docker runs a one-time install process (again, this requires no Docker account), after that it won't need to be run again, and you'll be able to start browsing/resolving names immediately (even as the HSD fullnodes syncs in Docker).