VOGONS


First post, by creepingnet

User metadata
Rank Oldbie
Rank
Oldbie

This is an offshoot of some discussion in the Ultimate Retro Laptop thread. I have not seen any threads on using the modern, Web 2.0 internet on Vintage PC's, but it's something I do quite a lot. I will add to this more and more as I think of more minutiae and details. This is going to be a Very Long post, and it's likely going to grow as I get more of my methods documented. I'm also going to share links for things that I have done and plan to do because I'm always looking around for a better way to make live with these "retro systems" easy.

WHY WOULD YOU WANT TO DO THIS?

The first question about this is why. The reason is because these computers do have the ability to be connected to the internet still, and things have not stayed stagnant for vintage PCs over the last 30+ years either. Things have changed and moved on, they are just way more obscure and harder to find out than ever because the internet tends to cater only to the lowest common denominator anymore – people who are interested in e-mail, social media, and actual work.

But having a internet connected vintage PC can be quite useful. The most useful thing I find it for is downloading data directly to it, and it’s often faster than FTP, and less fiddly and more secure than tuning your modern day Samba install in Linux, or modifying your Windows 10 machine to allow unencrypted passwords from 3rd party SMB Servers and re-enabling SMB 1.0 every time there’s an update.

But there’s other things you can do in a web browser as well, such as talk on forums, read documents, download documents in other formats, and even some social media still works. But still for me, the #1 purpose is to download direct from trusted sources.

And with your old PC connected to the internet, there’s even more things you can do like use Telnet to connect to a Bulletin Board System, use old chat technologies such as AIM Phoenix or Yahoo Phoenix, and I’ve even gotten e-mail to work in some scenarios with some security caveats.

Which brings me to…...

SECURITY CONCERNS

Most Armchair Infosec Dweebs would love to tell you how a hacker is going to hack through your old computer into your home LAN, steal your identity, hack into and clear your bank account, and ruin your life. This is largely FUD (Fear, Uncertainty, and Doubt), especially since 90% of this is more aimed at people who are clinging to their old XP-8.x Windows systems because they are afraid of change.

The #1 thing about internet security that nobody in the industry inside or outside will tell you is your #1 defense is COMMON SENSE. If you are going to be connecting to an unsafe website, or looking up warez or porn on a vintage PC, you’re getting what you deserve. That said, there’s a lot of perfectly safe sources out there one can access and use. You just have to look for earmarks on what a dangerous source is. If you go to a website and it has a lot of pop-up ads, banners, and/or is one of the two subjects above, you are putting yourself at risk. But most of us are smart and knowledgable enough to know what places are safe to go to, and what are not.

The next thing is a rule of thumb I have about PC age vs. how safe it is, because it’s more restricted in what it can do. The oldest PC’s or even newer PC’s ran DOS, a single user, single tasking, 16-bit operating system with a very restrictive memory subsystem that’s incredibly difficult to do anything of any value to a hacker fast enough to retain anonymity. Windows is when we get risky because Microsoft Windows has always been, to this day, one of the most risky platforms in existence. Windows 3.1x was not that risky because there’s no modern browser that runs on Windows 3.1x, so your threats are minimized by the restrictions of older security protocols and the inability to process almost any webpage that uses secure HTML in 2022. Windows 9x has it’s share of issues but it’s still roughly a DOS-based shell so it’s no longer as vulnerable as it was in it’s heyday, when I used to see these things turn up with viruses and malware all the time because of constant web surfing. The REAL risk comes when we come to Microsoft’s current technology underpinning windows – Windows NT.

Windows NT was a 32-bit, now 64-bit, true multitasking, GUI driven operating system born out of their partner project with IBM, OS/2. When Microsoft and IBM Split, Microsoft continued to develop their half into this, releasing Windows NT 3.1 in 1993, NT 3.51 in 1995, NT 4.0 in 1997, and 2000 Professional in 1999. These were intended, at the time, for corporate enterprise “work” environments, where they would usually be connected to large TCP/IP networks, and have built off of each other since the start. In 2001, Windows XP was released and marked the end for the “DOS Based” Windows 9x/Me series, and the beginning of a unified use of the NT Platform across the entire Windows product line. This is what makes it risky because security updates and changes in the network infrastructure over the years in attempts to secure it makes only Windows 10 the most secure release. AS such, this is why information security specialists freak out about vintage computers on the open web – because they are thinking by “vintage” you mean a 9 year old Core 2 Duo running Windows 7, not a 29 year old 486 running FreeDOS.

Where these people become “Armchair Infosec” dweebs is when they think that some hacker is going to put a bitcoin miner on your 386SX that already struggles to load a program bigger than 490K, requires sometimes hours of tuning just to get a DOS game to run, and even a MOUSE driver can mean the difference between a 20fps and 30fps frame rate. Most of these are younger and never lived around this stuff as it was in the day. But it does not excuse spreading FUD because your professor who thinks DOS can’t even connect to the internet at all told you it’s bad to put an old machine on the internet. It’s all about context.

The intent here is not to scare people out of using Windows, the intent here is to let you know where you should start being a bit more aware of your full-time-active network starts to become a security risk. So here’s some safety tips….

- On DOS systems you don’t need networking full-time. I usually have a separate startup entry for my networking that is off when I’m not using it, because it frees up resources for other hardware and software I need more when running games or doing development.

- On Windows 3.1x systems, you can bypass the network stack using the Win /N command line switch. In some cases with laptops, leaving the PCMCIA cards out is also a resolution. While Windows 3.1x has Win32s, it’s limited in functionality and I’ve found, in my own testing even, most anything “win32” made after 2000 will error out with an “unexpected DOS error 21”, which likely has something to do with the structure of Win32 files.

- In Windows 9x is when we start to need to be careful. You can leave the ethernet cable out when you don’t need it, that’s the best way. In my case, since I’m limiting myself to 486s, and swap HDD or have multi-boot configurations on all of my “retro-PCs”, I just load Windows 9x when I need it, and don’t when I don’t. Best policy is to only have it up when you need it though. That said, it’s not as risky as NT, but you still need to be careful because some Win32 executables and code will still work in 9x even though it’s geared at an NT system.

- In Windows NT, this is when things get risky. Some earlier versions of NT up through 2000 had a “Windows Messenger Service” that would spam you with B.S. if you left it active as long as there was an active internet connection. I learned about this the hard way when I installed Windows 2000 back in the day. Also, most malicious software is geared toward NT aka Win32, and this is when we start stepping into web browsers that can be considered “modern” so all the same risks apply to these machines that they would to a modern machine running Windows 10. And not all of these early NT versions had a firewall built in, so you may want to considering installing one and blocking ports and port ranges you won’t need – but at a benefit, these also are the least fiddly systems to get online.

DOS

Configuring an MS-DOS system for the internet in 2022 is really not as hard as it sounds. There are three key pieces: A packet driver (for your network card or WiFi card), Mike Brutman’s mTCP Suite of utilities, and for your web browser, Links (https://links.twibright.com).

The first piece is the Packet Driver. This is a driver that loads at interrupt vector 0x60 to allow most DOS internet applications to talk to it. It’s specific to your network card and usually is stored on the driver diskette set in the “packet” directory. You also can download one for your chipset from the CRYNWR packet driver collection and use that as well. To find out what kind of network card you have. Some come as EXE’s that you can launch at will, others come as .SYS files that will require a DEVICE= statement in CONFIG.SYS. Some of these also include an INI or CFG file to designate settings like the card’s memory address, IRQ, hardware ports, and so on. You will need to read the readme.txt file for your card or look up how it’s to be installed as it differs from card to card.

The next piece of this is mTCP. MTCP is a suite of utilities written by Mike Brutman that allows vintage PC’s to connect to the internet, and connect to network resources. How I set mine up is I copy the files or unzip them to c:\MTCP making sure to keep the file structure intact since there’s a folder called C:\MTCP\SAMPLES which contains a SAMPLE.CFG file – the configuration file for MTCP – and then a ftppass.txt file that is used for FTPSRV to set the passwords, folders, and resources for transferring files over from a modern PC – a bit out of scope for here.

The main file to copy is that SAMPLE.CFG file. We need to set it as an environment variable so that the MTCP Utilities will see it and know what to read from/write to it – as your DHCP information is written to the end of this file as well. At the minimum, I change the hostname to something appropriate, and un-comment any settings that might improve performance. However you will need to do more configuration for IRCJR or using FTPSRV – such as names for IRCJR or enabling logs for FTPSRV. You can read the readme with mTCP for that.

So when a DOS System loads up with internet access this way – it goes a little something like this….

1) DOS Boots up, loads packet driver to interrupt vector 0x60 from CONFIG.SYS or AUTOEXEC.BAT
2) Once packet driver is loaded, the CFG file for MTCP is set as an environment variable ie C:\MTCP\SAMPLES\SAMPLE.CFG
3) If you choose, you can auto-run DHCP.EXE from AUTOEXEC.BAT, and it will resolve an IP Address to your system and display it on the screen after it succeeds. It tries 3 times with a 15-second timeout

