5 ms·
> Browsh consists of a minimal Golang CLI client and a browser webextension. Most of the work is done by the webextension. When the CLI starts, it looks for a c
by genpfault 8y ago
> Browsh consists of a minimal Golang CLI client and a browser webextension. Most of the work is done by the webextension. When the CLI starts, it looks for a compatible browser (currently only Firefox) and starts it in headless mode. Once the browser has started it opens a remote debugging connection and installs the extension.
So a browser wrapper.
- beamatronic 8y agoWhy wouldn’t you just use lynx?
- tombh 8y agoLynx doesn't even support modern SSL,let alone HTML5, CSS3, JS, WebGL, WebAssembly - all of which are supported by Browsh.
- johnklos 8y agoLynx uses whatever SSL is on your system, so if your OpenSSL doesn't support modern SSL, then it's time for you to upgrade ;)
- tombh 8y agoI'm not sure that's true, for example elinks doesn't support SNI: https://bugzilla.redhat.com/show_bug.cgi?id=1527856 https://bugzilla.redhat.com/show_bug.cgi?id=1527856
- minitech 8y agoCurrent ELinks does support SNI. That bug might have been RHEL being on an old version.
- jwilk 8y agoCurrent? There was no stable release since 2009.
- JdeBP 8y ago"stable" is not "current", as with so many software projects; and indeed current is dated October 2012 according to the elinks WWW site. But even that is wrong. Development in fact continued for eight years until July 2017. * http://repo.or.cz/elinks.git/shortlog/HEAD http://repo.or.cz/elinks.git/shortlog/HEAD
- sedachv 8y agoelinks and lynx are completely different browsers. Lynx is actively developed and can link against recent versions of OpenSSL, GnuTLS, and LibreSSL. The latest release came out yesterday: http://lynx.invisible-island.net/release/ http://lynx.invisible-island.net/release/ Lynx can render HTML5 web pages. Not sure what WebGL has to do with a web browser that is meant for terminal emulators. CSS is not supported in text browsers in general (not all of them are full-screen terminal applications) because it makes no sense - for decent text rendering, the browser needs to ignore style sheets and render in a way appropriate for text output.
- tombh 8y agoYes you're right, it's unfair to lump elinks and lynx together. It's before Browsh I would use elinks all the time as it seemed the most modern. Surely though just the sheer fact of CSS's `hidden` declaration has to be taken into account by any browser, text-based nor not? I've came to the conclusion that there just simply isn't a subset of modern web standards that you can adhere to and still use the web today. Our best option is just to piggy back off one of the major browsers that does all the hard work of keeping up with the rapidly changing technologies.
- mattl 8y agoI like the idea behind your wrapper but I think you’re mistaken regarding hidden. Things are hidden from browsers for a lot of reasons but a text browser should probably safely ignore them all as content and presentation are different.
- tombh 8y agoI mean for example one of the big problems Browsh has is not rendering text that web developers have hidden in the DOM to be displayed on some kind of mouse interaction. So Browsh has to ask JS to query the `display: hidden`, `z-index`, etc values to ensure that it doesn't render text that is not intended to be displayed until after an interaction.
- azernik 8y agoIn implementation, sure. But from the user's perspective, it's just a browser.
- deleted 8y ago[deleted]
- noobermin 8y agoBut it doesn't work without X, a common use case for lynx/links/w3m
- hpaavola 8y agoDoes it really? Firefox when run in headless mode does not require X.
- noobermin 8y agoSure, you don't need it to be running but you need x, gtk, and glib installed. https://bugzilla.mozilla.org/show_bug.cgi?id=1372998 https://bugzilla.mozilla.org/show_bug.cgi?id=1372998
- easytiger 8y agoIt does work without X. I thought this too, but just untarred a firefox tar.bz from https://ftp.mozilla.org/pub/firefox/releases/ https://ftp.mozilla.org/pub/firefox/releases/ And it worked on a VPS with nothing X related installed
- tombh 8y agoArguably you could say the same about Opera's "wrapping" of the Chrome libs.
- mikorym 8y agoI was wondering about this. If everything goes through an already installed browser, then what is the advantage that browsh has over a minimalistic fork of Firefox with e.g., lower bandwith features?
- jdoliner 8y agoFor this to actually give a bandwidth advantage I think the browser would have to be running on a server somewhere... so the browser has become the server.
- pkulak 8y agoI guess the point is to install this on some random server somewhere that you can then SSH to. It really does seem like a good way to have a speedy browser experience over even insanely slow network connections.
- mikorym 8y agoDoes one then need a Firefox installation on the server, or can it be through a local Firefox installation? Edit: according to comments below the headless browser (i.e., the Firefox installation) runs on the server. After this, the smaller bandwith data gets sent directly over SSH.
- cup-of-tea 8y agoThe point is it works without graphics so you can use it over ssh, for example.