54 comments

[ 3.1 ms ] story [ 109 ms ] thread
This was discussed in https://news.ycombinator.com/item?id=17487552

A number of people made this point, but this doesn't address one of the key advantages of Lynx at all: what if I need to use it while ssh'ed to a server that doesn't have X, doesn't have a browser (headless or otherwise) and I cannot or do not want to install those on it? And I have to trust your package integrity, quality of your secure coding practices, and judgement/diligence in your use of dependencies and tracking CVEs.

This barely has any advantages for me over port-forwarding to the x server and using a local client, functionally, and it introduces a large potential liability.

It's a cool project and you have my admiration, but making grandiose claims like this is counterproductive for (at least a good part of your target demographic) increasing Browsh adoption.

It's a use case the author didn't consider, likely for a snappier article. Even if Lynx were dead, other text-only browsers followed, and were available in, say, Ubuntu, like Links2 and ELinks.
Clearly the next step is server-side Browsh formatting via HTTP content-negotiation.

(Further, via 3rd-party proxies if a particular site can't offer it.)

Author of the software here, not the author of the article. Browsh is primarily aimed at those without fast and/or cheap bandwidth, yet still want access to the modern web. There are vast swathes of the world where downloading a 10Mb website is non-trivial. There are traditionally 2 solutions to such a problem, lynx et al or VNC. Lynx et al do not support the modern web and VNC is not a text-native application. Browsh somewhat ironically also has a browser client (although not yet at feature parity with the TTY client), that further improves accessibility to the modern web for those aforementioned citizens of the slow and expensive web.

Edit: Why do you think my coding standards are under any more suspicion than anyone elses? Just because Browsh is new?

For some, "not supporting the modern web" is a feature.

In electing to engage with it, we are substituting our mistrust of .JS and .CSS files out on the web with whatever engine you use to chew those up and re-render the output as text-mode approximations.

It's fewer people to trust, to be certain, but the trust-by-default model has long been broken. Trust is earned, and easily lost.

So absolutely yes, because it is new.

I totally sympathise with those that are suspicious of the modern web. But Browsh is fundamentally not for them. It is for all those that don't have the luxury of cheap and fast internet, I want them to access the same information everyone else does.

OK well I'm glad that the scrutiny upon me is the same as every other newcomer.

Has Browsh's terminal approach been compared to traditional data proxy methods in units of quality or usability per byte?
I'd love to see a serious breakdown of this. All I know is that anecdotally Browsh is very similar to a well configured VNC connection.
"Why do you think my coding standards are under any more suspicion than anyone elses" Because my presumption is that this is running on my servers (where I'm likely to need lynx, currently). The domain where it's running, nothing personal.
The domain where it's running? What does that matter if you install it yourself. You don't need any external Browse services of you run it yourself.
I meant to say something more like "Given my needs for a text based web browser, it's more likely I'd be running it on a more secure enclave where I'd subject any package I'd install to a great deal of scrutiny".

I think you've answered it elsewhere, in a sibling comment to my first... for those with restricted bandwidth/slower connections this makes more sense than for other use cases where a sysadmin might use it because of security/business restrictions. I appreciate you didn't write the article/choose the wording.

Browsh killed Lynx the same way the Cadillac killed the Ford.
[citation missing]
I was being sarcastic.

So I suppose this makes your comment sarcastic as well, if only retroactively.

Long live elinks!

Seriously though, browsh is a neat toy, but having to depend on X and firefox is a nonstarter for many use cases. For example, I use a mailcap that sends html emails to elinks for rendering in mutt. Or, I am frequently on systems with no X server running, and/or no firefox installation.

Browsh and Lynx having quite different remits. Also, Browsh depends on X libs not a running X server.
Ah, but even X libs take up a non-trivial amount of space on a system. AND you need a whole different browser installed to even use it, since Browsh is basically just a wrapper for firefox.
Exactly. This is the price we pay to access the modern web.
I consider it a feature to not be able to 'access the modern web' when the 'modern web' requires tens of MB of JS crap trying to track me. Very, very few sites I use are completely broken with JS disabled, so the default policy is to disable it. Having a cli browser that doesn't support it doesn't seem like a bad thing. If a new site doesn't load, tough luck for them.
Indeed! I never intended for Browsh to replace lynx et al. They serve similar but distinct purposes.
The article title, at least, seems to imply that this is a replacement/successor to lynx..
I know. I didn't write the article.
Right, this isn't even a remote possibility where I work. I've seen it here twice now and will most likely never even try browsh.
I'm curious as to how it displays the images without first downloading the full size first (and thus not saving bandwidth), is anyone able to explain this?
There's no magic, Browsh is just designed to be run on a remote server where internet is fast and cheap and then accessed over SSH or the browser client from a local network that is likely slow and/or expensive.
It goes through Browsh's proxy.

While I think Browsh is very interesting, you can immediately see a couple issues with this. When I tried it last week, it worked pretty well for a bit, and then I got an error that all the servers were busy.

That sounds like you were trying the SSH demo. I've currently got that limited to 20 instances. Each one has 2Gb of RAM and a CPU, so it's not cheap. And I'm currently funding it off a modicum of donations.
Yeah, I was using the web demo, and it was fine, but more limited, so I tried the ssh version to check YouTube (my coworker said that was working) and got the error.

Obviously, I don't expect a free service like this to let me stream unlimited video. At first glance, I saw the demo server as the actual service, rather than seeing this as a tool to set up on your vpn. That eliminates the scaling issue and the privacy issues.

Yeah, also I noticed that everything is logged, which is a little creepy too.
It's a free demo with unlimited access to the web. I'm just covering my back for any possible misuse. If there's demand you can pay to turn off logging.
It runs a ‘real’ browser on the server and renders pages there.

The use case here is one where one has slow access to a machine with fast internet access, or where the local machine doesn’t have enough resources (e.g. screen resolution, battery live) to render web pages.

Is there any way to make full text Linux tty use true color? Would be neat to have such browser when GUI session fails.
That's a very good question. I don't know the answer, although I suspect the answer is no, the Linux VT doesn't support true colour. However you can at least toggle Browsh's monochrome mode with Alt+m
> the Linux VT doesn't support true colour.

I wonder what's the reason for it. I tried searching for this, but didn't find any conclusive info. In framebuffer mode in theory it should be possible to implement.

Do I have specific terminal for this, or default Mac terminal is enough? (Asking because I've some weird bugs here.)
(comment deleted)
I think the default Mac terminal doesn't support true colour, which causes some rendering problems like long black lines. Either switch to monochrome move with Alt+m or install iTerm.
> Run it right now with: docker run --rm -it nbrown/lynx lynx http://hanselman.com/

Or run it right now with:

lynx

If your use case for trying an established browser involves docker, we might want different things from a browser. I like the idea of browsh too, but it is not a browser.

You can download a binary and run it that way, it doesn't need docker
Or even just `ssh brow.sh`
I like this but the html.brow.sh/... service needs some sort of MitM warning.
What about a little note in the footer? What could it say without implying a distrust in the service?
Author of the software here, not the article. I never intended Browsh to replace Lynx et al! Browsh is firstly for people with slow and/or expensive networks and secondly a cool terminal gimmick.

Sorry for stepping on any toes.

Are you planning MacOS support?
`brew tap browsh-org/homebrew-browsh`
I use `brew cask` to install firefox, and browsh adamantly refuses to use ~/Applications/Firefox.app.

Not complaining, just reporting.

Once it was up and running, I guess my terminal styling is conflicting with the renderer: https://i.imgur.com/5JJuLYe.png

EDIT: Ah, it works great in iTerm. Thanks for the cool browser.

Oh you should not be sorry at all :-) Text only browsers have very few users, any project that will bring more attention to the field is only going to benefit everybody. I bet that a number of people tested again Lynx after like 10+ years after reading all the posts about Browsh.
Thanks. That's a good point about reinvigorating interest in Lynx, I'd also consider that a success.
Maybe browsh is just kinda of an hack (well, much more given that it works in a quite impressive way) in order to reach the creator's goal of low bandwidth usage, and is not a lynx replacement because of the way it works. But... at the same time it shows that text-only browsers, I mean proper browsers implementing the text-only rendering in a stand alone way, should get an opportunity to copy from browsh, and realize that today terminals can do more.
Thanks, yes I'd love to see some sort of formal support for pure text-based browsing, beyond things like "Reader Mode" that only make articles more accessible not UIs.
Except the part that lynx is still fine.

Except the part that brow.sh requires X11

Except the part that Scott doesn't even know the difference because he's a M$ shill

I haven't tried the browsh binary yet but trying both web versions completely mangles the text in my extremely simple text-only personal website (http://rezich.com), which lynx has no problem rendering at all. Is this a deficiency of the web versions or does the binary version have this problem as well?
I want to use this, but I'd really like text only. When I say that, I don't mean "render images in text". I want text only. Text I say!

Created a GitHub issue regarding this on the project, but it was promptly closed with "Press CTRL-M", which is not what I'm after nor works by default.