Once all this is met, your computer is ready to get on the internet from DOS.

Now, we will discuss Links. Links is often confused with LYNX – which is an entirely different browser. LYNX is a very large group of manually configured, plaintext, folder trees that sits around 3MB in size at most. LINKS sits at around 4-7MB as a self-contained EXE file that builds a couple folders in it’s chosen directory. The big deal with Links is it is a TLS 1.2 compliant web browser that runs on DOS and so far I have not found a single site that is not at least "workable" with it. It works, at the slowest, with a 386SX PC with a 387 Math Co-Processor installed. For my purposes it suits my needs perfectly. It runs in 80x25 column text mode by default, but the full version runs in graphical mode as well. If you don’t already have it you can use the following command below to download it from the Web. This is for version 2.27 which was released in May 2022.

For Regular, Full Blown Links
htget -v -o links.exe http://links.twibright.com/binaries/dos/links-2.27.exe

For Lite, Text Only Links (better for slower/older computers)
htget -v -o links.exe http://links.twibright.com/binaries/dos/links-2.27-lite.exe

CWSDPMI.EXE, this is needed for Links to Run on other versions of DOS than FreeDOS
htget -v -o cwsdpmi.exe http://links.twibright.com/binaries/dos/cwsdpmi.exe

Once downloaded, make a directory - like c:\links - and then put the links and cwsdpmi exe files in there. One optimum thing for Links is to make sure you have a wattcp.cfg file in the folder with it, as it will skip trying to detect connection over BOOTP, as it tries that first, then tries DHCP. The wattcp.cfg only needs the line my_ip=DHCP in it.

When you run it for the first time on any session it will take a little time to load, a bit under a minute - and will hunt for your network configuration. Once loaded, you will be dumped off at a blank screen with a cursor at the top.

To navigate, you do NOT need a mouse, but it can be handy/more comfortable for people used to one. ESC brings up the menu, Backspace Goes Back, and Enter works as usual as well. When surfing in text mode, I admit the default color scheme is a little garish so you can configure it to what you want, though I think the colors are a tad "off" from the standard ASCII 16 color pallet.

To surf in graphical mode you have to run Links -g -mode WWWxHHHxColor Depth. How high you can go and what you can set it to is dependant on your graphics card hardware and your monitor and what they can handle. An example, if you want to run at 640x480 with 24-bit color, you can use "Links -g -mode 640x480x32" or if you want to run 800x600 at 256 colors "links -g -mode 800x600x256". It will run a little slower as it needs to use more resources to render graphics, but it works, and it's compatible with all modern website image formats. The only rendering issues I see are with things like drop-down menus and certain other web elements from Web 2.0 that don't like to play ball with Links engine. But then, if you were wanting to access the web with modern functionality, or outside of utilitarian purposes, then you'd be using a modern PC or your phone, wouldn't you? On my 486's, I usually have a batch file or two for running Links in graphical mode should I be downloading pictures to edit in Graf-X II or something.

