Your rating: None Average: 4.5 (22 votes)

A simple webbrowser which allows viewing webpages and surfing sites.
It is based upon the webkit engine provided by Qt5.

Current features include:

  • Landscape support
  • Tabbing support (real without reloading of tabs)
  • Bookmark support
  • Setting browser user agent
  • Setting default font sizes
  • Opening up links in new tab (by long press and hold on link)
  • Copy links (by long press and hold on link)
  • Open media links with internal or external viewer (e.g. LLs VideoPlayer)
  • Setting DNS Prefetch
  • Setting Offline WebApplication Cache
  • Manually add bookmark with specific user agent
  • Fast scroll to top or bottom of page
  • Watch Youtube with internal or external player (e.g. LLs VideoPlayer) with direct link
  • Download Youtube videos in different formats
  • Private Browsing
  • Clear Cache, Cookies, History
  • Page search functionality
  • Simple adblocking (simple rules no bloat)
  • Integrated file manager
  • Integrated Download Manager
  • Keyboard Hotkeys (for TOHKBD or bluetooth keyboards)
  • Support different screen resolutions (support for Nexus4, Nexus 5, Nexus 7)
  • Allow setting as default browser
  • Backup Manager (Import/Export Bookmarks,Cookies,History,Settings)
  • Proxy Support

Video demonstration: http://youtu.be/1uVjaETqmMA

0.9 Video demo: http://youtu.be/nNYjdr5tCSs

2.0 Video demo: http://youtu.be/WZXlqOrLKK8

2.0.9 Video demo: https://youtu.be/Ck2TND0-PwE

2.1.0 Video demo Backup Manager: https://youtu.be/sBge7JAlXro

Sourcecode: https://github.com/llelectronics/webcat

From Version 2.9.7 on it is recommend to use QtWebkit 5.212 in combination with Webcat. You can get builds from here: https://build.merproject.org/package/show/home:leszek/qtwebkit5212-wHtml...

Donations via PayPal

Application versions: 
harbour-webcat-0.8-2.armv7hl.rpm58.49 KB11/01/2014 - 19:47
harbour-webcat-0.8-3.armv7hl.rpm64.67 KB12/01/2014 - 03:14
harbour-webcat-0.8-4.armv7hl.rpm79.63 KB17/01/2014 - 01:55
harbour-webcat-0.8-5.armv7hl.rpm79.65 KB18/01/2014 - 03:09
harbour-webcat-0.9-1.armv7hl.rpm92.09 KB31/01/2014 - 23:22
harbour-webcat-0.9-2.armv7hl.rpm92.05 KB03/02/2014 - 15:02
harbour-webcat-0.9-3.armv7hl.rpm92.25 KB07/02/2014 - 13:44
harbour-webcat-0.9-4.armv7hl.rpm99.62 KB13/03/2014 - 00:20
harbour-webcat-0.9.6-1.armv7hl.rpm123.05 KB13/06/2014 - 23:31
harbour-webcat-0.9.7-1.armv7hl.rpm123.69 KB03/08/2014 - 21:13
harbour-webcat-0.9.8-1.armv7hl.rpm125.66 KB26/08/2014 - 20:29
harbour-webcat-0.9.9-1.armv7hl.rpm134.53 KB21/12/2014 - 14:41
harbour-webcat-0.9.9-2.armv7hl.rpm134.54 KB24/12/2014 - 15:03
harbour-webcat-1.0.0-1.armv7hl.rpm139.59 KB31/01/2015 - 22:23
harbour-webcat-1.0.1-1.armv7hl.rpm139.88 KB07/02/2015 - 14:41
harbour-webcat-1.0.2-1.armv7hl.rpm140.2 KB17/02/2015 - 14:12
harbour-webcat-1.9.9-1.armv7hl.rpm190.17 KB05/03/2015 - 00:28
harbour-webcat-1.9.9-2.armv7hl.rpm156 KB07/03/2015 - 00:56
harbour-webcat-2.0.0-1.armv7hl.rpm156.18 KB17/03/2015 - 15:24
harbour-webcat-2.0.1-1.armv7hl.rpm156.27 KB13/05/2015 - 17:59
harbour-webcat-2.0.2-1.armv7hl.rpm156.52 KB13/05/2015 - 23:39
harbour-webcat-2.0.3-1.armv7hl.rpm156.52 KB14/05/2015 - 12:47
harbour-webcat-2.0.5-1.armv7hl.rpm167.81 KB27/06/2015 - 11:43
harbour-webcat-2.0.5-2.armv7hl.rpm167.66 KB27/06/2015 - 13:08
harbour-webcat-2.0.7-1.armv7hl.rpm168.48 KB06/08/2015 - 20:33
harbour-webcat-2.0.8-1.armv7hl.rpm177.98 KB14/10/2015 - 18:49
harbour-webcat-2.0.9-1.armv7hl.rpm182.34 KB03/12/2015 - 20:00
harbour-webcat-2.0.9-2.armv7hl.rpm182.42 KB22/12/2015 - 17:05
harbour-webcat-2.1.0-1.armv7hl.rpm195.54 KB12/02/2016 - 19:47
harbour-webcat-2.1.0-1.i486.rpm206.11 KB12/02/2016 - 19:47
harbour-webcat-2.2.0-1.armv7hl.rpm202.02 KB05/03/2016 - 13:00
harbour-webcat-2.2.0-1.i486.rpm212.92 KB05/03/2016 - 13:00
harbour-webcat-2.2.1-1.armv7hl.rpm217.84 KB03/04/2016 - 14:28
harbour-webcat-2.2.1-1.i486.rpm228.56 KB03/04/2016 - 14:28
harbour-webcat-2.2.2-1.armv7hl.rpm218.97 KB16/05/2016 - 19:30
harbour-webcat-2.2.2-1.i486.rpm229.58 KB16/05/2016 - 19:30
harbour-webcat-2.3-1.armv7hl.rpm224.99 KB03/07/2016 - 18:50
harbour-webcat-2.3-1.i486.rpm240.86 KB03/07/2016 - 18:50
harbour-webcat-2.4-1.armv7hl.rpm230.41 KB08/12/2016 - 20:03
harbour-webcat-2.4-1.i486.rpm242.32 KB08/12/2016 - 20:03
harbour-webcat-2.5-1.armv7hl.rpm234.54 KB10/01/2017 - 13:09
harbour-webcat-2.5-1.i486.rpm246.44 KB10/01/2017 - 13:09
harbour-webcat-2.6-1.armv7hl.rpm234.73 KB09/02/2017 - 19:04
harbour-webcat-2.6-1.i486.rpm246.42 KB09/02/2017 - 19:04
harbour-webcat-2.7-1.armv7hl.rpm238.34 KB30/05/2017 - 14:42
harbour-webcat-2.7-1.i486.rpm249.41 KB30/05/2017 - 14:42
harbour-webcat-2.8-1.armv7hl.rpm267 KB24/06/2017 - 19:05
harbour-webcat-2.8-1.i486.rpm283.6 KB24/06/2017 - 19:05
harbour-webcat-2.9-1.armv7hl.rpm269.12 KB18/08/2017 - 15:22
harbour-webcat-2.9-1.i486.rpm284.82 KB18/08/2017 - 15:22
harbour-webcat-2.9.7-1.armv7hl.rpm302.86 KB21/09/2017 - 13:21
harbour-webcat-2.9.7-1.i486.rpm318.92 KB21/09/2017 - 13:21
  • Long press on close button in tabview closes all tabs
  • Hide bookmarkbutton by default only show when urlbar is focussed
  • Replace reload button in extraToolbar with closeTabButton
  • Reduce spacing between BackIcon and ForwardIcon in toolbar
  • Split Bookmarkspage in 2 columns with bookmarks on the left and tabs on the right if in landscape
  • Added optional input method by long pressing on input box (opens a native input editing dialog)
  • Updated devicePixelRatioHack
  • Enable experimental.overview to better work with devicePixelRatioHack
  • Deactivated pollyfills that aren't necessary anymore (new qtwebkit 5.212 takes care of it upgrade to it if you need svg and full es6 support)
  • Save if media in MediaList is ytMedia
  • Disable HTML5 Audio & Video workarounds (qtwebkit 5.212 takes care of html5 audio + video)
  • Enable HTML5 Audio Tag detection and add to MediaList
  • Slight update of the default user agent
  • Handle onEnterFullScreen and onExitFullScreen
  • Fix Restore Backup functionality
  • Replaced old Adblocker rules with something more recent
  • Attach to window.onload instead of overwriting it (fixes some sites like acid3 test or css3 test not loading)
  • Some DevicePixelRatioHack.js optimizations
  • Added alternative webkit user agent  (used by Sailfish Browser for youtube)
  • Updated Jolla Sailfish Browser user agent


