Instant Workstation - Use Haiku in web browser

Unfortunately, even with a real mouse the movement is almost unusably slow (Safari 17.1.2, MacOS 14.1.2).

I like the idea of it though, and I wonder whether there’s a tweak that could improve the mouse performance.

Dear @Sebrof ,

Soon the answer : Yes.

In another thread of post we got an update about it : it will be merged in Beta4 branch as well - if no error occurs.

Just as I wrote above

Excellent news. Thanks for letting me know.

Ahoy @Sebrof ,

The release of new Haiku level with affected fix is available now

    upgrade package haiku-r1~beta4_hrev56578_93-1 to r1~beta4_hrev56578_95-1 from repository Haiku
    upgrade package makefile_engine-r1~beta4_hrev56578_93-1 to r1~beta4_hrev56578_95-1 from repository Haiku
    upgrade package haiku_loader-r1~beta4_hrev56578_93-1 to r1~beta4_hrev56578_95-1 from repository Haiku
    upgrade package haiku_datatranslators-r1~beta4_hrev56578_93-1 to r1~beta4_hrev56578_95-1 from repository Haiku
    upgrade package haiku_extras-r1~beta4_hrev56578_93-1 to r1~beta4_hrev56578_95-1 from repository Haiku
    upgrade package userland_fs-r1~beta4_hrev56578_93-1 to r1~beta4_hrev56578_95-1 from repository Haiku
    upgrade package haiku_devel-r1~beta4_hrev56578_93-1 to r1~beta4_hrev56578_95-1 from repository Haiku
    upgrade package webpositive-r1~beta4_hrev56578_93-1 to r1~beta4_hrev56578_95-1 from repository Haiku

Thank you all for testing Instant Workstation. It will take me some time to address all of your feedback and comments.

About the SSL/TLS certificate error, the instantworkstation.com certificate was signed by “Sectigo Limited”. This CA is by default trusted by most web browsers and operating systems. If you can get an error then consider adding this CA (“Sectigo Limited”) to your browser’s and/or operating system’s trust store.

About the reports about the laggy mouse, the dedicated server hosting this service is located in Helsinki, Finland. So if you are outside of Europe the lag may be quite high. If this project gets enough interest then additional servers may be added on other continents too.

Currently an x86 server is hosting the machines. The machines run with KVM, that is why performance is relatively good. I am hoping to later add ARM and RISC-V virtual machines too running in KVM mode. This will naturally require real ARM and RISC-V hardware to host these machines.

In the meantime I have added terminal view support for Haiku on Instant Workstation. You can now use both the GUI (VNC) and terminal views (SSH). Please see the attached screenshot for how terminal view in Haiku looks:

  • List item
3 Likes

A thought on enabling internet connectivity: Could it be possible to tunnel from the user’s browser, a proxied connection? If there’s a means to pipe a (web)socket through, any number of encapsulations can shove the internet through it from the user’s computer.

Ahoy,

As I’ve got certificate errors during probing … this way I should start some acts to gather useful answers …

regarding to suggestion from Thysol about adding certificate

Q01:


As I’ve seen earlier certificates added to Haiku with installation of a package.

…and found it :

~> ls -l /boot/system/packages/certi
-rw-r–r-- 1 user root 114315 dec. 15 00:51 /boot/system/packages/ca_root_certificates_java-2023_08_22-1-any.hpkg
-rw-r–r-- 1 user root 129280 dec. 6 23:38 /boot/system/packages/ca_root_certificates-2023_08_22-1-any.hpkg
~>

Was this package
built based on some existing trustable certificate material
or
building periodically by Haiku devs ?

\

I ask this **as if they would add **
“Sectigo Limited”
if possible - next time …

Q02:

If such certificate added to Haiku …
would work for all browsers - would all available browsers use this central certificate installment -
or
certs should be added somehow in the browser itself ?


I ask this to understand
ii ii enough to add a cert once on Haiku ?
or
should add separately to browsers ?.. ( where applicable )

Q03:


At a pinch - if it awaits for me myself only to execute
as central solution is not possible - anyhow -
or
risky for Haiku

how can I add such
“Sectigo Limited”
to Haiku certificates ?

\

I’ve searched Haiku site for
“adding certificates to Haiku site:https://www.haiku-os.org
on DuckDuckGo

