Tiny Core Linux

Tiny Core Extensions => TCE Talk => Extension requests => Topic started by: daniel l. on January 16, 2019, 11:13:05 PM

Title: Netsurf
Post by: daniel l. on January 16, 2019, 11:13:05 PM
It's a lightweight browser. More modern and capable than Links or Dillo, but still extremely light. It doesn't play video, but unlike most, it does get the general formatting for simpler websites correct.

It also has a framebuffer version, netsurf-fb, that runs entirely without X. Which makes it perfect for kiosks or console junkies.
Title: Re: Netsurf
Post by: Rich on January 16, 2019, 11:27:01 PM
Hi daniel l.
You should also mention which architecture you are looking for. X86, X86_64, or ARM.
Title: Re: Netsurf
Post by: Pats on January 16, 2019, 11:54:15 PM
By the way, Netsurf browser was already available in TC 3.x repo   by Jason W , if IIRC !
Title: Re: Netsurf
Post by: Juanito on January 17, 2019, 03:02:44 AM
netsurf posted to tc-9.x x86 repo
Title: Re: Netsurf
Post by: neonix on October 22, 2019, 01:31:17 PM
There's an error in TC10 and  TC 9 I believe.

In netsurf-gtk when I want to go to http://tinycorelinux.net
I get "BadEncoding" error.

Netsurf don't work with some sites with iso-859-1, iso-2022-jp, windows-1250, windows-1252 encoding. For example http://tinycorelinux.net use iso-859-1 encoding.
Test page:
www.mountainminds.com/tools/paramencodingtest/page/iso-8859-2

Acording to this site:
bugs.netsurf-browser.org/mantis/view.php?id=2111
It has something to do with libiconv. The solution is to set
NETSURF_USE_LIBICONV_PLUG := NO
before compilation and use external libiconv like this
https://ftp.gnu.org/gnu/libiconv/libiconv-1.16.tar.gz

I also wonder that this browser support video playback and export pages  to PDF file. There is also javascript support but it's unstable and disable by default.
Title: Re: Netsurf
Post by: Juanito on October 23, 2019, 02:32:10 AM
I've just tried netsurf on tc-10.x x86 with the locale left as the tinycore default of "C" and do not see any errors at all when navigating to forum.tinycorelinux.net or the test case you gave.

Which locale are you using?
Title: Re: Netsurf
Post by: curaga on October 23, 2019, 03:15:07 AM
You may need to install glibc_gconv.
Title: Re: Netsurf
Post by: neonix on October 24, 2019, 05:41:34 AM
You may need to install glibc_gconv.
glib_gconv.tcz solved the problem, but there is another.
When I go to http://forum.tinycorelinux.net the browser crush and I get:
Code: [Select]
(netsurf-gtk:6303): Gtk-WARNING **: 11:18:36.099: Could not find the icon 'gtk-dialog-warning'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
        http://icon-theme.freedesktop.org/releases
netsurf-gtk: Fatal IO error 0 (Success) on X server :0.0.

after installing hicolor-icon-theme.tcz the browser crush and I get:
Code: [Select]
tc@box:~$ netsurf-gtk
netsurf-gtk: Fatal IO error 0 (Success) on X server :0.0.
I'm using Xfbdev.
Title: Re: Netsurf
Post by: Juanito on October 24, 2019, 08:21:31 AM
What happens when you use Xorg-7.7?
Title: Re: Netsurf
Post by: neonix on October 24, 2019, 08:57:25 AM
What happens when you use Xorg-7.7?
In Xorg-7.7, it works without a problem, but still glib_gconv.tcz is missing in netsurf.tcz.dep file.
In Xvesa and Xfbdev it shows "Fatal IO error 0 (Success) on X server :0.0." error.
Title: Re: Netsurf
Post by: Rich on October 24, 2019, 09:21:22 AM
Hi neonix
What happens when you use Xorg-7.7?
In Xorg-7.7, it works without a problem, but still glib_gconv.tcz is missing in netsurf.tcz.dep file.
In Xvesa and Xfbdev it shows "Fatal IO error 0 (Success) on X server :0.0." error.

Interesting, a success code is returned and it results in a fatal error.
Title: Re: Netsurf
Post by: nick65go on May 04, 2021, 03:26:38 PM
The main advantage versus dillo 3.1 (which has https) is that netsurf has javascript feature ondemand, from menu.
Is any developer interested to build a FLTK (or GTK1)version for netsurf 3.10, for x86 architecture?

