Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Wunderbar98

Links Web Browser Community Edition for DOS with TLS 1.2

Recommended Posts

== Links Web Browser for DOS with TLS 1.2 Community Edition ==

Webbrowser_Links.jpg

= Overview =

Links for DOS v2.21 appears to be the only open source web browser compiled for DOS with TLS v1.2 support [1]. It was tested to run well in vanilla Windows 98, using it's DOS v7.10. Below is a compilation of the most relevant information needed to download, install and run the browser. To keep the thread clean, please avoid posting information unrelated to Links for DOS.

Project homepage.
http://links.twibright.com/

Online manual, not all applies to running in DOS.
http://links.twibright.com/user_en.html

= Prerequisites =

- Working DOS system
- Basic DOS knowledge
- Functional DOS network [2]
- Software downloads below

= Download =

Download cwsdpmi.exe (21 KB) [3], cwsparam.exe (13 KB) [3] and links-2.21.exe (7.0 MB).
http://links.twibright.com/download/binaries/dos/

Optional DOS mouse driver, test system uses CuteMouse with a traditional PS/2 wired mouse, direct download link below (ctm20a4.zip, 61 KB).
https://sourceforge.net/projects/cutemouse/files/latest/download

= Setup =

Extract downloads as applicable. This example creates a C:\DOS directory with additional subdirectories for all relevant software, modify as desired. Create and place 'cwsdpmi.exe' and 'cwsparam.exe' in C:\DOS\CWSDPMI. Rename 'links-2.21.exe' to DOS-friendly 'LINKS221.EXE' and place it in C:\DOS\LINKS. From the CuteMouse download, only 'CTMOUSE.EXE' is needed, copy it to C:\DOS.

= Configure DOS Environment =

Running Links for DOS with mouse support, the test system requires minimal AUTOEXEC.BAT entries and no CONFIG.SYS entries. DOSKEY is optional in AUTOEXEC.BAT, useful for making DOS navigation easier, unrelated to the browser. Note Windows 98's default CONFIG.SYS file contains entries for HIMEM.SYS and EMM386.EXE. It is IMPORTANT that these be commented out (REM = REMARK), as outlined below. As Links uses CWSDPMI, loading HIMEM.SYS and EMM386.EXE concurrently was found to negatively affect browser performance.

C:\AUTOEXEC.BAT file:
@ECHO OFF
C:\DOS\CTMOUSE.EXE /R2
DOSKEY /INSERT


C:\CONFIG.SYS file:
REM DEVICE=C:\WINDOWS\HIMEM.SYS
REM DEVICE=C:\WINDOWS\EMM386.EXE RAM


= LINKS.BAT =

Create a C:\LINKS.BAT file to load the DOS packet driver and launch Links for DOS. Modify the DOS packet driver entry based on the system utilized. Note Links for DOS needs to be run from a true DOS environment. Do not launch it from Windows or drop to DOS from a Windows session. Instead reboot system into DOS before launching browser. To run Links in text instead of graphic mode remove the '-MODE 1024x768x16M32' snippet, resolution appears to just utilize native DOS rows/columns.

C:\LINKS.BAT file:
@ECHO OFF
CLS
C:\DOS\LNE100\LNE100TX.COM 0x60
C:\DOS\CWSDPMI\CWSDPMI.EXE
LH C:\DOS\LINKS\LINKS221.EXE -MODE 1024x768x16M32 https://lite.duckduckgo.com/lite

= First Run =

Boot to DOS and run C:\LINKS.BAT to launch Links. Based on the configuration above it should load the DuckDuckGo-Lite search engine. Press Escape key or click on the upper screen for the Links menu. Review options and keyboard shortcuts. No special configuration is necessary. Deciding whether to view images is likely the biggest performance factor (View dropdown -> Html options -> Display Images).

= Quicker DHCP Launch =

If the first browser launch resulted in a 'Configuring through BOOTP' delay and then connected via DHCP anyway, create a configuration file named WATTCP.CFG in C:\DOS\LINKS containing the line below [4].
my_ip=dhcp

= Confirm TLS v1.2 Support =

Load the link below to confirm TLS v1.2 support.
https://www.ssllabs.com/ssltest/viewMyClient.html

= Miscellaneous =

Although the notes above configure Links to run in DOS, it can also reportedly be set up to run in a Windows environment using the ethernet adapter's NDIS driver [5].

