
Show HN: JS-emulated Linux with network support, everyone on one subnet - benjamincburns
http://jor1k.widgetry.org
======
benjamincburns
Everyone is also running a telnet server by default, and nmap is installed on
the image. Have fun, but please try to be nice ;-).

Edit: If this looks familiar, this is the jor1k OpenRISC emulator which
Sebastian Macke built and submitted around a month ago. Most of the credit for
this still goes to him. I just added the emulated ethernet controller, as well
as the network backend (virtual switch/router) which acts as the LAN on which
the demo is running.

For more info, I've written a blog post here:
[http://www.benjamincburns.com/2013/11/10/jor1k-ethmac-
suppor...](http://www.benjamincburns.com/2013/11/10/jor1k-ethmac-support.html)

~~~
s-macke
Try to start the emulator two times and to login to the other emulation via
telnet. If you login via ssh, you can even start an encrypted chatting
session. I am wondering if this is more safe than Cryptocat :)

------
coldcode
Amazing what you can do with JS these days. If you could run another vm on top
of it you could get interesting screenshots of an emulated OS running on an
emulated OS in a browser.

~~~
s-macke
Yeah I was thinking of X86 -> Windows 8 -> Firefox -> Javascript VM ->
OpenRISC Emulator -> Linux -> Dosbox -> Windows 3.11 -> C64 Emulator -> Basic
-> Z-Machine -> Zork

Oh man, I am real nerd.

------
angersock
Erm...we don't seem to have DHCP working. :(

~~~
benjamincburns
All I can say is try again. I've been monitoring things throughout the day and
improving the stability as I go. It still seems to clam up every now and then,
however.

Part of the problem is that the backend wasn't really the focus for this, so I
kind of just hacked it together. It hasn't been standing up as well to the
constant churning load as I thought it would. In the future I intend to remove
VDE2, and do all of the switching in my websocket server with the aid of
something like rabbitmq. I may also decide to write it all in go instead of
Python as well.

~~~
angersock
Thanks for your efforts!

I run ifconfig and don't see any IP having been assigned--and we don't seem to
have dhclient installed

I was going to host a webpage using netcat:

[http://www.howtoforge.com/useful-uses-of-
netcat](http://www.howtoforge.com/useful-uses-of-netcat)

~~~
benjamincburns
If you were to try now, it seems that things are behaving much more
reliably...

~~~
angersock
10.5.130.140:80

:)

NOTE:

Ack, is not responding to ping anymore... :(

~~~
angersock
Hm... note that this incantation:

    
    
      while true; do nc -l -p 80 < hello.html; done
    

Will suddenly cause ping not to work.

I suspect this is some weirdness in the driver or backplane?

------
songgao
where's my '-b' flag in `ping`!

~~~
benjamincburns
busybox... sorry...

Also I'd obviously really prefer to not have a bunch of broadcast traffic.

~~~
songgao
Good job anyway!

Unicast ping doesn't work here either. Are there too many people connected
right now?

~~~
benjamincburns
Someone was just sending some pretty gnarly flooding traffic a few minutes
ago, I had to "gently remove" them from the situation. It should be better
now, but you'll need to refresh the page.

Right now there are about 100 hosts connected, but a minute ago there were
about 140. It ebbs and flows. More ebb at the moment since I think we're no
longer on the front page.

~~~
asiekierka
You're on location 5.

Prepare for liftoff.

~~~
benjamincburns
Yes, but not any more. Strange...