TC has netsurf 3.9 with gtk2, and netsurf 3.10 with gtk3, but recently I found that netsurf could have other interfaces:
https://git.netsurf-browser.org/netsurf.git/log/?h=vince/fltk (https://git.netsurf-browser.org/netsurf.git/log/?h=vince/fltk)
Title: Re: Netsurf
Post by: jazzbiker on May 05, 2021, 03:53:13 AM
Hi, nick65go!

Good news, indeed! netsurf-fltk might be the dream-browser. It appears, that not only bad news exist in our twisted universe :) Why didn;t You tried it? Jason W build instructions are fine. Long live fltk!
Title: Re: Netsurf
Post by: nick65go on May 05, 2021, 05:21:58 AM
Hi jazzbiker!
I am still slave/employed/busy. Not in the mood for compiling (pareto 80% eficiency with 20% effort). My goal is for a small + secure/izolated linux environment, such as qemu + virtual machines, or chroot in AlpineLinux (musl), with a small/secured browser for banking transactions only. So just https + javascripts, few graphic capabilites, but minimal dependencies (to reduce attack surfaces) and minimal total RAM demands (to run nomadic from USB) on most PC.

The near best suitable for netsurf is badwolf browser. But then we go for webkit, then monster ICU (language) library dependency etc.
PS: I try to avoid "two authentification factors" on cellphone appls, as is becoming a single point of failure (broken /stolen mobile, bloat apps 100+ MB?, tracking between institutions, all the usual shit).
Title: Re: Netsurf
Post by: nick65go on May 05, 2021, 03:41:24 PM
from TC12_x86:
Code: [Select]
tc@box:/tmp/tcloop/netsurf/usr/local/bin$ ldd ./netsurf-gtk
        statically linked
tc@box:/tmp/tcloop/netsurf/usr/local/bin$ ls -al *
-rwxr-xr-x    1 tc       staff      2248504 Feb 17  2020 netsurf-gtk
tc@box:/tmp/tcloop/netsurf/usr/local/bin$ cd /tmp/tcloop/netsurf-gtk3/usr/local/bin/
tc@box:/tmp/tcloop/netsurf-gtk3/usr/local/bin$ ls -al *
-rwxr-xr-x    1 root     root       4234668 Apr 13 17:41 netsurf-gtk3
tc@box:/tmp/tcloop/netsurf-gtk3/usr/local/bin$
Wow, so netsurf-gtk (gtk2) is statistically linked (no dependency) at 2.2MB, but dynamically linked netsurf-gtk3 is 4.2MB and also it drags a lot of dependencies?
Moreover, installing only netsurf-gtk3 will start with empty/bad window; only after i installed also netsurf (gtk2) and started/stoped it, then netsuft-gtk3 runs OK. So missing a dependency (maybe glibc_gconv, as I saw the loading order in control-panel/filesystem)
Code: [Select]
/dev/loop119              2.1M      2.1M         0 100% /tmp/tcloop/netsurf-gtk3
/dev/loop120              1.3M      1.3M         0 100% /tmp/tcloop/gcc_libs
/dev/loop121            128.0K    128.0K         0 100% /tmp/tcloop/gamin
/dev/loop122             92.0K     92.0K         0 100% /tmp/tcloop/dbus-glib
/dev/loop123            404.0K    404.0K         0 100% /tmp/tcloop/libasound
/dev/loop124             69.1M     69.1M         0 100% /tmp/tcloop/firefox85
/dev/loop125              3.0M      3.0M         0 100% /tmp/tcloop/glibc_gconv
/dev/loop126              2.3M      2.3M         0 100% /tmp/tcloop/gtk2
/dev/loop127              2.5M      2.5M         0 100% /tmp/tcloop/netsurf
Title: Re: Netsurf
Post by: nick65go on May 05, 2021, 04:31:01 PM
incited by netsurf small size (because statically linked), i found https://github.com/oasislinux/oasis
"All software in the base system is linked statically, including the display server (velox) and web browser (netsurf). Any POSIX system with git, lua, curl, a sha256 utility, standard compression utilities, and an x86_64-linux-musl cross compiler can be used to bootstrap oasis".
Oh, stop dreaming, back to tinycore...
Title: Re: Netsurf
Post by: jazzbiker on May 06, 2021, 01:28:23 AM
Hi, nick65go!