Although there is no scroll mouse, hold either right or center-click and drag up/down for controlled scrolling. If scrolling is laggy, try changing Setup dropdown -> Video options -> select 'Overwrite screen instead of scrolling it'.

Once familiar with the keyboard shortcuts, Links works almost more efficiently without mouse support, modify configuration as desired. A useful feature is File -> OS Shell, which temporarily drops out of Links to work in DOS, type 'exit' at the DOS prompt to resume the Links session.

END

[1] Other browsers found to provide TLS v1.2 support in vanilla Windows 98 are RetroZilla v2.2 and K-Meleon v1.5.4, graphic browsers that run in the Windows environment.
https://msfn.org/board/topic/181416-retrozilla-community-edition
https://msfn.org/board/topic/181726-k-meleon-tls-12-in-vanilla-windows-98-se

[2] Review this DOS Networking guide if the system does not yet have a working DOS packet driver. Note mTCP is not required to run Links for DOS as it handles connectivity internally.
https://msfn.org/board/topic/177106-running-vanilla-windows-98-in-2020/page/32/?tab=comments#comment-1187090

For network adapters that do not have a working packet driver, review forum member @Deomsh's NDIS 2 driver guide below.
https://msfn.org/board/topic/181853-links-web-browser-for-dos-with-tls-12-community-edition/?tab=comments#comment-1187234