0rion's picture

No webbrowser on Sailfish can properly display the website http://przystanki.bialystok.pl/

I hoped Webcat could do it... :(

llelectronics's picture

Looks almost fine to me on my tablet with QtWebkit 5.212 as backend for webcat. Only the search icon is not showing up for some reason. The rest works fine though on my initial test. Or is there anything special I should test on this site? 

0rion's picture

Very strange. I checked again and I can't search in any field (search icon appears but keyboard doesn't). I mean, I can't enter for example bus stop number or street name.

Webcat 2.9.7 with default settings, Intex Aquafish, Sailfish OS

llelectronics's picture

You are right this is indeed not working. I can get to the searchbar and list but searching clears the list completely with Qt 5.212. 

So I think this website is not compatible with Qtwebkit. There is nothing I can do about it. You could report this bug to qtwebkit 5.212 itself and maybe they are able to fix it.

objectifnul's picture

How do I enable/disable javascript in webcat? Didn't see it in settings.

llelectronics's picture

It is indeed not possible as I don't offer that in settings.

Bocephus's picture

FFS, yes it's "a u", and how is that even relevant as pertains to Webcat? What's your diagnosis?

skyjumper's picture


Are you able to add cookie control? I know we can delete them, but the ability to control session and third party cookies would be great.


ps and a small thing - it should be "open a url", not "open an url"

llelectronics's picture

I currently don't see a way to distinguish between them with API QtWebkit offers.

olf's picture

"u" is a vowel, not a consonant, right?
So why should it not be "an u..."?

skyjumper's picture

That's because of the lovely intricacies of the English language. Because the U in url sounds like a consonant - y, we use "a" instead of "an".

olf's picture

So the matter of "an" vs. "a" depends on pronouncing it "yurl" or "U-R-L", right?

Well, I (long ago) learnt, that a "y" is treated as a vowel depending on its pronunciation (e.g., "year" vs. "lovely", but I cannot think of any leading "y" being pronounced "ie", thus this is a non-issue WRT "a" vs. "an"), but vowels being treated as consonants is new to me; do you have a pointer at hand for further reading on this matter?

Sorry for bugging you with such an off topic question (some friends call me "language nazi", but that is usually about expressing oneself concisely, not grammar).

skyjumper's picture

Oh I understand completely - badly worded sentences or grammer is frustrating... Have a look at this: http://www.writersdigest.com/online-editor/a-before-consonants-and-an-be... - see what you think :-)

olf's picture

Thanks, that site provides some nice distraction for the evening.  But it were rather your statements (as we both seem to be in accordance on the grammar rule), which made me reconsider the original point:

a. My initial statements were too brief and thus not concise (in thinking *and* writing). ;\  Specifically, I would / should have spelled it "an URL", denoting to address the classic TLA of "Uniform Resource Locator", which is pronounced "U-R-L".

b. Thinking about it, I realise that many tend to use "url" as a simple noun nowadays, which is pronounced "yurl", hence should be spelled as "a url".  Well, many acronyms were always handled like this, e.g. "snafu", but OTOH think of "YMCA".

I personally still tend to use style a. (and pronounce it as single letters), but ... yes, I am growing old and language is permanently evolving.  Is this line of thoughts comprehensible and does it make sense for you?

skyjumper's picture

Yeah, makes sense to me. Though I would always says the letters as compared to saying the word - that seems strange. Though "an URL" seems stranger!

olf's picture

Thanks, as your last statement ultimately made me understand, that it ought be "a U" in any case (i.e. never "an U"), as even the single letter U is pronounced "ju", right?

mr_Upolo's picture

Hello! Sometimes at surfing a part of the page doesn't display (only white background). To make the page displayed need to refresh the page, or TO OPEN BOOKMARKS AND GO BACK TO THE PAGE. How to fix this problem?

llelectronics's picture

You can't it's an issue of SailfishOS. I reported it already

mr_Upolo's picture

So... What do we do? Just to reconcile?

llelectronics's picture

I suppose the problem is with the wayland compositor. So the only thing we can do is wait and hope Jolla fixes it.

olf's picture

Well, on the technical side, the result of spending a good part of this weekend with testing is:
The HTML5 compatibility has regressed in your QtWebKit build v5.212.0-10.43.1.jolla compared to v5.6.2+git3-1.19.1 from Jolla by "-18 points" in the area of "Storage" providers and by "-1 point" in "Performance: Shared workers", according to HTML5test.com.
But the improvements are vast and impressive: An increase in the cumulative HTML5test score by 75 "points" (329 - 292 + 18 + 20, trying to take the "cheating" of Webcat 2.9-1 in the areas HTML5-Audio and -Video into account), so with "-19 points" due to aforementioned regressions, other HTML5 features were improved "by 94 points". BTW, both QtWebKit5 based web browsers for SFOS, Webcat 2.9.7-1 and the last (now unmaintained) WebPirate 2.1-3, score "329 points" with your QtWebKit 5.212.0-10.43.1 on my two Jolla 1 phones; note, that you reported "326 points", so if this has not been a typo, there is something (positively) different on my devices.
Much more importantly though, is the impact in practice: Finally I tested a couple of web pages which used to fail with Jolla's latest QtWebKit 5.6.2 build, e.g. EFF's Panopticlick: They now work well with your QtWebKit 5.212.0-10.43.1 (as with the Gecko based Jolla Browser or Firefox for Android under AlienDalvik), and specifically Webcat scores quite well on Panopticlick (in contrast to WebPirate, so here your browser makes a significant difference!).

But the big take away is IMO:
Manually downloading and installing the five RPMs is not really a feasible way to distribute QtWebKit 5.212, and keeping it up to date implies regularly visiting your Mer-OBS repository. Although I tried to be more cautious than you suggested by using pkcon install-local *webkit*.rpm, I once accidentally downloaded one out of the five RPMs at v5.6.2-10.90.1.jolla (just "mis-tapped" a single line lower or higher in the directory listing), creating a version mismatch after installing all five RPMs, which caused Webcat to crash on startup; it took a while until I had analysed this and ultimately understood what went wrong (while many may have given up in this situation). And anybody not reading your instructions carefully will download and install the newest and highest numbered RPMs available there, as I initially did.
Hence my suggestion is:
Please create two qtwebkit5-V-R.jolla.*.rpm ("V" is currently "5.212.0" and "R" "10.43.1") "meta-RPMs" for armv7hl and i486 (if "qtwebkit5" does not collide with any existing package name, otherwise pick some other name, e.g. "webkit5"), which contain nothing but dependencies on the five RPMs libqtwebkit5 libqtwebkit5-widgets qt5-qtqml-import-webkitplugin qt5-qtqml-import-webkitplugin-experimental qt5-qtwebkit-uiprocess-launcher in exactly (i.e. Requires: P = V-R in the RPM spec) their corresponding version. Then upload these six RPMs to your repository on Openrepos. Finally create a new Webcat RPM, which depends on the meta-RPM, requiring at least version 5.212.0 (i.e. Requires: qtwebkit5 >= 5.212.0) for i486 and armv7hl. This scheme (introducing one level of indirection) allows you to update QtWebKit independently of Webcat and vice versa, and easily switch to using an updated QtWebKit5 when finally distributed by Jolla, simply by updating the "meta-RPM".
As you stated, that you are expecting Jolla to integrate QtWebKit >= 5.212.0 in SFOS 2.1.4 or 2.1.5, this will take 5 to 10 months (if Jolla maintains their current release cadence), so IMHO it is definitely worth to effort, in order to provide users with an easily installable, well working and vastly improved Webcat-"experience" until then.

As you may have already derived from the increasing amount of lengthy postings here (not just mine ;) ), there are many former WebPirate users looking for an alternative (to the Jolla Browser), native web browser:
And there is only one, your Webcat!

olf's picture

Oh, I forgot that you also upload Webcat to the Jolla Store ("harbour"), where pulling in a new QtWebKit is forbidden.

Well, so it might make sense to ...

... either create a separate harbour version of Webcat (which may also reintroduce the workarounds for the old QtWebKit 5.6.2), but that creates an additional, though temporary maintenance burden.  In this case the OpenRepos version could depend directly on the five new QtWebKit 5.212 RPMs, after uploading them to your OpenRepos repository.

