Web Server on a Nintendo Wii
83 points
3 days ago
| 10 comments
| wii.sjmulder.nl
| HN
nebula8804
43 minutes ago
[-]
Wish we had the level of renewables in the West that China has. Their pricing is supposedly now 7-11 cents per kwH (as opposed to 20-30 cents kwh average in the states). This would further enable usage of all computing instead of tossing it into eWaste. Who cares how much power old equipment uses, host something on it until the chips literally burn out. Every Wii and other console that has homebrew should be running something....anything.

The US is not lacking of space to store this stuff but is tossing so much precious resources into the trash because they are not economically justifiable power wise.

reply
bombcar
6 hours ago
[-]
More powerful than a Sun sparkstation 5!
reply
giantrobot
5 hours ago
[-]
I appreciate the lack of a reverse proxy in front. While I love the various "website hosted on X" projects they end up in reality just served by CloudFlare. Which is fine since you don't want your C64 or vape pen or whatever to explode. It's just less "hosted on X" and more "single HTML page served by CloudFlare".
reply
bombcar
1 hour ago
[-]
It looks like it's proxied if you come over IPv4 - which the vast majority of "customers" likely do.
reply
sjmulder
49 minutes ago
[-]
I meant to replace it with IP forwarding from a secondary IPv4 address on another host running OpenBSD, but I haven't been able to get that to work yet. Perhaps any OpenBSD/pf folk here have an idea? This is my config (where in the real file the variables are literals):

  pass in on egress inet to $secondary_ipv4 \
    af-to inet6 from $ipv6 to 2a02:a45f:8eaa::2/128
All I get is timeouts and traceroutes with infinite hops. First I tried rdr-to, but that complains of the address family mismatch.
reply
bombcar
1 minute ago
[-]
If it's proxying without caching, what you have is "basically" real.

It's just there have been others who put a gameboy behind a massive cache, and most requests would come back from the cache server.

reply
weird-eye-issue
3 hours ago
[-]
It depends on the cache settings but by default CF doesn't cache HTML
reply
phwbikm
4 hours ago
[-]
Gopher. Shake hands. Glad to see you are still hacking
reply
mrweasel
4 hours ago
[-]
Projects like this brings a lot of joy to me, even if it's technically only "I configured NetBSD as a webserver".
reply
jofzar
4 hours ago
[-]
reply
stevefan1999
4 hours ago
[-]
I wonder what kind of apps you can run. Matrix certainly won't but IRC server? Probably
reply
bombcar
1 hour ago
[-]
The Wii is comparable to a mid-range Pentium III with 64 MB of RAM - so anything that Linux/BSD could run around 2002 can likely run on this.
reply
LoganDark
4 hours ago
[-]
> I was doing this bit using a capture card and Photo Booth on macOS which doesn’t actually support disabling the image-flip on the video feed

I use OBS to monitor my video capture. This essentially lets me use my Mac as a monitor for my headless desktop (which does not have a monitor of its own). Maximum gaming.

Deskflow lets me use my Mac as a keyboard over LAN, too. Beats remote desktop for sure. Especially when gaming.

reply
ninjin
3 hours ago
[-]
My preferred way is ffplay(1). Last time I checked I get lower latencies than OBS at that, at least when I use `-sws_flags fast_bilinear`, which is the same scaling OBS uses by default.
reply
LoganDark
3 hours ago
[-]
I wouldn't wish bilinear scaling on my worst enemy; 1:N is the only way to go for me. I'll check out ffplay.

Edit: ffplay doesn't support cropping the output to fit my display (or if it does, it's far too arcane for me). As composable as ffmpeg is, it's awful UX for me. I'll stick to OBS.

reply
Shalomboy
5 hours ago
[-]
i used to love httpii for this!
reply
tantalor
3 hours ago
[-]
Not to spoil the fun, but is it really still a "Nintendo Wii" if you replace the stock OS?

The identity of a "Nintendo Wii" is the combination of its enclosure, hardware, and software. To take only the enclosure and hardware and keep calling it the same thing is absurd. Where does it end? What if I keep the enclosure, but replace guts with an Xbox? Is it still a "Nintendo Wii"?

reply
sjmulder
45 minutes ago
[-]
It would be a fun project to do a homebrew HTTP server (and I wouldn't be surprised if it had been done already) but in this case I actually mean to replace my Pi 'home server' with this Wii, and for that I want SSH, git, web, mail, and all that, so practically, NetBSD was a good option.

There's also the fact that there's a modern, up-to-date Unix distribution for this in the first place, how cool is that.

reply
s_dev
3 hours ago
[-]
https://en.wikipedia.org/wiki/Ship_of_Theseus

You can draw the line wherever you like but for me it is still a Wii even with a different OS. I would draw the line at replacing the hardware inside with XBOX hardware. Others may draw the line at the chassis.

reply
john_strinlai
3 hours ago
[-]
i personally consider "running on X" to be accurate if it is still X's hardware
reply
mghackerlady
3 hours ago
[-]
no, then it's an xbox in a wii shell. I'd say having two out of three makes it a wii. Plus, there really isn't anything stopping someone from writing a web server for the wii, it's just that running a different os makes this silly task much easier
reply
tantalor
2 hours ago
[-]
> two out of three makes it a wii

So if I stick a modern hardware PC running a Wii emulator inside a Wii shell, then it's still a Wii?

reply
mghackerlady
1 hour ago
[-]
It depends on how fully it emulates a wii and what restrictions it would have, but I'd say if the thing quacks and functions like a wii (you have support for the controllers, the disk drive, network things, etc.) it could be called a wii
reply
bombcar
1 hour ago
[-]
This strikes at the root of the Biggest Controversy™ - if you beat a video game arcade cabinet on an emulator, did you beat it?

Things can be named analogously - if I have a machine that plays Wii games for me, and nothing else, I'll call it "the Wii".

reply
ssl-3
1 hour ago
[-]
I have an old PSP that has only ever been used to play emulated NES games.

Shall I call it an NES?

reply
mghackerlady
1 hour ago
[-]
Does it boot straight into NES games? Does it have an NES cartridge slot? Or controllers? What about the never used expansion port on the bottom? Is it in a NES shell?
reply
ssl-3
1 hour ago
[-]
> Does it boot straight into NES games?

No.

> Does it have an NES cartridge slot?

No.

> Or controllers?

No.

> What about the never used expansion port on the bottom?

It does have an expansion port that I've never used.

> Is it in a NES shell?

No.

> [so it's not an NES, then]

It's mine, and I can call it whatever I want. :P

reply
mghackerlady
55 minutes ago
[-]
>It does have an expansion port that I've never used.

so not an NES one, then

>It's mine, and I can call it whatever I want. :P

that's fair, I call my switch lite a playstation 7. It'd be disingenuous to present it to others as an NES, however. If it meets most or all the criteria above, then it wouldn't be

reply
mikepurvis
1 hour ago
[-]
> if you beat a video game arcade cabinet on an emulator, did you beat it?

Yes for the purposes of your own personal sense of achievement, no for the purposes of speedrun records.

reply
zen928
2 hours ago
[-]
Absolutely not. Ruins the rest of the charade when you say "okay, now let's just step around the hard part and instead replace it with a different OS to make it cookie cutter". Wow, you can run a server on hardware constrained stock BSD ...? ... cool ....
reply
sjmulder
37 minutes ago
[-]
A 'charade'? Just having some fun running NetBSD on unusual hardware and learning something along the way. There's no cheating some imaginary game you seem to think I'm participating in.
reply
malicka
1 hour ago
[-]
I think it’s still cool enough to get the OS running in the first place; and there’s still novelty in using something for a purpose completely unexpected, even if the last few steps are cookie-cutter.
reply