If you are running FreeDOS mTCP and Links comes with it, that's actually where I discovered these, and they are now a mainstay on all Creeping Network PCs from here on out that are a 386SX or better.

As for items for other internet activities from mTCP....which I will expand on if people want me to....
HTGET - Used to download files from the internet (we already used this)
TELNET - Telnet client, I use this to access BBSes, pretty easy actually, telnet bbsname port# - I make batches for these
FTP - This allows you to connect to an FTP Server with your DOS System

Other Web Tools I have Used
Dillo - This is a graphical browser I have used before, I hear there's a way to get it to work with the modern web too but I'm not bothering because LInks is so much faster and less fiddly.
Arachne - This browser was my old goto, and it also works on 8086s and 286s as well, I don't use it though because it's not very usable on the modern web. I did try some tweaking listed in another site but it did not work for me to get to other sites
LYNX - This is basically the DOS port of the LYNX browser that also works in command line Linux, there's even a lighter version called BOBCAT, I used this for awhile in 2018, including to post on this forum from my 286, it also works on PC/XT machines. Not sure how compliant it is
FLMAIL - I got this working with my gmail account with the security reduced to allow me to connect and it actually worked. Also worked with Yahoo mail, so it has some security. That said, it is a bit slow and clunky on Pre-Pentium machines, and it does not handle a 256 color pallet well so you'll want at least a 1MB SVGA card for 16-bit color at the lowest.

There was also a VNC Client I used at some point that came with FreeDOS, I was able to VNC into my Windows 10 based computer using TightVNC and control it via my 486 Versa M/75.

WINDOWS 3.1x

Windows 3.1x is one of the toughest of the lot to surf the WWW on because there's not a lot of browsers for it, and none of which are new enough to work for the modern internet. Your best bet is Opera 3.62 for vewing old, regular HTTP websites. Google still works on it, but DuckDuckGo won't. There are some resource sites including Links that you can hit from here, but it's not exactly the best choice, if not from a very small security standpoint, from a usability standpoint. I have been looking into ways to modify Opera 3.62's setup to work with modern protocols and disable the old ones but that has not worked that well yet. However, there is still a bit you can use in Windows 3.1.

Setting up Windows 3.1 for broadband, I will add the Trumpet Winsock method later (need to setup my old Versa for this), but the most common method is to use Windows For Workgroups 3.1x and set it up with TCP/IP32B networking protocol on your network card, using DHCP. This will connect WFW to the network and allow it to pull an internet IP from your cable modem. One thing to keep in mind is you will have to configure your web browsers and other internet applications to not use a dialer as that was the common way to connect when Windows 3.1x was still in common use, and instead configure as "I connect to the internet through a LAN" or something similar.

mIRC - Internet Relay Chat is still fun in Windows 3.1x, using the old clients I've been using for 20 years, does have nag screens though
AIM - AIM 1.0 works in Windows 3.1 and you can still chat through it from the AIM Phoenix project, need to change the server to theirs

Also, an option in Windows 3.1 is to use your packet driver in a DOS window and you can use Links in Windows 3.1, this is the BEST way to surf the web. I have tried Win32 versions of Links in Windows 3.1 but I have not yet been able to get them working because of some dependency they have an issue downloading or configuring. All the same programs, tools, and configuration from DOS applies to use the DOS version in text mode in a DOS window.

WINDOWS 9X

Windows 9x is connected via setting the computer up with TCP/IP Networking on your network adapter using DHCP. After that you can connect to the internet using said adapter. You can have up to 4 network adapters on a single device, useful to know when you have a bunch of PCMCIA cards for networking including WiFi are dabbling in network access via old laptop computers.

The way to brows the internet in Windows 9x in 2022 is RetroZilla, which to me appears to be a re-compile/modified port of the original "Mozilla Suite" from 1997. This was a suite of applications and utilities similar to Netscape 4.08 for Windows 3.1x, but for Win32.

Everything I'm adding here is the bare minimum from the RetroZilla Community Edition Thread on MSFN forums - https://msfn.org/board/topic/181416-retrozill … munity-edition/