... or leave Webcat's dependencies as they currently are, while creating aforementioned "meta-RPM" and upload the (then) six QtWebKit RPMs to OpenRepos, so users can easily install QtWebKit 5.212 by simply installing the "meta-RPM" in Warehouse / Storeman (i.e. just a single package, as the other five will be downloaded and installed automatically).

olf's picture

While I was primarily keen on having the revived QtWebKit5 available for SailfishOS (thanks again for pursuing this) for security issues and other bugs fixes, I was also curious about functional improvements QtWebKit 5.212.0 brings over v5.6.2+git3.
Comparing the results of HTML5test.com of Webcat 2.9.7-1 and QtWebKit 5.212.0-10.64.1 with Webcat 2.9-1 and QtWebKit 5.6.2+git3-1.19.1, there are indeed a couple of improvements, but actually the final score is lower (276 of 555 points, down from 292 points), as some HTML5 functionality has seemingly regressed:

  • Performance: Shared workers
  • Video: 0 points (!), down from 20 of 33
  • Audio: 0 points (!), down from 18 of 30
  • Storage: 15 points, down from 33 (!) of 35

The seemingly lacking support for HTML5 audio and video makes me wonder, if these regressions are really caused by QtWebKit 5.212.0 in general or if they are specific to you build 5.212.0-10.64.1.jolla?

olf's picture

Now tried HTML5test.com with your QtWebKit 5.212.0-10.66.1 build (dated 2017-09-23) together with the slightly older Webcat 2.9-1: HTML5 audio and video scores are on par with the same Webcat version (2.9) in conjunction with the old QtWebKit 5.6.2 from Jolla, only the regressions (-18 "points") in the "Storage" area and the single "Performance" regression remain (now scores 314 of 555 points, up from originally 292). So I believe these remaining issues may be attributed to your QtWebKit builds.
But with Webcat 2.9.7-1 this fresh build of QtWebKit (5.212.0-10.66.1) still only scores 276 points: HTML5 audio and video are apparently still completely broken (both still at 0 points), hence seemingly this can be attributed to the new Webcat version, not to your QtWebKit5 builds.

llelectronics's picture

You are testing the wrong packages. Like stated in my other posting you need version 10.43.1 for enabled html5 audio + video support. 

Together with Webcat 2.9.7 I get a score of 326 points on html5test.com 

Webcat 2.9 cheated on that test anyway as it basically said to support everything html5 audio+video. Ultimatively it did not support everything of course. 

It would be nice if you could remove your instructions on how to add the repo so others won't follow that instructions as they will introduce the problems you encounter. 

olf's picture

O.K., so I was misinterpreting your statement

So you need version 5.212.0-10.43.1 currently as this is the newest version. See the dates in the repo

to pick the newest version by looking at the file dates: The v5.212.0-10.64.1 RPMs, which I originally tested, were replaced by v5.212.0-10.66.1 on 2017-09-23, which both were few days newer than v5.212.0-10.43.1 (2017-09-19).
So one should stubbornly use v5.212.0-10.43.1 and not take the timestamps of these RPMs into account, until you state something else, right?
And directly using Mer-OBS repositories seems to be generally broken and useless to counterproductive under SailfishOS, currently. I wonder what these repositories are good for, except for placing RPMs built by OBS there. Guess, I still have to find a piece of the SailfishOS infrastructure (both, inside or outside / around SFOS), which does not turn out to be more or less severely flawed, when looking closely.
This is annoying, crappy shit, but ... not your business! Yes, this experience ultimately convinced me, so I will delete or substantially alter my original post WRT your QtWebKit packages.

llelectronics's picture

There are several problems with the repos. First my inexperience with it lead to me creating branches. One of them ships QtWebkit 5.212 with the configure config of Jollas/Mers QtWebkit 5.6 so without HTML5 Audio+Video support (after inspecting this is the newer version of packages). 

The other one is the 10.43.1 which is the branch with HTML5 Audio+Video support. 

So partly my mistake. The other issues with repo not able to refresh is however an issue with the mer obs. 

carmenfdezb's picture

I've tried to install QtWebkit from leszek repository, but this error is showed:
Error fatal: There is no update candidate for libqtwebkit5-5.6.2+git3-1.18.1

olf's picture

This sounds, as if you accidentally omitted the pkcon refresh step.

llelectronics's picture

See my comment about this. 

Don't use the repository download the files directly and install them manually.