[3] Alternatively, download the same 'r7 binary distribution' (csdpmi7b-1.zip, 70 KB) of CWSDPMI (Charles W. Sandmann's DOS Protected Mode Interface) from below if documentation is desired.
http://sandmann.dotster.com/cwsdpmi/

[4] More WATTCP configuration information.
http://wiki.freedos.org/wiki/index.php/Networking_FreeDOS_-_WATTCP


[5] To configure Links to run in a Windows environment using the ethernet adapter's NDIS driver see @Deomsh's configuration notes and the discussion that follows.
https://msfn.org/board/topic/181853-links-web-browser-community-edition-for-dos-with-tls-12/page/2/?tab=comments#comment-1187615

Edited by Wunderbar98
  • Like 3

Share this post


Link to post
Share on other sites

The first post was edited. For those running with DHCP, probably most of us, a new 'Quicker DHCP Launch' section was added. This allows Links to bypass the 'Configuring through BOOTP' delay on browser startup.

The LINKS.BAT example was simplified as it is not necessary to change to C:\DOS\LINKS to launch the browser. I initially thought temporary files were kept there but it does not appear to be the case. Note on this system running with DHCP, a C:\WINDOWS\TEMP\W32DHCP.TMP file gets created containing detailed DHCP connection information. Users sensitive to having this information on their system in plain text should delete this file after the browser session.

Yes the browser logs into this HTTPS forum from DOS, just don't try to edit long posts :)

  • Like 1

Share this post


Link to post
Share on other sites

@Wunderbar98
Thanks a lot, everything is working as expected. My only problem was the packet driver. My RTL8168 provides for a NDIS2-driver, but nowhere a packet driver around. Luckily I found an old Windows 3.1 project on my harddrive which uses a shim to connect to the NDIS2 driver. (-:

Posted with Links-2.21

Edited by deomsh
Typo's

Share this post


Link to post
Share on other sites

Thank-you for testing Deomsh. The need for an NDIS-2 driver and shim tripped me up and i couldn't figure it out. Just wanted to add for others, keeping C:\WINDOWS\W32DHCP.TMP in place appears to improve Links launch time further. Adding LINKS.BAT to AUTOEXEC.BAT this old 800 MHz system goes from DOS boot menu to a TLS v1.2 graphic browser homepage in 8 seconds!

Share this post


Link to post
Share on other sites

Nice!

Because my (BIOS Legacy USB1.1)USB flash drive was a bit slow, I tested running from a 420MB 502MB Grub4Dos Memdrive. With LINKS.BAT loadtime for duckduckgo homepage is only 2 seconds.

Do you want me to add my RTL8168 NDIS2/shim setup in this thread?

Edited by deomsh
Typo, correction

Share this post


Link to post
Share on other sites

Yes please, thank-you for offering Deomsh. Didn't want to ask yet hoped you would volunteer. It will surely help out others, including myself, who get stuck. Yup these speeds are amazing, will probably use Links for breaktime news and forums, so convenient and efficient. Links does not appear to keep cookies or long term cache, shutdown and it's clean. Logged in to HTML Gmail, seems to work too. Breaking down 8 seconds from DOS menu to homepage, just a bit over one second for each of the following, it takes longer just to open RetroZilla.
1 Basic DOS boot
2 Load mouse driver
3 Initiate CWSDPMI
4 Establish DHCP
5 Open Links
6 Load homepage

Share this post


Link to post
Share on other sites
Wunderbar98 said:
Logged in to HTML Gmail, seems to work too

Working gmail homepage on DOS, with a DOS browser?? Absolutely incredible! :worship:
Oh well, am probably not sys-savvy enough to even get a network connection, and should spend my time with UPdate stuff not downgrades, but even sitting on the sidelines it's fascinating just to know that's possible at all!

A few screenshots would be nice.
Hint:
the current title is completely misleading. As is the name of the browser itself of course. "Links" - what a non-name, sigh...
At any rate everyone who'll see this topic in the list and reading "Links for DOS Community Edition" is made to think this topic were for "Hyperlinks to some forked DOS-system" ;) Title should somehow indicate this is actually about a DOS-browser with TLS1.2

Share this post


Link to post
Share on other sites
15 hours ago, Wunderbar98 said:

 


4 hours ago, Wunderbar98 said:

 

 

 


Yes please, thank-you for offering Deomsh. Didn't want to ask yet hoped you would volunteer. It will surely help out others, including myself

 

 

 


I am using RTGND.DOS, with other NDIS2-drivers I believe only the file name has to be substituted everywhere (untested)!



Relevant entries (directory as you like)

 

 

 

 

 


--------------------------------------------------------------

CONFIG.SYS

--------------------------------------------------------------

.

.

DEVICE=C:\DRIVERS\NDIS2PKT\PROTMAN.DOS /I:C:\DRIVERS\NDIS2PKT

DEVICE=C:\DRIVERS\NDIS2PKT\RTGND.DOS

DEVICE=C:\DRIVERS\NDIS2PKT\DIS_PKT.DOS

.

.

.

--------------------------------------------------------------

--------------------------------------------------------------

AUTOEXEC.BAT

--------------------------------------------------------------

C:\DRIVERS\NDIS2PKT\NETBIND.COM

.

.

REM AFTER YOUR PATH STATEMENT (PATH ...., or SET PATH=.... )

set Path=C:\DRIVERS\NDIS2PKT;%PATH%

.

.

--------------------------------------------------------------

--------------------------------------------------------------

PROTOCOL.INI

--------------------------------------------------------------

[protman$]

DriverName=protman$



[RTL8168]

DriverName=RTGND$

Medium=_auto

Interrupt=11

IOBase=0xe800



[PKTDRV]

DriverName=PKTDRV$

IntVec=0x60

ChainVec=0x65

BINDINGS=RTL8168

--------------------------------------------------------------

 

 


In PROTOCOL.INI instead of [RTL8168] AND BINDINGS=RTL8168 the right NIC-code should be used twice, but is not necessary in my opinion, as long they are identical. Needed is to substitute the name-part of the filename of the NDIS2 driver in DriverName=RTGND$ ($ at the end, no extension!). Do NOT change the [PKTDRV] entries.



For other NDIS2 driver-specific entries needed in PROTOCOL.INI study the INF/INI/NIF-files coming with the NDIS2-driver, or take a look in %WINDIR%\PROTOCOL.INI if NDIS2-driver is installed in Windows 9x (for my NIC RTGND$ uses: Medium=_auto / Interrupt=11 / IOBase=0xe800).



Shim in use is DIS_PKT.DOS   4733 Bytes   05/01/1998



The files PROTMAN.DOS and NETBIND.COM are part of MSClient. How to get them and the shim see: http://wiki.freedos.org/wiki/index.php/Networking_FreeDOS_-_NDIS_driver_installation



Although the wiki states otherwise, the PROTMAN.DOS /I switch, pointing to the directory where all files reside, is needed - in my setup at least.



BTW: don't install MSClient. Further: I am not sure if the path-entry is needed, my setup is already 2½ years old. :ph34r:

Update: the PATH-entry isn't needed on my system!

 

 

Edited by deomsh
Correction, update
  • Like 1

Share this post


Link to post
Share on other sites

Hi siria, thank-you for your feedback. The forum title was expanded. To me 'Links' is almost synonymous with the web browser, the project is over 20 years old and is available in most major OS'. A screenshot was added to the first post although there's not much to see, it stays out of the way. For some reason this Wikipedia screenshot and the developers shots don't show the auto-hide menubar, not missing much. DOS diehards might disagree, everything after DOS was a downgrade :)

Thank-you for the guide Deomsh, information and a link was added to the first post. No wonder i got tripped up, fairly complicated but you've broken down the steps nicely. During my failed attempt, MSClient was installed, just seemed overkill. Your notes help clarify, will trial next time an adapter without a working packet driver gets installed.

Additional information was added to the 'LINKS.BAT' section of the first post for setting up text mode instead of graphics. Note, graphic mode can still be run with images disabled, believe they can be toggled with Shift-8 (asterisk) during runtime. Checked, on same hardware RetroZilla takes ~20 seconds and K-Meleon ~16 seconds for first launch after boot settles, to empty pages.

Share this post


Link to post
Share on other sites
5 hours ago, Wunderbar98 said:

During my failed attempt, MSClient was installed, just seemed overkill. Your notes help clarify, will trial next time an adapter without a working packet driver gets installed.

MSClient is needed to provide Network services like TCP/IP. Not needed here. The MSClient-installer has a bug, to connect to the internet additional files have to be copied manually (I learned the hard way during a project to connect Windows 3.1 to the internet using MSClient).:crazy:

You can test the packet driver on your NIC if there is a NDIS2-driver available. Don't forget to REM-out your current packet-driver in LINKS.BAT. PROTMAN.DOS is using 6KB conventional memory, DIS_PKT.DOS 3KB and my NDIS2-driver 42KB. NETBIND.COM is unloaded afterwards.

By the way, your color-setting gave a scrambled screen on my 24" 1900x1200 LCD, but 1024x768x16m32 is quite acceptable for pictures.

Regarding load-speed: on my Gub4Dos Memdrive loading CONFIG.SYS and AUTOEXEC.BAT took 4 seconds, 2 seconds for LINKS.BAT up to the homepage.

 

Edited by deomsh
Typo

Share this post


Link to post
Share on other sites

Hi Deomsh. This ethernet driver package also includes an NDIS driver for DOS, will check it out eventually. Wonder if it will improve data throughput.

The first post 'LINKS.BAT' section was edited to reflect 16M32 for colour, worked fine here too. In the 'Miscellaneous' section mouse scrolling was modified. On this system holding down either right-click or center-click works for controlled scrolling. In addition, Setup dropdown -> Video options -> select 'Overwrite screen instead of scrolling it' fixes laggy scrolling. The Links online manual URL, a default browser bookmark, was added to the 'Overview' section, although not all applies to running in DOS.

Share this post


Link to post
Share on other sites
On 9/7/2020 at 2:21 AM, Wunderbar98 said:

This ethernet driver package also includes an NDIS driver for DOS, will check it out eventually. Wonder if it will improve data throughput.

I can't compare, but downloading with Links-2.21 in dos with NDIS2+shim is about 200KB/sec. In my Windows 98SE setup, where I have to use NDIS2 for RTL8168 (only NDIS2-driver possible, no shim involved of course) my download speed with Opera 12.02 is about 450 KB/sec. I use always following url for testing: http://speedtest.tele2.net/100MB.zip 

Edited by deomsh
Correction: Links version number

Share this post


Link to post
Share on other sites

Hi Deomsh. Took some trials, finally got NDIS driver working in DOS with existing ethernet adapater. Will play around for a bit, figure out minimum common denominators, test speed and post notes. You are much more advanced regarding drivers and such, had to re-read your post several times and try different things. Nice to know that an NDIS driver can be used for ethernet adapters lacking a working packet driver, thanks again.

Edit: Speed tests done using the 100MB download link. Just let the download run for 1 minute, completed couple trials each driver. Results in DOS poor but works with Links.

DOS packet driver, Links: 64-67 KB/sec
DOS NDIS driver, Links: 58-77 KB/sec
Windows 98, RetroZilla, Speed Guide TCP Optimizer: 666 KB/sec

The 666 KB/sec is close to what i get with same hardware in GNU/Linux, usually ~750 KB/sec.

Edited by Wunderbar98

Share this post


Link to post
Share on other sites

This is what worked for the NDIS trial here. A new NDIS directory was created, C:\DOS\NDIS. The ethernet adapter's NDIS DOS driver was copied to C:\DOS\NDIS, in this case LNE100.DOS.

The FreeDOS wiki ftp[dot]microsoft[dot]com links no longer work so MS Network Client was downloaded from below (msnc3.0.rar, 1123 KB, no JavaScript needed). The download contains DSK3-1.EXE and DSK3-2.EXE.
http://www.kompx.com/en/network-setup-in-dos-microsoft-network-client.htm

7-Zip was used in Windows to extract 'DSK3-1.EXE'. The NETBIND.COM file was copied to C:\DOS\NDIS. A COMMAND.COM prompt was opened in the extracted DSK3-1 directory. The 'PROTMAN.DO_' and 'PROTMAN.EX_' files were expanded with below command to get PROTMAN.DOS and PROTMAN.EXE, also copied into C:\DOS\NDIS. Note if the system already has PROTMAN.DOS and PROTMAN.EXE files in C:\WINDOWS, then those could be used instead, either way worked here despite the files having different byte counts/versions.
expand -r protman.do_
expand -r protman.ex_


DIS_PKT.DOS was downloaded and extracted from the FreeDOS wiki link (dis_pkt9.zip, 32 KB, no JavaScript needed), then also copied to C:\DOS\NDIS. Note the file from this download is named DIS_PKT9.DOS, not simply DIS_PKT.DOS, so DIS_PKT9.DOS was used in the configuration below.
http://wiki.freedos.org/wiki/index.php/Networking_FreeDOS_-_NDIS_driver_installation#The_converter_.2F_shim

The C:\WINDOWS\PROTOCOL.INI file was recyled and copied in to C:\DOS\NDIS, then modified as below. Important configuration note, the '/I' switch in the CONFIG.SYS file for PROTMAN.DOS refers to the location of the PROTOCOL.INI file to be utilized. Use just one entry in CONFIG.SYS, the two examples below just indicate the different pathways that could easily be used on this system. Use one or the other or customize as desired, see CONFIG.SYS summary below.
DEVICE=C:\DOS\NDIS\PROTMAN.DOS /I:C:\DOS\NDIS
DEVICE=C:\DOS\NDIS\PROTMAN.DOS /I:C:\WINDOWS


A C:\CONFIG.SYS menu entry was created for loading NDIS containing the following. The NDIS DOS driver used for this particular Linksys network adapter is named LNE100.DOS.
DEVICE=C:\DOS\NDIS\PROTMAN.DOS /I:C:\DOS\NDIS
DEVICE=C:\DOS\NDIS\LNE100.DOS
DEVICE=C:\DOS\NDIS\DIS_PKT9.DOS


Only one AUTOEXEC.BAT entry was required, no PATH entry needed.
C:\DOS\NDIS\NETBIND.COM

The C:\DOS\NDIS\PROTOCOL.INI file used, note some entries were pre-existing from C:\WINDOWS\PROTOCOL.INI file.
[protman$]
DriverName=protman$

[data]
version=v4.10.2222
netcards=

[LNE100]
DriverName=LNE100$

[PKTDRV]
DriverName=PKTDRV$
IntVec=0x60
ChainVec=0x65
BINDINGS=LNE100


Running with the NDIS driver, LINKS.BAT no longer needs the DOS packet driver entry, this worked fine with the NDIS driver.
@ECHO OFF
CLS
C:\DOS\CWSDPMI\CWSDPMI.EXE
LH C:\DOS\LINKS\LINKS221.EXE -MODE 1024x768x16M32 https://lite.duckduckgo.com/lite



Edit: Several changes regarding PROTMAN.DOS and PROTOCOL.INI setup.

Edited by Wunderbar98

Share this post


Link to post
Share on other sites

@Wunderbar98 nice the setup is working for you.

Sorry to hear about your low speed, with both DOS-setups.

I tested DIS_PKT9.DOS too, no difference on my system. After downloading 33MB of the 100MB.ZIP, Links reported an average speed of 180KB/sec. But my ISP seams to be faster than yours, in Windows 10 & Firefox I downloaded the file with 7MB/sec (on another machine). I can't explain the difference with Windows 98SE & Opera 12.02.

I found another nice speedtest  loading pictures. If I change the homepage in LINKS.BAT to https://www.reuters.com/news/pictures it took 5-6 seconds from start to the OK-message in Links. During the loading of the 2.4MB I saw Links reporting speeds up to 800KB/sec. The pictures seems to be on different servers.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...