SIOUX - the Web Server for DOS.

Sioux can be used e.g. in a local area network and should have few problems with
any viruses from the internet.

It features:
- server log
- configurable web page directory
- sends directory listing if index.htm is not found in subdirectory
- supports GET, HEAD and POST methods
- CGI support with POST and GET
- multiple domains
- DYNDNS client

1. Installation

The general setup is like this:

  |  SIOUX - Web Server      |
  |  NTCPDRV                 |
  |  Packet Driver           |
  |  Network card            |

Unfortunately there is no installation wizzard
available, so it may take some time till you have
everything up and running.

a) first load the packet driver
which fits your network card.
You can find it on the CD which
came with your PC or network card.
This can be easier and more successful
than searching the internet.

b) load ntcpdrv using e.g. the following command

ntcpdrv -ip= -netmask= -gateway=
Of cause you have to use the numbers which fit your network.

Verify with that you can reach a PC on your network.

Unload NTCPDRV if you will no longer use it by
tcpdrv -u. Your PC may hang otherwise after a while.

NTCPDRV is included in the ZIP file for your conveniance. It is free software of Trumpet software at

c) load SIOUX

just enter: SIOUX.EXE

There is a file called SIOUX.CFG which contains the settings for the web
You can e.g. specify a directory which contains the index.htm web page.
This has to be subdirectory of the directory you started SIOUX from. Also
make a cgi_bin directory if you plan to use CGI.
Please take a look at the explanation of the other parameters in the sample
SIOUX.CFG file included.

d) make web pages available

at least put one index.htm page into the current or the subdirectory
you specified on the command line.

e) try to connect the server

As long as you have not set up an account with DYNDNS.COM or have entered
the IP-Address of the web server into you local name server, the web server
is not known to any name server. So you have to access the server e.g. by:

provided SIOUX has the address and can find an
index.htm web page on the disk.

The server does not care for its IP address, it responds to any
http request it receives.

A batch file to run this looks like this:
LH FETPKT -n -w 0x60  ;VIA packet driver
ntcpdrv -ip= -netmask= -gateway=

Finding the right packet driver seems to be difficult. Many motherboard
manufacturers do no longer offer packet drivers with their boards. However,
they often offer ODI drivers for Novell networks. In this case
you can use ODIPacket which provides a packet driver shim on the basis of
a Novell ODI stack which you may find on your CD.

In this case the setup will be:

  |  SIOUX - Web Server      |
  |  NTCPDRV                 |
  |  ODI Packet Driver       |
  |  Network card ODI Driver |
  |  LSL                     |
  |  Network card            |

A batch file to run this looks like this:
LSL                      ;sometimes found in the card's odi directory - Novell software
FETODI               ;VIA ODI driver
ODIPKT 0 96       ;Dan Lanciani's ODIPKT driver - version 3.1
ntcpdrv -ip= -netmask= -gateway=

LSL reads a net.cfg file which could be these four lines:
Link Support
        Buffers 6, 1600
Link Driver FETODI
        Frame Ethernet_II

NTCPDRV will work with ODIPKT only if Ethernet_II is selected. ODIPKT should
be started with the "0 96" parameters to set the interrupt to 60hex or 96dec.

The DIS_PKT driver provides a packet driver shim on the basis of NDIS. This can be
used too. A description of this setup will be provided later.


If you want to specify a subdirectory you have to terminate the URL entered in the browser's address field with "/" .
The support for multiple domains is not tested yet.

SIOUX features a client for DYNDNS. If you have your server set up at home and are connected to the internet via cable or DSL, your IP address will change regularly. WWW.DYNDNS.COM allows you to open a free account with them which will route a domain name to a changing IP-address. SIOUX will automatically check if the IP address has changed and if yes register the new IP address with DYNDNS.COM. This way your server at home can be reached by a domain name from the internet. Set the dyndns=yes parameter in the sioux.cfg file to turn this feature on. Sioux will write the last IP address retrieved at the end of this file.
If you start Sioux with this option, the internet connection has to be established or the dyndns client will time out and stop the web server. Sioux will print to screen debug output when updating the IP address with DYNDNS. This output will clear as soon as the first web page is requested.

You can even test DNYDNS with a modem or ISDN dial-up link. If you set the parameter keepalive=yes in the sioux.cfg file, SIOUX will make a DNS lookup every 60 seconds to keep your dial-up link connected. Keep your phone bill in mind with this feature!

I have not tested Sioux extensively. If you need some issues fixed, I will see what I can do for you.


SIOUX is free software and I don't accept any responsiblity for any damages from its use.

28. January 2007 Georg Potthast