Are there any good lightweight browsers?

Are there any good lightweight browsers?

I haven't been keeping up with the Linux scene in a few years but last I remember Uzbl was the hottest meme. Is that still the case?

Other urls found in this thread:

github.com/uzbl/uzbl/tree/next
github.com/fanglingsu/vimb
qutebrowser.org/
portix.bitbucket.io/dwb/
bitbucket.org/portix/dwb/pull-requests/22/several-cleanups-to-increase-portability/diff
bitbucket.org/portix/dwb
pastebin.com/dinBuXxJ
github.com/qutebrowser/qutebrowser/blob/master/doc/userscripts.asciidoc
github.com/qutebrowser/qutebrowser/issues/30
en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
github.com/qutebrowser/qutebrowser/issues/335
github.com/qutebrowser/qutebrowser/issues/2235
bugreports.qt.io/browse/QTBUG-57505
paste.the-compiler.org/view/f3769586
twitter.com/SFWRedditGifs

Qutebrowser is pretty nice, esp with webengine.

Midori

>Are there any good lightweight browsers?
No. By definition of a web browser and the standards that's impossible.

Surf is not that bad.

Why not use Off By One web browser under WINE?

I'm using qutebrowser, but I've been interested in uzbl. From your post, it seems like it used to be popular?
I don't see people talk much about it these days, but I was wondering if someone could say a little bit about how they compare?

I think the main thing to look out for is that whatever you're using is based on a up-to-date backend, i.e. WebKit2 when it's using WebKitGTK. If you're using something outdated, that means bad stability and security.

uzbl used to be pretty dead, but recently there has been quite some activity in its 'next' branch again (which is based on WebKit2):
github.com/uzbl/uzbl/tree/next

vimb (which is also quite minimalistic) also made the switch to WebKit2 recently:
github.com/fanglingsu/vimb