but nothing promising came up :((…

So actually
still there’s no such document,
or
it is discussed in a section about development

Anyway,

Thanks for your reply in advance !

This is a good idea. By default the web browser would block this due to the same origin policy. However this can be turned off in most browsers but it might seem fishy to some users. The user would also need to remember to turn back on the same origin policy in their browser when they are done using Instant Workstation.

So in short this is probably possible but inconvenient for the user. Alternatively internet use could be enabled for a fee. This would deter crypto miners, spammers, torrent seeders, etc. Perhaps in the future both options could be offered, i.e. you can have internet for free if you let the virtual machine use your own’s internet connection OR you can pay a fee and the virtual machine uses Instant Workstation’s internet connection for internet connectivity.

Asking users to change their browser settings,especially expert stuff hidden behind about:config,probably isn’t the best idea.
What about using Tor or some VPN for outgoing connections of the VMs?
Then you can offer internet connection without fishy hacks and you can’t be held responsible for whatever users do on their VMs.
Tor is free and while sometimes a bit slow,it’s still better than not having internet at all.
VPNs are paid,but sometimes you can get unlimited traffic for 10$/month or something like that.

That is true, especially considering that Instant Workstation is also aimed at non-technical users.

Thanks for this suggestion, that is another option, use a VPN or Tor to connect the virtual machines to the internet.

That still leaves the virtual machines vulnerable to exploitation by crypto miners and spammers etc. However perhaps a fair usage policy could be implemented.

I’m about as far away from Europe as you can get, so that makes sense.

Does anyone know whether Haiku supports absolute pointers (such as touchscreens)? I wonder whether the mouse pointer can be rendered locally in the browser and then sent as absolute coordinates when actually clicked. This would avoid constant round trips (at the expense of always showing the default pointer sprite and not working with apps that “look” at the mouse even when the buttons aren’t being pressed).

Haiku supports using your webrowser as an application server, the mouse is then the native mouse, and the only thing the haiku instance sends you are drawing instructions for the window, not a video stream in itself.

1 Like

Haiku R1 Alpha 4 (from 2012) has been added to instantworkstation.com. When you now select Haiku on the site you get to choose from two versions of the OS:

  • Haiku R1 Alpha 4 (2012)
  • Haiku R1 Beta 4 (2022)
2 Likes

Why would you want to add (or use, for that matter) a nearly 12 year old alpha version? Unless it’s for historic reasons. Of course it’s your system and you can do what you want but I was just wondering…

I’d recommend to look into how v86 does it.

Essentially, they have a websocket proxy that tunnels the connection from the in-browser emulator.

Something like this opens up two options:

  • double-proxy, by bouncing that proxy across the browser instance to the IWS host
  • single-proxy, by running a local proxy service independent of the browser, and having IWS use that as a tunnel

Also, introducing a fee model puts you in the questionable and unenviable position of being, essentially, a paid VPN provider. That’s a lot of trouble, hence why companies like Proton and Mullvad are very careful about where they operate from, how they handle customer data, and how they handle payment.

There ae also the vagrant images (checked those out a few years back in Ubuntu), worked pretty fine, IIRC I only had some issue with it with rsync.

Now all we need is a vagrant port :slight_smile:

@BlueSky The purpose for adding older versions is to compare to newer versions. One of the use cases of Intant Workstation is to perhaps use it like a museum of operating systems.

@sirocyl and @Begasus Thanks for sharing this information.

2 Likes

Makes sense, great idea. I´m currently in the process of creating my own OS museum locally, using QEMU.

1 Like

Is anyone able to mount the SMB share on the Haiku machine on Instant Workstation? There is an SMB share located at //10.0.2.4/qemu but I cannot access it from within the Haiku guest. This share is accessible from some other guests on Instant Workstation such as the Linux distributions.

I enabled the SMB client in the Haiku network preferences. Using the smbclient to try and access the network share always results in the error:

protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE

I tried setting “min protocol = NT1” in /etc/samba/smb.conf on the host but this did not help. Have also tried “min protocol CORE” but this yielded the same result.

My own samba server has “min protocol=CORE” set and works for me with Haiku x86_64 nightly. I´m running samba 4.17.12 on Debian 12.4.

Will try on Instant Workstation later …