Small HTTP Server ver. 3.05
by Max Feoktistov
E-mail: max(Shift+2)mf.inc.ru
This very small utility turns your computer into a full-service Web-server. This program
requires a minimal set of system resources, so the server's functioning
doesn't influence your computer's performance. This server's able to
function under a LAN networking or even under Dial-Up networking.
Webmasters can run this utility on his local computer and debug their
CGI-scripts without entering any network.
Perhaps this is the smallest HTTP server, but you shouldn't
underestimate his possibilities.
Possibilities:
GET,POST,HEAD methods support (HTTP/1.1)
Multitasking. -- contemporaneous data transfer and request
reception from several remote users with delay depending on the channel's
quality.
High performance. The server transfers data without any delay.
Dynamical output of information about requests. The 16 Kb
cache is provided for the log. After its overflow earlier data are
replaced by newer ones. The "save" option writes every 4 Kb of the log
on your hard disk.
The request's control, that guards your information.
Virtual hosting.
Simple installation.
+HTTP proxy.
+DNS server.
+FTP server.
+Real SMTP server. (Direct send messages to receptors. Intermediate provider's server isn't nessesary at all.)
+ New antispam feature has been added to SMTP server.
Now server support common and personal badlist and goodlist files.
The names of common lists you may direct in options. Also in options you may
enable check personal files named "badlist" and "goodlist" in user's home
directories. Files will check before receive message.
Each line of these file may be: -
E-mail address or any part of address. -
IP address or part of IP address. -
? Logical expresion where you may do action with $sender,
$hello, $control variables.
+/- Another little changes in regular expression, CGI execution, administration...
[28.01.06] Version 3.05.41
+ Web and local administration has been changed.
+ Stattistcs for hosts of referer has been added.
+ IPv6 part has been updated.
[28.12.05] Version 3.05.39
+ IPv6 support has been added. May be check on optionaly. Now
through IPv6 may work HTTP,POP3,SMTP income, Proxy income, DNS request
about us domain (SMTP server still send messages outside through IPv4,
DNS still send recurcive requests to resolve names through IPv4. If you
use buildin DNS for caching/resolving then unrecomendet to enable IPv6
for DNS.)
+ Now DNS support AAAA record fo IPv6 addresses
+ Little changes in SMTP
+ Little changes in DNS
- An error has been found and fixed in proxy.
[08.12.05] Version 3.05.38
+ Now host definetion file for DNS server may be reloaded without restart server.
+ Administration pages and reconfiguration on fly has been changed
- Fake E-mail address work correct. [16.11.05] Version 3.05.36
+ Statistics by hours for HTTP has been added.
- Logical expresion has been fixed. [12.11.05] Version 3.05.35
+ Has been added statistics for HTTP time and average speed of exchange.
+ Limits per IP for proxy and for FTP has been added.
+ Advansed spam filter and fake E-mail address has been added.
If spam filter return true, or when somebody try to send message to fake
address, server add IP of remote to spamer's list and will not
receive message from this address.
[17.10.05] Version 3.05.33
+ Proxy,HTTP,Web Administration has been changed
- SndMsg has been updated.
[10.10.05] Version 3.05.32
+ Now limit for size of file that will saved in proxy cashe has been added,
and other changes in proxy.
+ Limits for SMTP incomming has been added.
+ To "current state" administration page has been added advanced info
+Proxy has been changed. Now server support 'chunked' encoding.
+/- Other changes. [24.09.05] Version 3.05.30
+ Now, if you use an external ZLib library, proxy can send requests
with ask compressed reply, each when client's browser (such as most
popular browser..) unsupporting compression, and in in this case proxy
will auto decompress reply from server before put it to client.
+ HTTP server has been updated. Another algoritm for translate big
POST to CGI has been implement.
+/- Another little changes
[12.08.05] Version 3.05.29
+ HTTP server has been changed. GZip compresion with an external ZLib
library has been added. This help you minimize outgoing HTTP trafic.
You may download zlib.dll, that nesseser for it, from zlib home page:
www.zlib.org
or www.gzip.org/zlib/
+ Little changes in FTP.
[27.06.05] Version 3.05.28
[19.06.05] Version 3.05.27
+ DNS server has been full rebuilded.
+ Little changes in the proxy has been made.
[19.04.05] Version 3.05.24
+ Proxy has been changed. [14.04.05] Version 3.05.23
+ Proxy has been changed. FTP autorization request has been added
+ SMTP has been changed.
+ Some other changes.
[12.04.05] Sendmail emulator has been updated
Some functions for attach file and send through SMTP has been added.
Version for Linux included in shttplnx.tgz [23.03.05] Version 3.05.21
+ Proxy has been changed. Powerful downloading files with
automatic continues for HTTP and FTP has been added. (Continues after broken
connection)
+ Out advanced info about active connections has been added
- Regular extpresion has been fixed. [16.03.05] Version 3.05.20
+ In administration pages current state has ben moved to own page
+ Proxy has been changed. Continue downloading files that has been
partial loading before has been added. (Continues after broken
connection)
+ Super feature in FTP/POP3/SMTP proxy, -- access outside
throught up level HTTPS proxy has been added.
+ Now paswords may be removed from the log (optionaly).
- HTTP server has been updated.
[17.02.05] Version 3.05.18
+ Limitation for speed of outgoing transfer has been changed
* Support points in DNS TXT record
+ Proxy has been changed
[09.02.05] Version 3.05.16
+ Limitation for speed of outgoing transfer has been added
+ To more detailed info about current connections
+ Now DNS server support TXT record
- Proxy server will work with some strange types of FTP servers
that has been unavilable before.
+ Little changes in SMTP server.
[23.11.04] Version 3.05.15
+ Variable REMOTE_ADDR avilable from SSI
- Proxy correct delete old files in big mode
[29.10.04] Version 3.05.12
+ IP restrictions for remote administration, POP3, FTP has been added.
+ SMTP proxy mode has been added.
+ Some other. [28.09.04] Version 3.05.11
+ Page of directory files list has been changed.
- Mistake in SMTP has been fixed.
+ Some other.
[18.07.04] Version 3.05.06 [15.07.04] Version 3.05.05
+ Optional support for attributes of files has been added to
Windows version. Now hidden files may never sending to HTTP users, and system
files may runing from any directory. Also this attributes may be changed
by FTP.
+ DNS server has been changed. [27.05.04] Version 3.05.04
[21.05.04] Version 3.05.03
+ Logical expression for SSI and mail-scripts has been updated.
Now too difficult expression must be working fine.
+ Large mode for proxy has been added. This mode may be usefull to save
a lot of trafic files.
+ POP3 proxy now support remote login names that include '@'.
+ Break-filter has been added to SMTP server.
+/- Some other...
[06.04.04] Version 3.05.02
[28.03.04] Version 3.05.01
+ Regular expression support in SSI and in SMTP 'forward' file has been added.
+ Variables in command line for execute external application from forward file now are supported.
+ SMTP part has been updated.
[12.02.04] Version 3.04.12
[08.02.04] Version 3.04.11
+ Option to disable save uncrypted password in config file has been added.
+ Proxy has been changed.
[18.01.04] Version 3.04.10
- SMTP server has been updated.
[30.12.03] Version 3.04.08
+ Mail forward-file has been updated. Commands '#cp', '#mv','#rv', and other has been added.
+ Posibility to run antivirus for incomming/outgoing mail has been added.
[12.12.03] Version 3.04.07
+ Special FTP proxy (or proxy mode for FTP) has been added.
+ Little changes in proxy.
[18.11.03] Version 3.04.05
+ Opening SMTP access after POP3 authentication has been added.
- Little changes in proxy.
[09.11.03] Version 3.04.03
+ POP3 proxy has been added.
+ Option for proxy session timeout has been added.
+ Optimised and other. [28.10.03] Version 3.04.02
[26.10.03] Version 3.04.01
! This is release of version 3.04. Some mistakes has been fixed,
* Proxy server correct work with some types of FTP and can set secure
connection through higher level proxy server.
* SSI correct return pages with some unclosed #if statments.
This version of the Server is FREE for non-commercial purposes, but the price
for commercial purposes is $35 USD.
Registrated users of preveus versions of Small HTTP Server may be
use this version free for commercial purposes too.
[16.10.03] Version 3.04test2
+ Support secure TLS connection for POP3 has been added
+ Support secure TLS connection for SMTP has been added
* Some other little changes [30.09.03] Version 3.04test1
Version 3.039987
* Updates in FTP has been maden.
[27.09.03] Version 3.04test
It is test version.
This version includes interface for SSL/TLS library. Here is simple DLL library
seclib based on OpenSSL 0.9.6j
You may use it, or any other DLL with same interface for SSL/TLS.
[12.09.03] Version 3.039986
+ SMTP server has been updated. When size of message too long
conection will be break, and if remote try resend this message again,
the server detect it and close connection imediatly. Also option to
disable break connection, has been added.
* Small updates in FTP has been maden.
+ Some other ...
[31.08.03] Version 3.039985
+ Now statistics calculating too fast.
[25.08.03] Version 3.039984
+ More statistics for FTP has been added.
+ Modes for virtual directories through FTP has been added.
- Mistake in security, that could emerge with some values of settings, has been fixed.
[15.08.03] Version 3.039983
- Mistake in security, that could emerge with some values of settings, has been fixed.
[31.07.03] Version 3.039981
+ Deny IPs lists has been added. [3.07.03] Version 3.039971
+ Access to private virtual directories via FTP has been added.
- In DNS server SOA record has been corrected.
+ Support of independent PTR records has been added to DNS server.
* Icon and other details has been changed.
[28.05.03] Version 3.03996
[16.05.03] Version 3.03995
* SSI has been updated. Server corect work with crazy SSI tags.
+ Little changes in ISAPI. Now php4isapi.dll may be used.
* SMTP has been changed
[29.04.03] Version 3.03993
[05.03.03] Version 3.03992
+ Summary statistics (for IP/users/virtual hosts) has been added
* Now user's name is case unsensitive
[21.02.03] Version 3.03991
+ For up level proxy server authorization has been added.
+ The possibility to direct upload directory has been added to FTP server .
If this directory presents, users with "read only" access can upload
files there.
[31.12.02] Version 3.03981
+ Support secure conections for proxy. [09.12.02] Version 3.03973
+ HTTP continues corrected
+ Now ISAPI scripts run from SSI, don't output header's lines.
+ SMTP was updated, -- now, it receives messages to send
from IP adresses that are inside avilable IP range only.
+ Proxy was updated.
[02.11.02] Version 3.0397
+ Now virtual hosts and virtual directoties may be privated for directed users only.
+ Now you may add advanced lines to HTTP control header. [17.10.02] Version 3.03962
+ SSI was updated, some mistakes was revised.
+ Statistics for POP3 and HTTP has been appended.
+ The possibility of using up level proxy server has been added.
+ Now IP range for which the servers are avilable can be multiple. [28.09.02] Web Mail was updated Get 1.12 (25Kb)
Work with external POP3 servers has been optimised. Keys
for administrator to run with shedule auto checking new mail
on external POP3 servers by users orders, has been added. [27.09.02] Version 3.0395
+ Statistics for mail has been appended.
+ Proxy was updated.
+ Some bugs fixed.
+ Now server detects the trying to catch the password,
and doesn't receive next requests from hacker's hosts. [05.09.02] Version 3.0392 betta for Linux
It's nearly simelar with 3.0392 for Windows, but it has some differents
that are specific for UNIX.
E.g. CGI ident isn't used, the files that have "executable for
other" mode attribute are files to run. If server has a right to change
current user, the scripts will be run from user's id of the file. The
files that have "readable for other" mode attribute are files to return.
FTP support SITE command. Some other changes, see the description for detail
To install, download file and you may use next script, to unpack program,
update administrator's account, enable web administration, and change mode to execute:
#!/bin/sh
gzip -d shttplnx.tgz;
tar -xf shttplnx.tar;
chmod 0500 httpd.exe;
echo "Enter name for administrator>";
read N;
echo "Enter password for administrator>";
read P;
sed -e "s/# radmin/radmin/" -e "s/admin;none;/$N;$P;/" httpd.cfg |
{ declare -a A;
let i=0 j=0;
while read A[$i]; do let i=i+1; done;
while [ $j -lt $i ]; do echo ${A[$j]}; let j=j+1; done >httpd.cfg;
};
chmod 0600 httpd.cfg;
Or you may do same manualy.
This is betta, test version. Please notify about all mistakes that may be
you will be found.
[22.08.02] Version 3.0391
+ Autorization for proxy
+ Error file
+ Interface to NT Service updated.
+ Optimized
[14.08.02] Version 3.039
+ The support of virtual directory (common directory for all hosts) has
been added
+ Now server can run as NT servise.
+ Changes in HTTP and Proxy, persistent connections.
+ DNS over TCP, support AXFR requests
+ Statistics for DNS hosts
[24.06.02] Version 3.038
+ DNS server is updated. Reqursion and cache have been added.
+ Optional conversion names with space in FTP
[05.05.02] Version 3.0371
+ Blacklist in SMTP
+ "forward" file support to redirect or percolate messages
+ Virtual hosts may be alias domain name in SMTP
- Bugs in HTTP and Proxy was fixed
[11.04.02] Version 3.03672
[27.03.02] Version 3.0366
+ Statistics is updated.
+ Statistics by pages mode. (One table per page)
+ Proxy is updated.
[12.03.02] SendMail emulator for Small HTTP server. Get it (4Kb)
This program must be placed in directory upper then
OUTBOX or you must use key "-o" to direct OUTBOX
location. (In server's options SMTP must be enabled, and
full path for OUTBOX is hard recomended, to
send messages immediatle)
See description here
[12.02.02] Version 3.0365
+ Checking user's disconnect, when CGI is executed.
+ Variables REMOTE_USER and AUTH_PASS avilable for SSI.
[19.01.02] Version 3.0364
+ Proxy can store cache in hard disk.
+ Interface.
+ Optimized.
[17.01.02] External Web mail
Script gives Web intrface for working with mail. Also this
script, could load mail from other POP3 servers and store it into the user's mailbox.
[20.12.01] Version 3.035
+ Limitatition of SMTP message size.
+ Now server creates as much threads as realy nessesary.
+ SMTP server is updated. Now you can optional enable to send message from
any address. Also you can restrict IP range, that enable to send message via your SMTP.
+ Server correct works with file names that content space.
[7.11.01] Version 3.032
[12.10.01] Version 3.031
[24.09.01] Version 3.03
+ Now proxy can restrict remote IP, E.g. to enable use proxy only for local network.
+ ISAPI updated to most compatible with diferent DLLs.
- Bug in SMTP fixed.
[21.08.01] Version 3.022
+ exceptions from external ISA DLLs are intercepted by server.
+ when requested file is absent, server adds .asi* suffix to file name
and trys to find it. It is cose to make redirect for moved files.
E.g. if you move abc.htm to other host server you can just create
abc.htm.asi with next contents:
Status: 301 Moved Permanently
Location: http://www.abc.net/abc.htm
Content-type: text/html
<h1>Moved Permanently</h1>
Client's browser will immediatle go to the directed URL.
- Bug: In previous version, path to web root directory couldn't
content space. Fixed.
[03.08.01] Version 3.02
+ Now template character '*' is supported in default file
name. You can direct default file name "index.*" and server
may return "index.htm", or run "index.cgi" from cgi-bin, etc..
- SMTP server was updated. Now mail routing detects
correctly. Just direct DNS server in SMTP options, to use this feature.
+ DNS server was updated. If you would like to create your own dialup network, you can add
last record "your_ip * " to DNS-hosts file, and all request to
unknown hosts will be directed to your PC.
- When script includes from SSI, QUERY_STRING transfers correctly.
+ Some other little changes.
[01.07.01] Version 3.01
+ Local administration dialog box.
+ Optimised. [12.06.01] Version 3.00 betta (92Kb)
+ Administration & remote administration !!!
+ Full detail statistics !!!
+ FTP server
+ SMTP server
+ POP3 server
+ Proxy also uderstends ftp:// requests
+ List of files returns, when directory is requested and default file is absent
* LAN gate is removed.
? Now configuration doesn't build into .exe file. Now it's taken from http.cfg
* Other little changes...
It's free for registred users.
[28.04.01] Version 2.04
- Now, system predefined names (AUX,LPT1,PRN,etc.) are detected as bad request.
+ QUERY_STRING variable is visible for SSI.
+ Keys ssihtm, nossihtm have been added. Before SSI tags had been
checked in .sht*,.sml*,.asp* files only. Now optional SSI could be checked in .htm* files too.
[10.11.00] Version 2.03
+ User's mime types.
+ cgi_ident=\cgi-bin\ is a part of URL for identification CGI.
By default it is "\cgi-bin\", but now you can define it by your own
e.g. "\cgi-", "\local-bin\", "-bin\", ".cgi", etc.
+ now you can restrict number of simulate request from the same host.
- Bug: Before some memory didn't become free when request without file
specified name came and default file was absent. -- Fixed.
+ Protection. Server will work more steady when attacker sends out few "bad" requests.
[22.04.00] Version 2.00
With simple DNS server!
With HTTP proxy! Memory cache is up to 16 Mb.
With LAN gate: To make Internet access per Nowell
Netware Server on any PC into Microsoft Network.
Description of this version.
[29.02.00] Special version 1.216b (demo) betta
This version support dynamic DNS from http://www.dns4ever.com
+ key ddns=user_name;pasword;domain -- server will be connect to DNS4EVER
evry 5 minut for validate your IP.
+ key noddns to no use dynamic DNS
[19.02.00] Version 1.215 (demo)
[10.02.00]Version 1.215b betta (demo)
ASIS files support has been added. Those files content
HTTP header in the begining. Such files are being used for
redirect inbound requist to other site. This file must begins
with keyword "Status: " after this returning code and your
header is going. After header one line is empty, and data.
[28.01.00] Version 1.214b betta
+ key noicon not to add the icon into systrey
(server's window always in back)
+ key noshare not to use share directory;
[3.01.00] Version 1.212
[27.12.99] Version 1.210
In this version advanced setting can also be loaded from text file. [22.12.99] Version 1.209.
[15.12.99] Version 1.208 betta.
+ Multihosting support has been added. Now you can create
some different host names in your PC, link any name with own
web root directory.
+ Now any web directory could have own cgi-bin subdir. Free for registered users of previous versions.
[17.11.99] Version 1.207 is avilable now.
+ In SSI-tag if"part of ..." logic operation has been added:
"str1 ~ str2" -- the result is true, if the string str2 is the
part of string str1 E.g.:
<!--#if expr="$USER_AGENT ~ Win95" --> Text for '95 users only ... <!--#endif -->
[10.11.99] Version 1.206 [8.11.99] Version 1.206b beta
+ Resuming.
+ Method HEAD.
- Now, if the file name in SSI tag <!--#include virtual="name" -->
does not begin with a slash (/) then it is taken from directory of the curent document.
[19.10.99] Version 1.205 is avilable now.
+ Any CGI file extension can be associated with a specified application or DLL.
+ Protocol output has been optimized.
+ Setup prompt.
At the moment version 1.205 is available but up to November 3rd you
can register versions 1.204, 1.203, etc. (price $5
USD) and then get a free registration for version 1.205
[12.10.99] Version 1.204
- A bag with .phtml opening has been fixed. Now PHP works correctly.
+ Authorization
+ Internet Server Applications (ISA)
support. Free for registered users.
Page for registred users:CD version of Small HTTP server --
$75 USD for unlimited number of copies.
This version runs from CD (give SSI, execute scripts, etc.)
without installationLinks: