Browsh for text-based internet browsing (2018)
hanselman.com
hanselman.com
Gotta put in https:// always.
Not sure that counts as major.
Also, the main sites for the BBC, New York Times and Washington Post all work just fine without javascript and in terminal-based browsers (I'm partial to emacs' eww.) In my experience javascript is not necessary for a great many websites, including some major ones. Most links I click through from HN work fine without javascript, although there is some selection bias there.
This is a frequent symptom on websites that consist of more JS than HTML: they often won't even let you scroll the page without a mouse, let alone have UI that's visible to plugins(I never tried it, but I'd bet these same sites would also appear basically empty to screen readers etc.).
https://greasyfork.org/en/scripts/40897-old-reddit-please
Works great in Violentmonkey/Greasemonkey.
That part the cynic in me sees as obvious: easier tracking with the perms that most apps require, so they can command a higher price for any ad impressions.
I think the same is true for a great many apps that could be replaced by a well constructed site or, if offline use is needed, a PWA (the argument of supporting old devices is moot: if your phone is too old to run a well written PWA reasonably then it probably isn't new enough to be well-supported by the related native app either).
Gets me every time.
Except this happens to me when I’m running low on my Canadian dataplan and need to ration data because of economic failure limitations, not true physical ones.
During 2000s, Opera Mini created a great web browsing experience over 56k dial-ups.
Since it’s a proxy/VPN, it also gets around paywall limits.
browsh is in no way a replacement for lynx in any way. It's a nice project nonetheless.
It's a suprisingly powerful way of running a full browser on a "mainframe" (ha!), and ssh/moshing in from a terminal on a bad link.
I often use SSH as a poor's man VPN through a SOCKS proxy in areas where some VPN protocols won't go through, and having the resiliency of mosh would be great.
Lynx and other text based browsers are useful because they save bandwidth/data by not having to fetch a ton of resources, are safe and fast because they don't run javascript, and are accessible since there's no computer built in the past like 30 years that will struggle to run one. The only draw back is that some sites don't work well with them, and the UX will push away non-computer geeks.
It's almost like using VNC in some ways...
There is also a somewhat ironic in-browser version, eg; https://html.brow.sh/https://news.ycombinator.com/item?id=21...
And a demo SSH service `ssh brow.sh -t https://news.ycombinator.com/item?id=21515032`
Ultimately I would like to completely separate the remote GUI rendering from the local text rendering, essentially realising a cloud-rendering service. The CLI will then truly be lighter than lynx etc and clients could run in normal browsers.
I used elinks for about 6 months whilst I was in Ladakh (Indian Himalayas) but it just can't handle a significant chunk of the modern web. My dream is that everyone is able to access the text of the modern web regardless of bandwidth and pricing.
PS! I'm looking for contract work at the moment.
Also, see previous discussions:
May 2016 https://news.ycombinator.com/item?id=11744221
I look forward to taking advantage of it from the South Pole next month.
Thats like Lynx requiring Electron for text-only web browsing, which sounds more like a massive downgrade in the view of a minimalist user's point of view.
Nevertheless, a great project feature-wise with having most if not all of Firefox's features in a text-only fashion.
It’s like saying “New minimalist transportation mode that replaces the bicycle! (Requires an existing car and jet engine)”
Yes, but at the server side you SSH into so your local connection isn't downloading the full images/other and your local compute resource isn't processing them.
Of course you can run it all in one place, but as you suggest that would be a little pointless beyond the "cool plaything" factor.
I’d be much more into a terminal browser with modern JS, CSS and HTML5, but which was written to be terminal based from the ground up.
ASCII art style rendering is a fun novelty, but I didn’t find it ultimately very helpful. Having a JavaScript engine on the other hand absolutely helps, especially for sites with non-trivial login forms.
Is there another browser project that’s more like lynx/links/w3m but with added JavaScript support?
https://q3k.org/u/d808e1792782743cd58d4bd04a760211dde2075c32...
browsh on the left, links on the right, showing this comment thread.
(the terminal emulator is urxvt, which has so far had no trouble rendering any sort of TUI)
For example going over "who is hiring" posts on HN with full access to the text navigation and search functions in Emacs.
It's a nice project by itself, but I have to wonder why there's such heavy emphasis on binary-only distribution - there's no link for a source download, no Makefile, no meaningful notes. guess we have to just grab the files from Github and just poke around for a while until we figure it out?
[1] https://github.com/browsh-org/browsh/blob/master/contrib/set...
Now we’ve got a heavyweight thick-client-orientated client/server runtime environment. And not a very well designed one, at that.
Things were almost sensible until just after AJAX. What we have now is just totally unfathomable.
Personally I find w3m easier on my eyes. I have tried to run with it as my primary, but oddly enough some of the full baked browsers still feel faster. That I can't really figure out! It could be pre-fetching or pre-renders, or some other trick.
I tend to have at least one JS disabled browser, with my own stylesheet to ape something akin to the console browsers.
* Render HTML email in mutt.
I put the following in ~/.mutt/mutrc:
set mailcap_path=~/.mutt/mailcap
auto_view text/html
Then in ~/.mutt/mailcap: text/html; w3m -T text/html -dump %s; copiousoutput
* Reading Markdown files: markdown README.md | w3m -T text/htmlMost GUI browsers will begin rendering before the download is complete. Advantage: faster render. Downside: display changes as additional elements are retrieved / sized / rendered (for JS/dynamic elements).
Some sites somehow manage to make the content wider than the screen or set foreground and background colors with bad contrast, even with style sheets and JS turned off. Lynx is the only rescue in such cases. If it really should die some day, I will keep maintaining it.
I don't get it.
The former is a low footprint console browser with it's own rendering engine. So it doesn't always get stuff right -- particularly not on JS heavy sites.
The latter is ostensibly a console frontend for Firefox so it works with JS and all the other goblins of modern websites.
The commonality is obviously the "console" part but that's like saying notepad.exe and Visual Studio are equivalent because they're both Windows GUI applications.
- Firefox
- Docker
Yeah, it's not replacing Lynx any time soon.
And of course, duckduckgo is very usable with elinks. mediawiki and wordpress sites tend to be quite good as well!
Like links/elinks, w3m supports tables and other layouts. It adds in vim-like keybindings, which I find vastly more memorable than lynx's keybindings, or the menu-driven approaches of links/elinks.
If you're now using lynx, you'll probably keep on prefering it. If you're coming from the vim camp, you may well want to try w3m.
Other features I like: the extensive configurability, colour schemes, and numerous URI handlers which can be specified. Nominally, those are for launching other browsers, but you could just as well chain in scripts or processes for various workflow uses.
Browsh is not killing _true_ CLI-based text-only browsers any time soon. It's an interesting piece of work, but it's incredibly arrogant to tout it as a lynx/links killer.
That said, I just installed and played with browsh and I like lynx better. To be fair, this might just be 25 years of use, so lynx seems very natural to me.
The general principle is exercise of a general push against "the application" as unit of functionality. My main inspiration has been nmh (https://www.nongnu.org/nmh/). As compared with traditional mail clients, it pushes individual mail-related actions into the shell.
The mail client has the advantage of not really needing a long-running process, but that isn't really a blocker - put the functionality behind an API and expose it through utilities, talking to a socket based on shell variables, and you can put together a pretty compelling experience. I wrote a libpurple client that worked that way. Where relevant, you can poll in PROMPT_COMMAND.
What does this look like for a web browser? ¯\_(ツ)_/¯
We can mimic a typical web browser experience, with commands to follow links, maybe manage tabs, interact with UX elements, poke the JS on the page?
But maybe we could also move away from the sense-of-place metaphor that puts us "on" one page at a time, and fold in stuff learned in spidering? Once we get thinking outside the box, there might be some really interesting things to find.
Or maybe not.
Please ask any questions you're left with :)
It calls for something more localized than a daemon, but longer lived than a utility. We see something similar with language servers. In that case (IIUC, and I may not) they're typically tied to specific places in the directory structure (eg. listening on a unix socket created in the root of the relevant source tree).
For the chat client I mentioned above, I tied things together with shell and environment variables. The script to start the long-running process read its initial output and set things up so that future commands would know which process to talk to. The code is at https://github.com/dlthomas/genies
I didn't realize that you could actually get this to work on most terminals by now, and they make single static binaries, so hell yes. I hope they eventually remove the Firefox binary dependency, that'll be a big win.
I've already started using `bat` and now I'll use this more. I've incidentally started following r/unixporn on reddit too, this would make a nice addition there. :)
2328M 831M select 0 24:33 2.05% firefox
29656K 9096K ttyin 7 0:00 0.00% lynx
lynx can show all URL links on any page, which is handy but missing from w3m.
https://lynx.invisible-island.net/current/CHANGES
Browsh is fun, but at first I thought they were implying Lynx had been officially deprecated or something.
(Lynx is usually my rough benchmark tool for whether or not my personal site is accessible enough)
Charles VII would have probably not been amused by this historic statement being called a meme :-D
I tend to think of memes as simply more attached to the current era. Sure our current era is devolving into madness, but I like to believe in a world with beautiful memes and healthier societies.
Even if he weren't, I feel like this would be pretty far down on the list, considering that the intervening centuries have also seen the fall of the French monarchy...
(Btw, that was my idea of how to shorten the title too. When you can make a title better simply by taking a substring, that's the best—it minimizes the surgery. The more titles I edit the more I hate having to make up anything, even a single word, to put in there. And sometimes it's sort of magical what you can come up with if you just do a substring search!)
That's a great idea, but the result was a little depressing when I ran the test on my personal site, because it arguably looks better than it does in Firefox...