First, you will need to install Windows 95, and networking, and perform ALL updates on Windows 95. Information can be found on this elsewhere, though I may add it later. I just don't have a retro-PC with 95 needing updates handy ATM.

You will need to download RetroZilla 2.2 - https://rn10950.github.io/RetroZillaWeb/ - to get this, you will need to download it and copy it to the PC as MSIE 3/4/5/6 are both not secure to use (obviously), and they don't work with HTTPS today, so this is probably the second biggest caveat.

When you install RetroZilla 2.2 - you will need to do a BASIC install, particularly if you are running a 486. Once the base browser is installed, you still will need to carry out the process of disabling and enabling various security settings in RetroZilla to keep new sites from blocking you, and to add/enable modern security - These tweaks are found in this thread - https://msfn.org/board/topic/177106-running-v … comment-1174993

Basically...

1.) Navigate to About:Config in RetroZilla
2.) Add the two ciphers below and have them set to "True"

security.ssl3.ecdhe_ecdsa_aes_128_gcm_sha256
security.ssl3.ecdhe_rsa_aes_128_gcm_sha256

3.) Now search for each cipher below, and make sure they are "False"

security.ssl3.ecdh_ecdsa_rc4_128_sha
security.ssl3.ecdh_rsa_rc4_128_sha
security.ssl3.ecdhe_ecdsa_rc4_128_sha
security.ssl3.ecdhe_rsa_rc4_128_sha
security.ssl3.rsa_rc4_128_md5
security.ssl3.rsa_rc4_128_sha

What you just did is disabled insecure ciphers and added two for the modern internet. The web should now be accessible. There are tweaks for rendering and adblock but these are optional and can be found in the links I've provided. So far I've been able to even use Facebook using this configuration - so at least some things will work properly, if not all.

There's other software for Windows 95 that can be used as well for other features...RetroZilla (full version) has an e-mail client for example.

Something I've been planning to try with 98 SE (once I get the screen on my Versa P/75 replaced) is setup Windows 98 SE to work with WPA-PSK using a Cisco Aironet card. Apparently if you have one of those you can install Norton INternet Security and get WPA-PSK access. - http://kishy.ca/?p=2034

Also, Windows 95 has it's own TelNet Client, but for some reason it does not do color graphics for whatever reason (or I have not figured it out).

I won't yet go into Windows NT because I don't really need/use it. I tend to stick with 486 and older machines most of the time.

~The Creeping Network~
My Youtube Channel - https://www.youtube.com/creepingnet
Creepingnet's World - https://creepingnet.neocities.org/
The Creeping Network Repo - https://www.geocities.ws/creepingnet2019/

Reply 1 of 6, by Pierre32

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for this!

LAN is a regular feature of my retro setups, but I started looking into DOS web browsing for the first time a couple of weeks back, and quickly ran out of talent. This is exactly the guide I needed.

Reply 2 of 6, by davidrg

User metadata
Rank Member
Rank
Member

If you want Telnet on windows 9x with colour, etc, C-Kermit for Windows (the product formerly known as Kermit 95 with the proprietary and crypto bits removed/disabled) may be an option. You can grab my latest test build here (run k95g.exe) and it should be up on the Kermit Project website within the next few days (just tidying up a few other things first). For now I'm building it with Visual C++ 6 Professional SP6 so should work on Windows 95 and up as well as NT 4.0 and up (IIRC NT 3.51 has some UI glitches). On DOS, there is also MS-DOS Kermit.

An added benefit I suppose is unlike the regular telnet command, this has built-in file transfer abilities though only using the Kermit protocol (X/Y/Z MODEM was removed for licensing reasons).

Attachments

  • c.png
    Filename
    c.png
    File size
    24.36 KiB
    Views
    615 views
    File license
    Fair use/fair dealing exception
  • b.png
    Filename
    b.png
    File size
    20.55 KiB
    Views
    615 views
    File comment
    Synchronet
    File license
    Fair use/fair dealing exception
  • ckw.png
    Filename
    ckw.png
    File size
    16.87 KiB
    Views
    615 views
    File comment
    C-Kermit 10.0 Beta.04 running on Windows 95 SP1
    File license
    Public domain