If netsurf-gtk is statically linked, then what the use is of netsurf.tcz.dep? ;)
And size of the binary file is very close to the size of the extension...
We live in the cruel world - netsurf-gtk is compressed self-extracting binary.

Sorry for destroying the sweet dreams....
Title: Re: Netsurf
Post by: nick65go on May 06, 2021, 03:48:56 AM
We live in the cruel world - netsurf-gtk is compressed self-extracting binary.
nice catch jazzbiker, you are rigth! from win10, I uncompressed netsurf.tcz with 7zip, then using notepad++ I saw in the file header the "UPX" string at offset 153.
BTW: still focused on FLTK as GUI all-over :) ; if not, then toybox + muslc + statically compiled for small appliances.
Title: Re: Netsurf
Post by: nick65go on May 06, 2021, 03:54:52 PM
From TC12_x64, I run qemu 3.1.0 with kvm-amd kernel module. The virtual machine is "oasis", a qcow file from https://github.com/oasislinux/oasis
 (https://github.com/oasislinux/oasis)The kernel is 5.9.11 x64 (in hex-editor I saw string Alpine 3.9 in it), the server is velox (something Wayland based, but ask for DRM acceleration) of 1.9 MB, and netsurf 3.10 is 3.5 MB statically linked. (No musl library! in this system, is basic for now). All devices are virtual (vga, network card, file system etc).
The amazing thing is the speed of this variant of netsurf x64 is the same (0.6 - 0.8 seconds for bbc.co.uk), even in qemu, versus the real TC12-x64 5.10.3 kernel with netsurf-gtk 3.9.

The main point (to take home) is that a common linux user can have a web-browser (with java script), as small as 3.6 MB.
EDIT: Sorry! Javascript is not enabled; or I do not know how to enable it in this new X environment (I see not menu/buttons).
Title: Re: Netsurf
Post by: jazzbiker on May 06, 2021, 04:43:51 PM
Hi, nick65go!

When I was building netsurf I tried netsurf-fbdev too. It has somewhat reduced interface - not tabs, fonts linked statically. Was not those netsurf, which You run in the VM, such a version? I expected, that fbdev version will run without X over native fbdev, but I didn't succeed, I was able to run it only under X.
Title: Re: Netsurf
Post by: nick65go on May 06, 2021, 06:15:36 PM
understanding "lua" programming is over my pay grade ;)
but from https://github.com/oasislinux/oasis/blob/master/pkg/netsurf/gen.lua
it seams to have true type fonts, wayland (so is not frame-buffer), but without JavaScript, because the only string "javascript" is
Code: [Select]
exe('netsurf', [[
  content/(
    handlers/(
      javascript/(fetcher.c none/none.c)

Title: Re: Netsurf
Post by: jazzbiker on May 06, 2021, 07:10:19 PM
Hi, nick65go!

It appears, that I saved netsurf for fb as tcz, and now write this post with its help. It isn't fully static, at least it needs curl. Font is dejavu only ttf. Screen size is fixed!!! Extension is 1.2M in size. How can I determine,  that js is on? Integration with the mouse is poor: I can use it for positioning cursor only. So strange enough, but small.




 
Title: Re: Netsurf
Post by: nick65go on May 07, 2021, 06:25:44 AM
Some clarification (these are notes to myself here):
Code: [Select]
https://en.wikipedia.org/wiki/NetSurf
but as of December 2012 there are some NetSurf preview-builds available which contain early-stage JavaScript support (later much improved).[14]
"NetSurf's JavaScript engine (Duktape)"
and
Code: [Select]
http://mirrors.dotsrc.org/tinycorelinux/4.x/x86/tcz/netsurf-fb.tcz.info
Title:        netsurf-fb.tcz
Size:        568K; Total size = 8.52 MB
Tags:        NetSurf fb framebuffer lightweight fast web browser
Current:    2012/03/09 First release. Version 2.8
and
Code: [Select]
http://mirrors.dotsrc.org/tinycorelinux/4.x/x86/tcz/netsurf-gtk.tcz.info
Title:        netsurf-gtk.tcz
Size:        1008K; Total size = 18.23 MB
Tags:        NetSurf Gtk2 lightweight fast web browser
Current:    2012/03/06 First release. Version 2.8
So, these mean that netsurf 2.8 (2012/03/09) did not have javascript (wikipedia shows it was after 2012/12/01)
And the netsurf-gtk 2.8 size + dependencies were 18+ MB already, in compressed tcz.
So uncompressed will double size and then staically liked maybe will shrink to half, and final result maybe still have around 18 MB, with GTK2 and X.org.
Then
Code: [Select]
https://en.wikipedia.org/wiki/NetSurf
In July 2019 NetSurf 3.9 was released, with support for CSS Media Queries (level 4) and improvements to JavaScript handling.
For PC, the RAM is important, because it can hardly be upgraded; but storage size matters less, because USB sticks are cheap and have big storage size.
Summary: maybe (not yet released in the internet) netsurf 3.10 (May 2020) with FLTK can reduce the total RAM size. The JavaScript engine (incomplet but maybe sufficient) is "Duktape", as wikipedia says it.
 
Title: Re: Netsurf
Post by: Juanito on May 09, 2021, 10:34:19 AM
TC has netsurf 3.9 with gtk2, and netsurf 3.10 with gtk3, but recently I found that netsurf could have other interfaces:
https://git.netsurf-browser.org/netsurf.git/log/?h=vince/fltk (https://git.netsurf-browser.org/netsurf.git/log/?h=vince/fltk)

I built netsurf-fltk, but it was unusable - perhaps I built it wrongly (it's a mess to build from git).
Title: Re: Netsurf
Post by: cast-fish on May 09, 2021, 10:37:19 AM
Hello,

Netsurf, is a Lovely browser   (somehow) .

Free of course.

........yes.

Thx

C
Title: Re: Netsurf
Post by: neonix on May 02, 2024, 08:51:11 AM
Netsurf 3.11 was released  on 29 December 2023.

When I tested Netsurf gtk 2.9 on i586 cpu Tc14x86 I get segmentation fault.
Is it possible to compile framebuffer version? Code was buggy since TC5 times.
It looks like Amiga users are biggest fans of this browser. How the modern websites could work on Amiga?
I am dreaming about web browser that will render everythin on HDD not in RAM.
Is it possible to download yt video from genyt.net? Dillo 3.1-dev doesn't work with genyt.net anymore.




Title: Re: Netsurf
Post by: Juanito on May 02, 2024, 09:00:38 AM
The netsurf extension in the tc-15.x x86 repo was updated to 3.11 a couple of months back, does that segfault on an i586?
Title: Re: Netsurf
Post by: neonix on May 05, 2024, 06:21:04 AM
I don't tested t in i586 yet, but on i686 tc15x86 netsurf gtk2 3.11 works fine (but I don't see menu icons of the web browser). Maybe becouse I use Xfbdev.

On i686 tc15x86 netsurf gtk3 3.10 I get segmentation fail when I start to surf the internet (in the same way like I said in my previous post on i586. There are also missing dependency libssl.so.1.1 from openssl-1.1.1 in netsurf-gtk3.tcz.

BTW. genyt.net doesn't work with Netsurf 3.11 but yt front-end invidious works fine.
https://docs.invidious.io/instances/
Title: Re: Netsurf
Post by: Juanito on May 05, 2024, 08:14:53 AM
.. (but I don't see menu icons of the web browser). Maybe becouse I use Xfbdev.

Is adwaita-icon-themes loaded?
Title: Re: Netsurf
Post by: Juanito on May 06, 2024, 03:51:57 AM
netsurf-gtk3 updated in x86 repo
Title: Re: Netsurf
Post by: neonix on May 08, 2024, 07:56:42 AM
.. (but I don't see menu icons of the web browser). Maybe becouse I use Xfbdev.

Is adwaita-icon-themes loaded?
Yes, I loaded this tcz but no effect. I just recall that nersurf gtk2 info file says that it works only with Xorg. I don't tested netsurf with Xorg becouse I only use Xfbdev.

BTW1 old.duckduckgo.com search engine dosen't work with netsurf. It needs to be replaced with lite.duckduckgo.com/lite
https://lists.defectivebydesign.org/archive/html/guix-commits/2024-03/msg00366.html

BTW2 There is Netsurf for wayland called visurf.
Title: Re: Netsurf
Post by: Juanito on May 08, 2024, 08:01:56 AM
Since gtk3 has a wayland backend I would have thought netsurf-gtk3 would work as-is..
Title: Re: Netsurf
Post by: neonix on July 06, 2025, 12:51:25 PM
Is it possible to compile netsurf-fb?