Elozor's blog

A blog about stuff I do

Adding a DDNS provider to my router

June 21, 2024 — ~ebruce613

I self-host a Minecraft server, and keeping up with IP address changes is very annoying. When someone suggested I use freemyip, I immediately checked it out, and liked the simplicity of it. I got a subdomain, and I was ready to go.

I logged into my router, checked the list of DDNS providers, and... it wasn't there. I searched around for how to add a DDNS provider to my router, but no luck.

I then remembered that I had rooted the router before, and tried to log in via SSH. Unfortunately, I had forgotten the password I set when I rooted it. I used autoflashgui to reset the password (I put echo root:root | chpasswd in the command field, and selected "Ping" as the execution method), and I was in.

I started poking around on the command line:

root@dsldevice:~# cd /www
root@dsldevice:/www# ls
cards         docroot       lua           snippets      wizard-cards
root@dsldevice:/www# ls docroot/
ajax                  css                   gateway.lp            intercept.lp          login.lp              parental-block.lp     password.lp
change-access-key.lp  font                  img                   js                    modals                password-reset.lp
root@dsldevice:/www# grep freedns docroot/*
root@dsldevice:/www# grep freedns docroot/*/*
docroot/modals/wanservices-modal.lp:    ddns_supported_services["freedns.afraid.org-basicauth"] = "afraid.org-basicauth"
docroot/modals/wanservices-modal.lp:    ddns_supported_services["freedns.afraid.org-keyauth"] = "afraid.org-keyauth"
root@dsldevice:/www# cd docroot/modals/
root@dsldevice:/www/docroot/modals# vi wanservices-modal.lp
...
-- open the supported services file that come with the ddns package
    local ddns_supported_services , valid_services = {}, {}
    local path = format("/etc/ddns/%s", name)
    local f = io.open(path, "r")
...
root@dsldevice:/www/docroot/modals# ls /etc/ddns/
root@dsldevice:/www/docroot/modals# cat /etc/ddns/*
...
"freedns.afraid.org"	"http://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP]"
...

So, I found the right file; all I needed to do was add an entry, which I proceeded to do.

"freemyip.com"		"https://freemyip.com/update?token=[PASSWORD]&domain=[DOMAIN]"

I then looked in the router settings; the entry was there, I added the token and domain, and it worked perfectly. (First try!)

Getting stuff off tapes

May 13, 2024 — ~ebruce613

My father had some audio cassetes he wanted to digitalise, and he asked me to research it.
I asked around on IRC and Discord, and I was told to use a tape recorder connected to the audio input of a PC. I only have two PCs with audio input, my desktop, with Haiku, Linux, Windows XP, and FreeDOS, and my headless laptop, with Windows 98, Windows 2000, and BeOS.
BeOS being "The Media OS", I decided to go with that.

Then I had to procure a tape recorder, not having one at home. I eventually got one from my grandmother, but I didn't have any tapes to test it with!

Well, Sunday night, I got a tape, I connected the headphone jack of the tape recorder to the microphone port of the laptop, opened up SoundRecorder, pressed the record button, and pressed play.

An hour and a half later, I stopped the recording and tried to play it back. No good, the recording was incomprehensible.
I then tried lowering the volume on the tape recorder, and it started sounding much clearer.
Monday morning, I made a new recording, and it worked.

Mission accomplished.

My DOS menu system

April 22, 2024 — ~ebruce613

On Thursday and Friday,

I wrote a DOS menu system in QBASIC, (compiled with QuickBASIC), for my family to launch DOS games without having to *gasp* learn to use the DOS command line. This menu system is fairly simple, it reads MENU.CSV in the current working directory, for example:

Play Music,C:\APPS\MPXPLAY\,MPXPLAY.EXE D:\MEDIA\MUSIC\*.MP3
Microsoft Word 5.5,C:\DOC\,C:\APPS\WORD\WORD.EXE
FreeDOS EDIT,C:\DOC\,C:\FREEDOS\BIN\EDIT.EXE
QBASIC,C:\SRC\,C:\DEVEL\QB11\QBASIC.EXE

It has the name, working directory, and command to run. This is flexible enough that I implemented submenus without any change to the code.

It draw the menu border using line drawing characters, and uses double line characters for the selected item. Navigation is with the up and down arrow keys, and items are selected using the enter key.

Screenshots

Submenu (Other)

On my CRT

Download

menu.tar.gz

I found a CRT!

April 21, 2024 — ~ebruce613

On Wednsday, (2024-04-17)

I found a CRT monitor (around 15.5") on the side of the road, it was sitting there with a printer, a photocopier, a washing machine and a PS/2 keyboard (but no computer). I brought it home and wiped it down, and connected it to power and my BeOS laptop. I powered on the computer, and then I see the BIOS POST screen from the laptop, on the CRT. I didn’t use it much with my BeOS machine, as I didn’t really have enough space in my room to have both out at once. At the moment, I have it plugged in to my 32-bit desktop, running FreeDOS off a USB, although naturally, I tried out Haiku on it as well.

Now for some pictures:

DOS, with my custom menu system Haiku, with an IRC client This thing is pretty deep!