Portable All-in-One GeoCities Web Server

Here is a sample of jump data that should have worked. We were trying to jump inside Athens. It failed with error 500. What is error 500?

The HTTP status code 500 is a generic error response. It means that the server encountered an unexpected condition that prevented it from fulfilling the request . This error is usually returned by the server when no other error code is suitable.

Well that’s not very helpful. I had a look at the paths set and everything looked fine. Next I poked around in the script itself and realised a dependency was missing. SimpleXML. It’s used for manipulating XML data, such as that in my sitemaps. That’s probably why jump wasn’t working, it couldn’t read the file to tell it where to go and of course Apache has no idea what to do.

sudo apt-get install -y php-simplexml

Look at it roar to life!




Wolfenstein, horse clip art and how to make a horrible website. Yep, that ticks all the boxes I think. You can check it out now by pressing this MegaJump link. Bookmark the link and keep hitting it until something interesting turns up.

Each time it is pressed, it will load a different page on the GeoCities archive. Be warned though. Some of that stuff is NSFW. If you do come across something like that be sure to report it.

I’ve marked the last core to do item as done from the list of goals. With the main project complete, I can work on the stretch goals over the next couple of days. :upside_down_face:

:white_check_mark: :white_check_mark: :white_check_mark:

1 Like

Here we are with the main homepage, note we have a little .onion available at the top in the location bar. Clicking on that button now takes us to http://geocitiesllczuf44da2nj45jn3fntdjpw27ercfbhkrw3mnegti7pid.onion. The only catch is you have to have be using the Tor Browser. It will not show on any other browsers but also doesn’t interfere with older browsers.

Testing it on individual sites also worked. Here we are on the clearnet offering. One press of the purple button and…

Here we are now looking at the light page. Better find my eastern facing window to put all my… wait a minute. I don’t have any houseplants! That strikes another item off the goals list. Now there’s only the last stretch goal to dial up with a real dialup modem. How will this be achieved?

Thankfully we don’t need to reinvent the wheel for that. We can use this guide from Doge Microsystems to create a dial-up pool. We only really need two (server and client) but I recently came across this lovely SPA8000-G4.

Of course, we recapped it. Interestingly it only seemed to be from 2017, so maybe a bit premature on the preventative maintenance. We noticed the capacitors from factory were…

Su’scon branded capacitors. Su’scon. Really? I’ll try and get this last stretch goal done. If I do end up dialling out successfully it will be from the MiSTer FPGA. Don’t forget to visit:


Do the jumps and stay on the line! :city_sunrise:

1 Like

The first step troublesome step to getting online is picking the right serial adapter. I’ve had the most luck with my FTDI USB serial device converter which has a FT232RL chip. I’ve previously used Prolific chipsets with mixed results.

Next up was getting the pesky VoIP configuration setup. The above shows Asterisk running before the two SIPs activated.This indicates that the Cisco SPA8000 can communicate successfully with the Asterisk server on the Raspberry Pi.

Here we have me restarting Asterisk, and I was wondering why it wasn’t working after changing the config files… tsk tsk! Once rebooted a dial from the Windows 98 in the MiSTer resulted in a successful connection and right at the end a hang-up when I was done surfin’ the net.

What was even better is that on the Asterisk / GeoCities server is we can see that there are no RX or TX errors after 380kB of data going back and forth. I’m setup with a 14.4k modem, and let me say it took a while to get to that amount of data! :sweat_smile:

I’ll get some video of everything happening to give an idea of how it all works. It’s been a surprising success and has put me way ahead of schedule too. Stay tuned for the video update in the next post! :cityscape:


And there it is! I’ll be doing a live stream a little later on just browsing through the pages, I really should have picked out a faster modem though… :laughing:

And with that, we have all five objectives complete - :white_check_mark:

As always, it’s a nice touch to end on Halloween. On the topic of halloween and halloween themed websites, here’s one from last year, now available in spooky-vision. Some things on the predictions page are a little spooky!

I’ll be sure to post the live stream here once it’s complete. There won’t be any audio but that shouldn’t stop you from visiting a random neighbourhood today! :wink:

1 Like

Yikes! Talk about slow loading. Who cares about 56k warnings, where was my 14.4k warning? While 14.4k would have been rare in the mid-2000s, it would have been right at home in the mid-1990s. It all depends on where jump lands us on the internet of old. Of course, the stream dropped out mid-way, but, ummm - needless to say I would have eventually won at Solitaire… eventually. :sweat_smile:

I’ll update this post as I come across anything interesting or do any more live streams. I might even upgrade the modem to something V.34 or at least V.FC (V.Fast Class).

Thanks for reading and watching! :upside_down_face:


Thought I’d give the old Spirit Viper a launch. And it held steady for over four hours and 12 megabytes. Running on Windows 98 Second Edition with Internet Explorer 5.0 and Netscape Navigator 4.8 for all the internet needs.

Over on the Raspberry Pi hosting GeoCities and Asterisk, we are very pleased to see the ppp0 bridge report zero faults for both TX and RX! Thanks Rockwell!

And just in case you’re hungry for double the speed of the last video, i.e. 28,800bps vs 14,400bps, enjoy this four hour browse through GeoCities. I also fixed up my MT-32, which was broken due to a firmware update on the MiSTer. That didn’t stop my Volume Control from freezing again though! :laughing: