<< Do you think it is possible to find an alternative to use the users'
browser connection to communicate to the Internet? This way it avoids
users' consumption of all internet limits on the server side. >>

Hi Alan: You're right, TinyEMU Emulator talks to a WebSocket VPN hosted at `
relay.widgetry.org` that's throttled at 40 kB/s (for free, fair use). But I
don't see a good alternative to this WebSocket VPN:

(1) Can the Web Browser talk directly to the internet without WebSocket VPN?

TinyEMU and VirtIO Networking are sending Ethernet Frames / IP Packets from
the Web Browser to the internet. But Web Browsers are not allowed to send
IP Packets directly. That's why we need to tunnel the packets through a
WebSocket VPN.

(2) Can we host our own WebSocket VPN on our Local Computer?

Possibly. But then we will have to host the Web Server on our Local
Computer too. Which makes it cumbersome to install.

(3) Can we host the WebSocket VPN on a server operated by the NuttX Project?

Probably not, because we need to throttle the internet traffic for free,
fair use. And prevent abuse.

I've documented my findings on TinyEMU, VirtIO Networking and WebSocket
VPN:
https://github.com/lupyuen/nuttx-tinyemu#tinyemu-networking-in-the-web-browser

Lup

On Sun, Jan 14, 2024 at 9:54 PM Alan C. Assis <acas...@gmail.com> wrote:

> Hi Lup,
>
> Thank you very much!
>
> Looking at the WebSocket VPN article it said the connection goes through
> the server hosting the emulator.
>
> Do you think it is possible to find an alternative to use the users'
> browser connection to communicate to the Internet?
> This way it avoids users' consumption of all internet limits on the server
> side.
>
> BR,
>
> Alan
>
> On Sun, Jan 14, 2024 at 4:17 AM Lee, Lup Yuen <lu...@appkaki.com> wrote:
>
> > Thanks Alan! Yep "The Construct" looks like a cool way to learn ROS
> online,
> > we should do something similar for Teaching NuttX Online!
> >
> > As for Emulated Networking in the Web Browser: TinyEMU Emulator supports
> > VirtIO Networking. But it's tunnelled through a WebSocket VPN, because of
> > browser limitations.
> >
> > I might test this with NuttX and see how well it works. (I'm also keen to
> > emulate Ox64 BL808 RISC-V SBC in the Web Browser)
> >
> > TinyEMU VirtIO Networking: https://bellard.org/jslinux/tech.html
> >
> > WebSocket VPN:
> > https://www.benjamincburns.com/2013/11/10/jor1k-ethmac-support.html
> >
> > Lup
> >
> > On Sun, Jan 14, 2024 at 8:10 AM Alan C. Assis <acas...@gmail.com> wrote:
> >
> > > Really cool Lup!
> > >
> > > Maybe it could be used for training and deduction purposes. Do you know
> > > "The Construct" they are using a solution like that to run Linux in the
> > > browser:
> > >
> > > https://app.theconstructsim.com/login/
> > >
> > > Is it possible to get network enabled and use it to communicate? It
> could
> > > open new possibilities!
> > >
> > > BR,
> > >
> > > Alan
> > >
> > >
> > > On Sat, Jan 13, 2024 at 8:30 PM Lee, Lup Yuen <lu...@appkaki.com>
> wrote:
> > >
> > > > NuttX now boots and runs inside a Web Browser! (With WebAssembly)
> > > >
> > > > Try "ostest" here: https://lupyuen.github.io/nuttx-tinyemu
> > > >
> > > > This article explains how we…
> > > > (1) Boot NuttX in the Web Browser with TinyEMU RISC-V Emulator
> > > > (2) Modify NuttX for HTIF Console (Berkeley Host-Target Interface)
> > > > (3) Explore VirtIO Console with OpenAMP Library
> > > > (4) And how we might use it: Emulate NuttX Gadgets in the Web
> Browser?
> > A
> > > > Real-Time NuttX Dashboard that lights up as the various NuttX Drivers
> > are
> > > > called?
> > > >
> > > > Here's the article:
> > https://lupyuen.codeberg.page/articles/tinyemu.html
> > > >
> > > > How will you use NuttX in a Web Browser? Please lemme know 🙏
> > > >
> > > > Lup
> > > >
> > >
> >
>

Reply via email to