qutebrowser is probably in most active development from the three, and can use either QtWebKit (of which there's a legacy version distributed with Qt, and an unofficial replacement, commonly called QtWebKit-NG), or QtWebEngine (which is based on Chromium, and as such probably more modern than anything based on WebKit).
It also has a bit of a different philosophy - rather than trying to be very minimalistic, it tries to actually be a good usable standalone browser, implementing things like tabs itself instead of relying on external applications (suckless' tabbed) to do so. This has various benefits, like actually working state sharing (like cookies) between tabs. It's also cross-platform (Windows, OS X).
qutebrowser.org/

Then there's everything else (luakit, dwb, jumanji, vimprobable, ...) which is pretty much dead, and using WebKit1.

(disclaimer: I'm the main qutebrowser developer)

dwb portix.bitbucket.io/dwb/

can use vim keys
can import firefox bookmarks
can use scripts like greasemonkey

try it faggot

Does it have noscript though?

>written in C
>dependencies are only libsoup, webkitgtk and gtk
>userscript support
>custom stylesheet support
>webinterface for all cofiguration
>addon manager included
Why this isn't getting more love?

It's based on the outdated and insecure WebKit1, has seen almost no development for years (20 commits in total in 2014-2017), and is officially abandoned:
bitbucket.org/portix/dwb/pull-requests/22/several-cleanups-to-increase-portability/diff

(the author also closed the bugtracker and left the IRC channel).


It's been a great project, and it's what I've been using for years before starting qutebrowser (because of what happened with dwb) - but it's unfortunately dead.

Not yet, but I'm currently working full-time on its new config system (see blog.qutebrowser.org) which will include per-domain settings. So there will be noscript-functionality in a few weeks.

Man, I wish the dev hadn't abandonned it. It's literally the perfect browser. It even has its own RequestPolicy and out of the box noscript support, and you can call shell scripts from the browser, for example to archive pages or other actions (I wrote tons of these thoughout the years). That's the reason I can't switch to something like qutebrowser: no requestpolicy which is absolutely indispensable on the modern web.
Dsb runs on Webkit1 though, which is old and busted and choke full of vulnerabilities (Particularily in terms of SSL certs validation, you can get MITMed iirc). I wish a brave user who knew what he was doing took over the development and ported it to webkit2. I would literally donate hundreds of bucks, and I'm sure others would too. You could make an honest hard-working man's salary just maintaining this browser.

but the commits are seven months old at most? what is happening here, is it abandoned or not?

>bitbucket.org/portix/dwb
>Last updated 2016-12-13
Anyway, why wouldn't you fork it? It has a strong following.

The main dev abandoned it, the only commits it gets are irrelevant small fixes, it runs on webkit1 (insecure), and you can't even compile it with the latest releases of its dependencies, you need to use older versions.

The guy you're replying to started another project (qutebrowser), which is promising as a replacement, but I can't personally use it because no RP or NS or even per-domain settings. I don't wanna bleed all of my data to botnet advertisers and downright malicious third-parties like ekansovi.com, which is linked by Sup Forums.

>So there will be noscript-functionality in a few weeks.
Please make sure users can decline to even load any data form third-parties, as opposed to just not running the javascript.

NoScript (and probably something uMatrix + RequestPolicy like, minus the GUI for now) will be possible with per-domain settings, which will be there in a few weeks.

You can already completely blacklist hosts though (that's what qutebrowser uses for its adblocker).

That'll be the case if you're using the QtWebEngine backend (which will be the default soon too). Unfortunately not possible with the API I'm getting from QtWebKit.

>qutebrowser
>promising as a replacement
>based on Python and PyQt5
I disagree. Wouldn't say his efforts are not appreciated, but dwb was unique and still had everything what most firefox users wanted.

I stay with the hope more devs join to dwb, it isn't "dead", it just needs to be forked and use a different engine.

That's super cool man, uMatrix for qutebrowser would be like a gift from god.

Yes I agree it has its unique features that I don't see in QB, like the javascript API and the dwb-remote utility you can use to write your shell scripts and integrate them in the browser. Plus GTK (especially GTK2) is much more responsive and snappier than QT, although QT is easier and more straightforward to develop with.
In the end you have to use what's available. QB looks like a much better alternative compared to the hellish pieces of bloated trash that firefox and chromium are today.

You guys are fighting over which web engine is the best and haven't even mentioned NetSurf which can work in the framebuffer.

Imagine the amount of sysadmins and other people without a X installed which can use this graphic web browser or at least his layout engine. Is ported to FreeDOS, UNIX-like platforms, etc.

If you plan on rewriting a browser to use a new engine, you may as well use this, is game changer.

Pic related.

No. Browsing the web may be one of the most resource-demanding things you do on your computer, especially if you don't play games or do anything that's graphics-intensive.

My suggestion is to compile Firefox or Chromium from source, on Gentoo with the custom-cflags USE flag enabled. That will make sure you get the most out of it.

Well, you may awaken my curiosity if the devs plan a uMatrix for qutebrowser.

I have a particular set of addons I use pastebin.com/dinBuXxJ

Notice how each one fulfills a particular task. If qutebrowser can do this level of granular control AND has a way to import bookmarks from firefox, I may try it.

> it just needs to be forked and use a different engine

Which, according to its dev, would equal a complete rewrite and was the reason he abandoned it. It's been almost 3 years now and its codebase isn't exactly clean in some places, so I don't have too high hopes.

You can send commands to running qutebrowser instances using "qutebrowser :foo", and you can write userscripts (i.e. shell/python/perl/... scripts controlling it) like you could with dwb: github.com/qutebrowser/qutebrowser/blob/master/doc/userscripts.asciidoc

As for a plugin API - a Python plugin API is planned first. If there's going to be a JavaScript plugin API, I'm going to look at compatibility with WebExtensions instead (what Chromium/Opera/Firefox use), but that's too far in the future currently to say more. See github.com/qutebrowser/qutebrowser/issues/30

> Plus GTK (especially GTK2) is much more responsive and snappier than QT

That's... not really the experience I had with WebKitGTK. Sure, Qt is a beast, but WebKitGTK's performance isn't exactly great either. Things might look differently nowadays with WebKit2 though.

>would equal a complete rewrite

I'm aware of netsurf, It doesn't have javascript support and none of the safety features we've been talking about. I like the idea of a framebuffer browser though, I realize the only software I use that runs outside of a terminal is the browser and a video player. Mpv can already play videos in the framebuffer so a browser like that would be great for people who don't even want to run Xorg.

These small lightweight minimalist browsers absolutely blow away firefox and chromium in terms of performance. You could underclock your CPU to 800MHz and script-heavy websites would still run like a breeze on dwb, it's not even comparable.

You could hack together some of these on dwb, using the API that was provided, I had some bash scripts to randomize the user agent and to rewrite URLs with https. If Qutebrowser could get the features you listed it would be perfect from a usability standpoint.

Seriously, you should think about these features as top priority, there's a fanatical privacy obsessed userbase that's only waiting for a project like this. Chances are you could get some nice money from donations, I know I would contribute.

>a browser like that would be great for people who don't even want to run Xorg
>there's a fanatical privacy obsessed userbase that's only waiting for a project like this

It's pretty bonkers with crashing honestly. I tried to use it. Gave up after few hours.

Only works if you compile it yourself. Pray to Cthulhu a dev catch what says and come up with a rewrite with those features.

My top priorities currently don't align too bad with this:

- What's remaining for the new QtWebEngine backend
- The new config and per-domain settings (allowing for NoScript/uMatrix like stuff)
- Python plugin API, allowing for things like you mentioned.

I can't complain about money really - I've worked 2 months full-time on qutebrowser last-year, and one month this year, all thanks to successful crowdfundings. It's not like qutebrowser has a small community behind it.

That's great. I'll be following your work. I'm curious about how Qutebrowser would handle something like httpsEverywhere and canvas tracking blocking. Also, I have no idea what's the situation with WebRTC witth the backends you use, afaik it could be used to de-anonymize users even when they're using a VPN.

HTTPS everywhere: I'll look at it once there's a plugin API, which will probably still take some months. With QtWebEngine it supports HSTS though, which is at least a step to the right direction. With QtWebKit, HSTS support should work with Qt 5.9 too, but I haven't looked into that yet.
en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
github.com/qutebrowser/qutebrowser/issues/335

Canvas tracking: With QtWebEngine you can turn it off with `--qt-flag disable-reading-from-canvas` (which just gets passed to the underlying Chromium). With the new config I'll also add a setting for that.
github.com/qutebrowser/qutebrowser/issues/2235

WebRTC: Not supported in QtWebKit - for QtWebEngine, you unfortunately need to recompile it. I opened a Qt bug about that some time ago: bugreports.qt.io/browse/QTBUG-57505

Uzbl still alive and kicking.
Qutebrowser is the norm now.
Luakit is also fine.
Jumanji is dead.
Probably countless others similar to the ones above or simply forks of them on Github, Gitlab, etc

Official Luakit is dead but was maintained and ported to WebKit2 some time ago by some other fella. Founder of the project has reached to him recently to make his fork the official one [github.com/aidanholm/luakit].

What said and the "issue" that the rest of suckless projects have. There is no config. If you wanna change something, you have to recompile the entire browser.

Which was done some hours ago [github.com/luakit/luakit].

FWIW, dwb isn't a suckless project and does have a config.

>no linux
>no worth

I confused it with dwm the window manager.

no it supports linux too.

are you gonna botnet me if I install it?

yeah happens a lot

dwb worths the rewrite though

I'm only not using it because it has several issues with nouveau last time I tried it it seg faulted, has this been fixed? I love your browser, if it wasn't for that.

How can it be possible that you can run skyrim at max settings but your computer struggles to play 360p youtube videos?

Even youtube works well and has no lag in android by using lightning, so why the hell is it so hard to find a decent desktop browser that doesn't hangs while loading pages?

I tried firefox opera and cyberfox and they all work like crap

>How can it be possible that you can run skyrim at max settings but your computer struggles to play 360p youtube videos?
Let me guess, you are using Windows

All this talk about backends.

I know servo isn't ready yet, but are there any projects that try to look at it? I don't mean anything like a daily driver, but something more like a second browser for people who just want to mess around. Also are there any projects that plan to at least look at it in the future? (aside from firefox)

>bloat backend, inextensible backend, unsecure dead backends, a qt backend (like why), dead meme backends
The state of modern web browsing everyone

Can someone just fork firefox or at least its backend, remove the bloat, keep extension compatibility, and maintain it properly? The closest thing that comes to that right now is pale moon, which I'm using, but there are websites where it falls over and extension compatibility isn't that great for newer firefox addons.

not sure how hard is to fork firefox into something more lightweight, and also many people prefer GPL over the MPL from mozilla

I've resume a couple things I see asked in Sup Forums:

Granular control over incomming traffic like Policeman (more control than uMatrix in this particular subject).
Granular control over outgoing traffic like Tamper Data or like Privacy Settings.
Preset profiles for both like uBlock Origin for incomming and Privacy Settings for outgoing traffic.
Random presets generator for things like "user-agent", "canvas fingerprint", and maybe even "plugin enumeration".
Custom stylesheets like Stylish.
Userscript support like Greasemonkey.
Cookie management.
HTTPS with HTTP fallback and ports management like Smart HTTPS and HTTPS by default.
Proxy management like FoxyProxy.
"Open with" feature to use an external application, like for using a video player with youtube-dl and MPV, or for text input with a text editor, and for other protocols like ftp and gopher, and even as a file picker.
Local cache like Decentraleyes and Load from Cache.
All this in a per site basis.
URL Deobfuscation like "Google search link fix" and "Pure URL".
URI leak prevention like "No Resource URI Leak".
Keyboard driven with dwb features like vi-like shortcuts, keyboard hints, quickmarks, custom commands and non-bloated smooth UI.
Configuration options from an integrated command-line or in configuration files like Lynx.
A way to import bookmarks from other browsers like Firefox.
Search customization like surfraw, dwb funtions or InstantFox Quick Search, and reverse image search like with Google Reverse Image Search.
Writen in C.
Low on dependencies.
Framebuffer support like NetSurf to work in a virtual terminal (TTY).
Actual javascript support so we can lurk and post in Sup Forums.

I'm guessing you tried with QtWebEngine? That requires multithreaded OpenGL, which Nouveau doesn't implement (or not properly?) and thus crashes.

You can `export LIBGL_ALWAYS_SOFTWARE=1` for software rendering (which might be rather slow, though) or use QtWebKit-NG instead.

The current git checkout (not released yet though, waiting for PyQt 5.9.1 before I do) displays an error and refuses to start in that case, at least.

As soon as there's a Python wrapper for Servo which works well with Qt, I plan to look at it for qutebrowser. Getting a small prototype up and running shouldn't be more than a couple hours of work.

The only truly lightweight browsers I know are netsurf, dillo and the text based ones. They are all horribly out of spec though and AFAIK none of them has js. For sites where they work they work really fast though.

TheCompiler? You hang out here?

>recompiling to change configuration
Yeah, no thanks.

Mention qutebrowser somewhere on the internet and chances are I'll read it and respond.

From what I've seen in various help forums and whatnot, I'm actually starting to believe this. Do you have a script that scrapes search results or something or am I going insane?

Depends on the sites a bit. See paste.the-compiler.org/view/f3769586 because Sup Forums thinks this is spam...

Actually, ELinks has a limited javascript support

make clean && make install

wow that's hard

What did you have to learn in order to create qutebrowser?
How long did it take you?

seconding this question

Hard to say really, I probably learned most things along the way.

I knew Python pretty well already - I had to teach myself PyQt and GUI programming, but since I needed to write a GUI for something at work I just did so there. Took a weeks or two I'd say.

Random stuff I learnt along the way:

- Lots of Qt stuff
- Some C++
- How to debug crazy issues (often involving Python and C++)
- Javascript
- How to deal with giant build systems (Qt, Chromium, WebKit)
- How to build a community and get contributors
- How to start a successful crowdfunding
- How to order decent t-shirts and stickers for the crowdfunding for a good price
- How to pack and ship stuff internationally (and that I save some 500 EUR by taking 2h to go over the border to Germany and ship stuff from there)
- How the code I wrote 3 years ago is unbelievably stupid

...and probably a lot more I forgot.

thanks

>Random presets generator for things like "user-agent", "canvas fingerprint", and maybe even "plugin enumeration"
Plugin enumeration should definitely not be random, but rather return "undefined". User-agent can have customisable randomised lists but then it's up to the user to ensure they use common agents. Canvas fingerprint is annoying to anonymise so a randomised one that can be reset at will would probably be the best solution, yeah.

Stylish is botnet by the way.

What's a good JS engine to use if one were to write their own browser from scratch (because fuck writing an efficient engine as well)?

yeah, I was thinking the same as you

Is this Clover Browser General?
>/cbg/