It is not only a web server, it is also
DNS server, FTP server, Proxy server... All in one!
This program will help you to open all the possibilities Internet can offer for your company -
public site, provide Internet access and personal mailboxes for each employee!
- HTTP server.
- Server Side Includes. Regular expression in SSI.
- CGI interface for scripts (Executable files; Perl,PHP, or another external interpreters)
- ISAPI interface.
- Virtual hosts and directories
- POP3 server.
- SMTP server.
- Anti-spam filters. Good, bad, and gray lists common and personal for each user.
- Forwarding and possibilities to execute scripts for income messages.
- Execute external anti-virus
- FTP server
- Virtual directories for FTP
- FTP proxy.
- HTTP proxy server
- HTTP, FTP, HTTPS request supported
- Store lot of traffic, fast access.
- Internal continues downloading when connection broken.
- Server can request compressed and unpack reply on fly (with an external Zlib library)
- DNS server
- Option for dinamicaly check a serverice on remote host and if the service down, change one IP address to other.
- Reqursion from root DNS or from DNS of provider. Caching.
- Option for autoreply to request to resolve IPv6 name. (for networks that don't use Internet through IPv6).
- DNSBL server (work with SMTP)
- DHCP server
- Full detail statistics. Include statiscs by countries!
- Web and local administration
- IPv6 support
- SSL/TLS support with an external library.
- GZip compression support with an external Zlib library.
Need another futures? You may order it!
Full free software!
*) This software is "small" by size of file only. Just the code is optimized. It named "HTTP" because, in past, first versions was HTTP only. Now it is powerful universal server software for small, middle, and big companies.
[22.02.20] Version 3.06.11
For Windows (MinGW) shttps_mg.exe (399Kb) MD5(shttps_mg.exe) = 6a1026bf41ee67101ceb0cba11ae0eda
- I found an error in the makefile generating the shttps_mg.exe distribution - when building the distribution, the executable file compiled by the DJGPP compiler was used, and not the one that was built using MinGW. Fixed.
[17.02.20] Version 3.06.11
Some antivirus programs persistently identify the Windows version of the Small HTTP server as a virus. I do not know exactly why this is happening, but I can suggest several reasons.
One possible reason is that it have original executable file format. I create Windows version executables using my own MKPE for DJGPP package, which I wrote many years ago. Indeed, the format of my PE .exe file is somewhat different from the usual one, however, it is understood by all versions of Windows and has several advantages, but it is probably what antiviruses don't like. The second possible reason is that executable files are packed, and even (oh, horror!) by my own non-standard archiver, which unpacks them on the fly before run. Probably, is too difficult for antiviruses to unpacking them.
Well, the third reason, it is possible that this is a server, including a mail server, and the installer has functions to add the program to startup or install it as a service, and such functionality looks extremely suspicious ...
I can do nothing with the third reason, but I can try to remove the first two by rebuilding the program using the MinGW compiler (Minimalist GNU for Windows) and not packing it.
Actually, I present this package of version 3.06.11 in addition to what has already present. Those this is the same version 3.06.11, compiled from the same sources, but by a different compiler.
- Fixed bug in Windows version SecLibGnuTLS.DLL
[12.02.20] Version 3.06.11
For Windows shttp3.exe (175Kb) MD5(shttp3.exe) = cd36116e744b22acae0ffc36eaf0a0e9
For Linux shttplnx.tgz (180Kb) MD5(shttplnx.tgz) = 07f8786712224af39b4bc6eaa0f06a37
For ARM (Linux) shttparmlnx.tgz (226Kb) MD5(shttparmlnx.tgz) = 0c7dd3a47aaa51762db7c75063064855
+ DNS over HTTP(S) aka DoH (RFC8484) has been added. This option switch on in HTTP settings and DNS server must be enabled for this feature.
+ The ability to set priorities for ciphers, key exchange methods and macs, has been added for the TLS/SSL server.
SecLib library that using OpenSSL has been rebuilt for this, and also an alternated SecLibGnuTLS library that using GnuTLS library has been created.
The Linux version package includes both libraries. These libraries require dynamically linked OpenSSL or GnuTLS installed on the system. Here is a SecLib_GnuTLS_static -- dynamic library for Linux with statically linked GnuTLS and many libraries that uses GnuTLS
And here is a SecLibGnuTLS.DLL with TLS/SSL based on GnuTLS for Windows. For this also need GnuTLS W32 available on gitlab
+/- Lot of little changes...
[14.12.19] Version 3.06.10
For Windows shttp3.exe (174Kb) MD5(shttp3.exe) = 0ebb1f97e2c785383c48f0f1bfd8aedb
For Linux shttplnx.tgz (183Kb) MD5(shttplnx.tgz) = 1cfdc10ed34c6dfb80c878384cc01d67
For ARM (Linux) shttparmlnx.tgz (224Kb) MD5(shttparmlnx.tgz) = 1f671c5fc5e2bf1cccf19776d086ed96
- Fixed FTP FEAT comand.
[12.12.19] Version 3.06.08
For Windows shttp3.exe (174Kb) MD5(shttp3.exe) = 6073b5780c140bb0cd8409c50a704deb
For Linux shttplnx.tgz (183Kb) MD5(shttplnx.tgz) = e1f689085970f46209b003c8d368cc5f
For ARM (Linux) shttparmlnx.tgz (224Kb) MD5(shttparmlnx.tgz) = 6d818e2003f56826e46ce07e58ac3870
+ FTP UTF-8 support has been added.
+ An attempt has been made to fix problems sometimes encountered when running the Openssl library.
Also (seclib with openssl-1.02t) has ben updated.
[16.11.19] Version 3.06.07
For Windows shttp3.exe (173Kb) MD5(shttp3.exe) = 8c40bb2c8a285217352e270e442b2d47
For Linux shttplnx.tgz (182Kb) MD5(shttplnx.tgz) = e00aa79d5bece9b197d54883bae4c132
For ARM (Linux) shttparmlnx.tgz (223Kb) MD5(shttparmlnx.tgz) = 4ff2e1ea5f0f0d1e656d849dc48cdd69
+ EDNS support has been added to DNS server.
+ Now DNS server enlarge TTL IP packet header field for DNS UDP packet.
+ Linux version change TOS IP field of DNS UDP packets.
+ Country code info has been added to Current state page.
[31.10.19] Version 3.06.06
For Windows shttp3.exe (173Kb) MD5(shttp3.exe) = 73b3c00c3beb70656c202110d59c83e2
For Linux shttplnx.tgz (181Kb) MD5(shttplnx.tgz) = 6e2296605be4fac0c55dd4b50c6b3ee5
For ARM (Linux) shttparmlnx.tgz (223Kb) MD5(shttparmlnx.tgz) = 12644196593105a6db8f9ad3121d784b
+ Now country code shown for each IP address in statistics (if IP-country base loaded)
+ Now the HTTP server can support '/$_ip2country_$?ip=22.214.171.124' request to return the country of the specified IP address.
* Another little changes.
[29.10.19] Created new IP-country base
Software77 is no longer support their free IP base, and now I try to make base by my own method.
This base has been created from Ripe, Arin, Lacnic, Apnic and Afrinic public bases...
[16.10.19] Compiled seclib102t.zip with the output of detailed information about errors that occur
Users email me about problems with some TLS certificates. If you have such problems, please use
the seclib library with output detailed information about the errors that occur
and send me information about where in which the error occurred,
I will try to fix ...
[14.10.19] Version 3.06.05
For Windows shttp3.exe (172Kb) MD5(shttp3.exe) = 9026f1c376be32ce72b9bc151d1ae8b0
For Linux shttplnx.tgz (181Kb) MD5(shttplnx.tgz) = 5b22c2e73597ba8d9e2979196d6719b5
For ARM (Linux) shttparmlnx.tgz (222Kb) MD5(shttparmlnx.tgz) = 024b88f405a79079d50578311e888f0a
+ Support for CAA record and corresponding request has been added to DNS server.
+ Changes in the DNS server: Now if there is a record in the host definetion file for a domain using a template and there is a record without a template that matches the template, then only the record without the template will be returned. (Excluding AXFR request)
+/- Other little changes.
The SECLIB library (for Windows) to support encrypted SSL/TLS connections has been updated. Now it is built with OpenSSL 1.02 and it also has version 1.02. A similar library for Linux has also been rebuilt. It is part of the Linux archive, does not include any specific version of OpenSLL, but dynamically connects the library installed on the computer.
Both versions of the library has been tested with help free certificates from letsencrypt.org
[04.10.19] Version 3.06.04
For Windows shttp3.exe (172Kb) MD5(shttp3.exe) = e3396c8643292bceb630e1391c66a733
For Linux shttplnx.tgz (180Kb) MD5(shttplnx.tgz) = 2ac0b4d7cb85256667581acbe9dff857
For ARM (Linux) shttparmlnx.tgz (221Kb) MD5(shttparmlnx.tgz) = 32927813ca006105799b0068564da36c
- In the web interface has been fixed a bug with the list file editing page and the host definition file editing page
+ Now when using "Daily log" , when one year passed, and file of previous year is present, the server will be automatically move old file to the subdirectory named as the year number.
[24.09.19] Version 3.06.03
For Windows shttp3.exe (172Kb) MD5(shttp3.exe) = bd0526320d4878d808d5a7c9e6a14c81
For Linux shttplnx.tgz (180Kb) MD5(shttplnx.tgz) = 9d77fac56f4e07fdf014f6e690c1b9d0
For ARM (Linux) shttparmlnx.tgz (220Kb) MD5(shttparmlnx.tgz) = 961b795ae3b1c6964a9c09467be4fe61
After long pause... a lot of new changes:
Now the program is full free! And more, it will be OpenSource under GPL License. Now the source is not ready for publication yet, does not cleaned of old comented part of code, etc, but it will be ready soon... There I cannot help whining about the fact that now the new Russian laws have practically deprived the independent Russian programmers of the opportunity to sell their shareware products on their own... What we can do? We can create the program solely out for love for this great art, or make something other? I don't know!
I love art, but not only that! Therefore, I accept donation of any size to the crypto wallet 1EGKTcwY3ofqJ6NfM397TE6sttk1yJYYuG . Thank you so much for your 10 cents !
+ Now support of separated loadable language pack file has been added. This give possibility to make any localisation of the program. The language file
named 'shs_lang.cfg'. The file is the same for Windows and for Linux versions. If this file is placed in the same directory where placed
configuration file, the program load strings from this file. If the file for your language is not precent there, then you can make
it yourself, just translate the file from some other language. If you do it, then you may send me the result, it will be including in the next packages
and it will be a vailable for download on the site. File format description precent in the lang_notes.txt.
+ For HTTP, Proxy and web-mail support of two variant of MD5 Digest authorization (RFC2069/RFC2617) has been added, but this authorization method is posibly only in case when the server know original passwords, when these stored in config file.
+ If somebody don't want to store the password in the config, and also don't want that it transfer by network from the user, that want to use MD5 Digest authorization, now the program can store MD5 Digest of the password instead the password in RFC2069/RFC2617 format.
+ APOP authorization method has been added to POP3 server. But, it also will be posibly only in case when the server know original passwords, when these stored in config. And in this case passwords stored in MD5 Digest format will not work.
+ For ARM version telnet server has been added. (For other platforms this is hardly relevant)
+ To the table of state DHTP, for each IP address date and time of last access has been added.
+/- Lot of other big and small changes...
[02.02.11] Version 3.05.92
For Windows shttp3.exe (145Kb) MD5(shttp3.exe) = 50aaf6913329c08eb8be0560cb5a2434
For Linux shttplnx.tgz (126Kb) MD5(shttplnx.tgz) = 21b990f2aa854242881e6e32875e2bc4
For ARM (Linux) shttparmlnx.tgz (138Kb) MD5(shttparmlnx.tgz) = dfdda60cdf3393cf05e2dcd0e45390c8
+ Little changes in FTP
+ In DNS server, for $IF_DOWN derective, if remote service is down, now the server also update SERIAL in SOA record.
[17.10.10] Version 3.05.91
For Windows shttp3.exe (145Kb) MD5(shttp3.exe) = aab39a85e112bd27c31041e5f7ffa9d5
For Linux shttplnx.tgz (125Kb) MD5(shttplnx.tgz) = 625ad6dd0dcd368ce2efcb19e7a28438
For ARM (Linux) shttparmlnx.tgz (138Kb) MD5(shttparmlnx.tgz) = 8be89eb52c47e5ab97d2c9c61eb97d5a
- Fixed some bugs in DNS.
[12.10.10] Version 3.05.90
For Windows shttp3.exe (144Kb) MD5(shttp3.exe) = d49a48e5177a50093fc9d31926859e8b
For Linux shttplnx.tgz (125Kb) MD5(shttplnx.tgz) = 625ad6dd0dcd368ce2efcb19e7a28438
For ARM (Linux) shttparmlnx.tgz (138Kb) MD5(shttparmlnx.tgz) = 8be89eb52c47e5ab97d2c9c61eb97d5a
[12.09.10] Version 3.05.89
For Windows shttp3.exe (144Kb) MD5(shttp3.exe) = f9ae958e3dbedaf93581ad9a15105aac
For Linux shttplnx.tgz (124Kb) MD5(shttplnx.tgz) = 66c855c48e555089592c1e0638ce067f
For ARM (Linux) shttparmlnx.tgz (137Kb) MD5(shttparmlnx.tgz) = ad82774d17269344b9687109cd304797
+ DNS server has been full rewrited. Now, it support personal TTL in each record. Ca˝hing and reqursion search will work better.
+ UTF conversion has been added to Web mail.
+/- Too many another little changes.
[28.06.10] Version 3.05.88
For Windows shttp3.exe (143Kb) MD5(shttp3.exe) = ebb7185520fbac26dcdcd6b99cb86c91
For Linux shttplnx.tgz (124Kb) MD5(shttplnx.tgz) = 6377d31210190b976cfdb4b2cbbd073b
For ARM (Linux) shttparmlnx.tgz (135Kb) MD5(shttparmlnx.tgz) = e4de00362c0d6144d343b982074947ab
[26.06.10] Version 3.05.87
For Windows shttp3.exe (143Kb) MD5(shttp3.exe) = 6a45aafb57c54dcf19d99206b606ffb1
For Linux shttplnx.tgz (123Kb) MD5(shttplnx.tgz) = 0005a21b77bb4f45e63c19f2fd6e5617
For ARM (Linux) shttparmlnx.tgz (135Kb) MD5(shttparmlnx.tgz) = cec61477f7b1019a83e464ff19a4ea1d
+ Proxy has been updated. Now, the proxy may connect to antivirus and send to check income file. Optionaly proxy may require to check applicaton only, or all files. Now this has been tested with ClamAv that has been runing on Linux host. (Antivirus may be installed on remote host, in server options you may direct hostname and TCP port)
- DNS server has been fixed.
- The problems with IPv6/IPv4 addapter only bind has been fixed.
+/- Too many another little changes.
[12.03.10] Version 3.05.86
For Windows shttp3.exe (141Kb) MD5(shttp3.exe) = d4956a781b867045ca65931d813608e3
For Linux shttplnx.tgz (122Kb) MD5(shttplnx.tgz) = 731faf0d6b4ff3cf30902609ac22309a
For ARM (Linux) shttparmlnx.tgz (134Kb) MD5(shttparmlnx.tgz) = 5b7349730f4053b08356f249dc1b88ff
+/- WebMail has been updated.
+ SMTP server has been changed. Now in badlist and graylist you may use $checkhello variable. The server will check does in 'hello' is valid hostname
If hostname is valid then $checkhello =1 else $checkhello = 0
+ Little changes in CGI
+/- Too many another little changes
[25.02.09] Version 3.05.85
For Windows shttp3.exe (140Kb) MD5(shttp3.exe) = ec773552f5d112faffdb48e739dc14bc
For Linux shttplnx.tgz (127Kb) MD5(shttplnx.tgz) = 63fc0174df000c77c4fe436a750b4794
For ARM (Linux) shttparmlnx.tgz (133Kb) MD5(shttparmlnx.tgz) = 10e751a9058a7d8c42c9eb3f028e1dc4
+/- WebMail has been updated and fixed
+ Posibility to change own password for users has been included in WebMail interface.
+ Now server can try to detect UTF8 in names.
+/- Little but important changes in DNS, Proxy, HTTP
[01.01.09] Happy new year! Version 3.05.84
For Windows shttp3.exe (140Kb) MD5(shttp3.exe) = ea66134387229cc7f31386e799709e3e
For Linux shttplnx.tgz (126Kb) MD5(shttplnx.tgz) = bdd9884a5e8cb950ac6e45490976eb45
For ARM (Linux) shttparmlnx.tgz (132Kb) MD5(shttparmlnx.tgz) = 2c995d8623b61cd8887e15d8bbaebd20
DNSBL server has been added to DNS server. It work with SMTP server, and public the IP addresess from internal badlist.
For check on this feature just direct the name of DNSBL server in DNS settings. Use this name on remote SMTP servers.
Read more about spam protection.
Little changes in HTTP, Proxy, SMTP.
[11.10.08] Version 3.05.83
For Windows shttp3.exe (139Kb) MD5(shttp3.exe) = 4a4355917d16bfffe5d0a2f6a8200cb9
For Linux shttplnx.tgz (126Kb) MD5(shttplnx.tgz) = b79aa015e2c9987c60b3f67f86e9755c
For ARM (Linux) shttparmlnx.tgz (132Kb) MD5(shttparmlnx.tgz) = 1e6ee65611ca54d9150ac65a752015f7
+/- Changes in HTTP and Web administration.
+ Version for ARM Linux (usualy for embeded systems) has been compiled.
[12.09.08] Version 3.05.82
For Windows shttp3.exe (139Kb) MD5(shttp3.exe) = add55b1305a835aa5884890fa60a54f9
For Linux shttplnx.tgz (125Kb) MD5(shttplnx.tgz) = b968371974afec07b330f6523458039e
+ Web administration (statistics and current state pages) has been made more usefull
+ Now, in SMTP settings, you may direct more then one fake e-mail address. Fake addresses it is very effective way to filtring spam, -- you may just public this address anywhere (may be in invisible area of the web page), and if somebody try to send message to it, the server will shure that it is spamer and block the IP.
+ Folders support has been added to POP3 and WebMail. This may be usefull for auto sort messagess e.g. from 'forward' or antivirus scripts. To access to user's mail sub-folder via POP3, in mail program create the account and direct "user/folder_name" as user name.
[15.08.08] Version 3.05.80
For Windows shttp3.exe (138Kb) MD5(shttp3.exe) = 4b77540ee2ac1e27300a288b277e6601
For Linux shttplnx.tgz (124Kb) MD5(shttplnx.tgz) = 09193562e7a2d392ef7d874e7957af27
+/- Little changes in FTP and Web administration.
[15.06.08] Created HTTP, FTP, Mail abd DNS libraries for sowtware developpers. With this modules easy to include server's function in any products.
[14.06.08] Version 3.05.78
For Windows shttp3.exe (137Kb) MD5(shttp3.exe) = c0f055bdc30e12c17747c6f5ee0eb9e2
For Linux shttplnx.tgz (124Kb) MD5(shttplnx.tgz) = 871b2e14fca190d35f443e4b8cc33e0a
+ New antyspam futures has been added to SMTP server. Now users may add DNSBL servers to check incomming to they personal 'badlist' and 'graylist' files and DNSWL servers to personal 'goodlist' file.
To use this futures add line:
?? dnsbl1.server dnsbl2.server ...
to list file.
+/- Other little changes
[11.05.08] Version 3.05.77
For Windows shttp3.exe (137Kb) MD5(shttp3.exe) = a7ef7f28b984ab93690b2ed36eee7f7a
For Linux shttplnx.tgz (123Kb) MD5(shttplnx.tgz) = 53aec5a3a69610d862293581952149d9
+ Webmail has been integrated. If Web Mail enabled in settings, the users that have POP3 access may use it by http://your.host/$_wmail_$ Web mail avilable only from IP addresses from POP3 range.
+ New feature has been added to DNS server, now it may check a serverice on remote host and if the service down, change one IP address to other: $IF_DOWN derectives now undestand in host definetion file. Format of derictive:
$IF_DOWN host:port interval Old.IP=New.IP -- By this option server will try to connect to the host:port for time interval (in seconds), and if fail in each record with Old.IP it will be replasing to New.IP.
+ Web administration has been updated. Now you may edit host definetion file, the lists, antivirus file from administration pages.
+ Posibility to bind to directed addapters (IP adresses) only has been added.
+/- Many other...
[27.01.08] Version 3.05.76
For Windows shttp3.exe (125Kb) MD5(shttp3.exe) = 596f04e5fda1af2efc747ab86b26cb01
For Linux shttplnx.tgz (111Kb) MD5(shttplnx.tgz) = 5cc0032a27a83aeb46b136ce910ec69d
For FreeBSD shttpbsd.tgz (106Kb) MD5(shttpbsd.tgz) = 883d4049b9910b94609e425d93eeb613
+ To DNS server has been added option "Don't try to recursive find AAAA records. (for networks that don't use Internet through IPv6)"
+/- Little changes in FTP and SMTP
[12.01.08] Version 3.05.75
For Windows shttp3.exe (125Kb) MD5(shttp3.exe) = df5772ca3d97f5529c46e536ebc34d3d
For Linux shttplnx.tgz (111Kb) MD5(shttplnx.tgz) = ad89a2fd1fa19ed0d5a873d2c3ee51df
For FreeBSD shttpbsd.tgz (105Kb) MD5(shttpbsd.tgz) = 7410f56a5d9276b18325645ec348f7a6
+/- Changes in HTTP,SSI,Proxy,SMTP,etc.
[10.10.07] Version 3.05.74
For Windows shttp3.exe (124Kb) MD5(shttp3.exe) = 37b3d6b2fa6bda6c34e3eaaf72283cf2
For Linux shttplnx.tgz (111Kb) MD5(shttplnx.tgz) = 2794c42cd96d0a4e61ff793f68bd9570
For FreeBSD shttpbsd.tgz (105Kb) MD5(shttpbsd.tgz) = 63bd9ed7f950af03dacc63b650f42f4f
+/- Changes in DHCP,HTTP,FTP,Proxy.
[25.09.07] Version 3.05.73
For Windows shttp3.exe (124Kb) MD5(shttp3.exe) = 68a4d128bf8655df1ea17c21ebe061b3
For Linux shttplnx.tgz (111Kb) MD5(shttplnx.tgz) = c83ea4f37191e09e779e95c626eede14
For FreeBSD shttpbsd.tgz (105Kb) MD5(shttpbsd.tgz) = 9b6f955d18314fb5ae7e849d16e808a9
+ IPv6 address support has been added to the proxy. IPv6 corrected.
+ Little changes in HTTP, SMTP, DHCP.
[08.09.07] Version 3.05.72a
For Windows shttp3.exe (124Kb) MD5(shttp3.exe) = 0c79715659e520fb284d097f382b4511
For Linux shttplnx.tgz (110Kb) MD5(shttplnx.tgz) = 94df382b3ca0bfdd97e22196eceade4a
For FreeBSD shttpbsd.tgz (105Kb) MD5(shttpbsd.tgz) = 70956debb8c5fdef62557131e518c75c
- IPv6 for HTTP corrected
+ Little changes in SMTP.
+ Advanced protection for one type of DoS has been added.
[05.07.07] Version 3.05.71a
For Windows shttp3.exe (124Kb) MD5(shttp3.exe) = 1eb15f19afe77f525510b2a3f2f7aba3
For Linux shttplnx.tgz (110Kb) MD5(shttplnx.tgz) = c31fa60f1b71d3096c1c87688258d635
For FreeBSD shttpbsd.tgz (104Kb) MD5(shttpbsd.tgz) = 3b587b7b3707ca5dd188f5ec6fa1dac2
+ Updated format for IP-country database.
+/- Little changes in Proxy,HTTP,SMTP, Statistics
[24.05.07] Version 3.05.69
+ New antispam features has been added to SMTP server. "Graylist" -- it is common or user's personal file like "goodlist" and "badlist", may content, e-mails, IPs adresses, regular expresion paterns etc. If any of condition from common or personal "graylist" will true, server will not receive
message immidiatle, for a time or until IP will not checked. This will well work with fake e-mail address. The message will be receive after little time if sender don't try to send something to fake address.
+ Little changes in ISAPI. Php5isapi.dll must work as PHP interpreter.
- FTP and Proxy limits has been corrected.
[10.05.07] Version 3.05.68
+ Now in options for web root directories you may direct a URL link to another web server.
In this case when resource will be required the server will work like proxy.
+/- Proxy has been updated
+ DNS has been updated