Reply 3 of 6, by Jo22

User metadata
Rank l33t++
Rank
l33t++
creepingnet wrote on 2022-07-17, 00:03:

- On Windows 3.1x systems, you can bypass the network stack using the Win /N command line switch. In some cases with laptops, leaving the PCMCIA cards out is also a resolution. While Windows 3.1x has Win32s, it’s limited in functionality and I’ve found, in my own testing even, most anything “win32” made after 2000 will error out with an “unexpected DOS error 21”, which likely has something to do with the structure of Win32 files.

Hi there! Win32s runs most stable on a real i386/i486 processor or something that's faithfully compatible.
It also needs virtual memory and 386 Enhanced Mode. Loading a FastDisk driver like that MicroHouse one isn't hurting, either. 🙂

One of the reasons Win32s fails, I think, is because the more recent intel documents are totally wrong in respect of the bits that Win32s makes/made use of (vs. the old 286/386 era documents).

From what I understand, the matter was somewhat complicated/confusing that Intel engineers didn't really understand anymore how things are supposed to work.
CPUs based on those wrong documents will have trouble running Win32s, at all.
(That being said, Win32s really is a hack on a hack. It's a wonder it worked, at all.)

That's why hardware-assisted virtualization like Intel-VT or AMD-V (-> basically Win32 compatibility in silicon) can fix Win32s and why pure software-virtualization often fails.
Even emulators have trouble often, because of this. DOSBox really is a positive exception here. 86Box/PCem, too.

Ironically, the 16-Bit version of MS IE 5.x also uses Win32s-style technology and thunking.. 😉

More information:
https://www.os2museum.com/wp/sgdtsidt-fiction-and-reality/

PS: In my older thread about Win 3.1 emulators are a lot of Win32s compatible binaries, too.
Maybe they are useful for testing.
An updated/fixed set of Win32s libraries is included, too.

Edit: What I said was a general statement merely. I'm sure you know about Win32s, I didn't mean to teach you.
Other factors may also play a role. File sharing (share.exe and compatibles), etc.
Win32s is most happy with MS-DOS 5/6, also. DOS 7.x and other DOSes may cause stability issues at some point.

Edit: Speaking of processors and virtualization..
The late 486 and the 586 introduced VME, a "fixed" (enhanced) version of V86 mode, so to say.
You all hear about it likely, it's that one feature that AMD's Ryzen failed to support. 😂
Programs like QEMM 7.1/8/9 can make use of VME.
So maybe Windows 3.1+Win32s will also benefit from it (QEMM is Windows compatible).
Generally speaking. Int21h errors are rather related to the DOS ABI or Win16 file handling.
Using a late 486 or a Pentium could increase software compatibility, thus.
While a plain old 386 stays most compatible with early 90s sofrware, albeit being slower.
It supports things like self-modifying code flawlessly, due to the missing on-CPU cache.

Emulators or web internet brwosers may need modern processor instructions, however.
Microsoft IE 3.01 runs on a plain 386, at least. 😉
https://www.youtube.com/watch?v=qtmE_q4HyO0

Last edited by Jo22 on 2022-07-17, 06:13. Edited 1 time in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 6, by davidrg

User metadata
Rank Member
Rank
Member

As far as Win32s compatibility goes, IIRC Visual C++ 4.0 was the last version that officially supported targeting Win32s. Stuff built with Visual C++ 5 and 6 may still work but more by accident than intent. I think after Visual C++ 6 the windows team forked the C library allowing the Visual C++ team to break the ABI whenever they liked as developers were now expected to ship the C library with the application rather than depending on whatever shipped with windows.

Reply 6 of 6, by MarkP

User metadata
Rank Member
Rank
Member

PIRCH16 is a good IRC client that works well on a 286/12 using MS Windows 3.1 in Standard Mode. Will work on 386/486 up systems as does PIRCH32 on 386s up in 386Enhanced mode-Win9x. Not as many features as mIRC but does what it says on the side of the box.