If server works it's avilable:Users & Virtual Hosts Current statistics (Last version, Forum, etc.) Upload Web Mail An external script gives Web intrface for working with mail Registration. E-mail... |
This very small utility turns your computer into a fully functional Web-server. The program itself requires a minimal set of system resources, so the server's functioning doesn't influence your computer's performance. This server can function under a LAN networking or even under a Dial-Up networking. Webmasters can run this utility on their local computers and debug their CGI-scripts without going on-line.
This is probably the smallest HTTP server, but you shouldn't
underestimate its capabilities.
ASIS files also support. Those files content HTTP header in the beginning.
Such files are being used for redirect inbound request 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. Extension must be
.asi or .asis
Parametr and comment | Key |
General Setting | |
Disable icon in taskbar. Don't add icon into systrey (server's window always in back). In this case to get access to administration dialog box you must: To get server window you can press Ctrl-Alt-Del to open task manager, in task manager select Http, and try to kill it. Server will ask you "Do you want to close HTTP server?" , -- If you reply "No" server show window. In server window's select system menu (Right button on title) and select advanced item "Server" | noicon |
Minimize on startup. | hide |
Detail log for POP/SMTP/FTP. Otherwise only basic event are added to log. | detail |
Disable saving log. | nolog |
Store log. Log file name to save. | log=name.log |
New log file every new day. Server will every day rename old log file (add date to name). It's necessary to get statistics for a day. | logday |
Enable to remote administration. Otherwise, only statistics will be available for administrators. | radmin |
Users from the same host. You can restrict number of simulate request from the same host. Usually one browser creates four simulate connections. Some browsers try to create much more simulate connections. This restriction includes all TCP connections (HTTP,FTP,POP,SMTP,Proxy) | from_same_host=## |
HTTP server | |
TCP/IP port for HTTP server. Usually it's 80 | port=## |
How many HTTP requests will be working in the same time. About 20Kb of memory will be reserved for each simulate thread. Usually 5-12 connections are enough for 3-8 visitors per minute. | max=## |
Default file name. Name when requested URL finished by "/". You can use wildcard character '*'. E.g. index.* to direct any index file in foulder) | def=name.ext |
Default web foulder. | dir=root_dir_name |
CGI ident. It's a part of URL for identification CGI. By default it is "\cgi-bin\", but you can use e.g. "\cgi-", "\local-bin\", ".cgi", etc. | cgi_ident="\cgi-bin\" |
PERL interpreter. Interpreter for scripts with .pl extension | perl=path\name.exe |
Share dir. If you want this dir to be CGI current dir always, direct it here. Otherwise CGI current dir will be CGI script dir. | share=path |
Enable to checks Server Side Includes (SSI) in HTML files. By default server checks SSI in .sht*,.sml*,.asp* files only. Warning: It requests more memory, and work longer | ssihtm |
Key to check SSI in .sht*,.sml*,.asp* files only. | nossihtm |
The limit of receiving by POST method in bytes. Don't direct big value because it's may preoccupy your PC and network. | post_limit=## |
Never run .htm,.gif,.jpg files. Otherwise, server trays to run any file with CGI ident. | norunhtm |
Limit of time for CGI execution. In seconds. | cgi_timeout=## |
ext=".ext;application;.ext;application;..." | |
mime=".ext1;mime-type1;.ext2;mime-type2;...;.extN;mime-typeN" | |
hostpath="hostname;path" Key may be repeated more then once. | |
Proxy server | |
Disable HTTP proxy. | noproxy |
TCP/IP port for proxy server. | proxy=#port |
How many proxy requests will be working in the same time. | proxy_max=#max |
Cache size (Kb). It's memory cache size. | cache=proxy_cach_size |
Least IP address that enabled to use proxy. | proxy_ip_min=#.#.#.# |
Most IP address that enabled to use proxy. | proxy_ip_max=#.#.#.# |
Disable to save cache in hard disk. | noproxy_dir |
Cache proxy directory. | proxy_dir=path |
For how many days files will be saved. Proxy can delete downloaded files from cache proxy directory after several days of last download. In any case, if user press "Reload" button files download again. | proxy_time=#days |
DNS server | |
Hosts file. See also format of this file | hosts=hosts_file |
Disable DNS server. | nodns |
To remote redirect server. Current IP notification | |
URL on redirect server. Full URL to update your IP address on dinamic DNS server. "$IP_ADDRESS" to insert your real IP address into URL. | ddns=url |
Time to re-confirm your IP on redirect server. | ddns_time=#N |
Disable dynamic DNS. | noddns |
FTP server | |
Disable FTP server | noftp |
How many FTP requests will be working in the same time. | ftp_max=max |
TCP/IP port for FTP server. Usually it is 21 | ftp_port=port |
Limit of user timeout in second. If user doing nothing during this time, connection will close. | ftp_timeout=#N |
POP3 server setting | |
Disable POP3 server. | nopop3 |
How many requests will be working in the same time. | pop3_max=max |
TCP/IP port for POP3 server. Usually it is 110 | pop_port=port |
SMTP server setting | |
Disable SMTP server. | nosmtp |
How many requests will be working in the same time. | smtp_max=max |
SMTP server name. (Domain name) | smtp_name=your.domain.name |
Use all virtual hosts as alias domain name. | vhalias |
TCP/IP port for SMTP server. Usually it's 25 | smtp_port=port |
Output path. Directory to store messages before send | smtp_out=path |
Sent path. Directory to store messages after sent | smtp_sent=path |
Error path. Directory to store messages, that can't be sent | smtp_err=path |
DNS server to get mail routing info. (May be your default DNS server) | smtp_dns=#.#.#.# |
Receive to send with any "From" field. Otherwise server will send message from user_name@your.domain.name | smtp_any |
SMTP range. Low user's IP | smtp_ip_min=#.#.#.# |
SMTP range. Height user's IP | smtp_ip_max=#.#.#.# |
Blacklist. E-mail addresses of spamers listed through space. (May be *@host.name to disable receiving from any address of this host) | blacklist="u@adr1 *@adr2 ..." |
Enable to check "forward" file in user's directory and do instruction from it. | forward |
Enable to execute applications from user's "forward" file. | fwdrun |
user="name;password;home_dir;type_of_access_flags"
type_of_access_flags -- It's sequence of next symbol:
Key may be repeated more then once.
user=anonymous;;c:\public;FWN user=ftp;;c:\readonly;F |
http.exe port=1080 def=index.html php="C:\PROGRAM FILES\PHP\php.exe" nologHere is an example of configuration file:
log=C:\TEMP\http.log perl=C:\PERL\BIN\perlis.dll # supported !!! max=12 def=index.stm @www.cfg # include other configuration file hostpath=www.name.www;C:\WWW1 hostpath=max.name.www;C:\WWW2 # End of file
Current server version supports the following tags:
include
<!--#include virtual="path/file_name" -->
<!--#include file="full_path/file_name" -->
Both variants include the content of file_name in the document. In first
case it looks for the document from the web root directory, in the second
case you can define a path for the document. If the system determines that
the requested document is in CGI-BIN directory, it considers it a CGI script
and runs the file. If the file_name contains the "?" symbol, the string after
it is transmitted as a request with parameters which should be processed by
your script.
exec
<!--#exec cgi="file_name" -->
<!--#exec cmd="full_path/file_name" -->
Runs the script like with "include" tag.
fsize & lastmod
<!--#fsize virtual="path/file_name" -->
<!--#fsize file="full_path/file_name" -->
<!--#lastmod virtual="path/file_name" -->
<!--#lastmod file="full_path/file_name" -->
Shows file size and last modified date.
echo
<!--#echo var="var" -->
Prints variable value.
printenv
<!--#printenv -->
Outputs the values of all variables.
break
<!--#break -->
Breaks procession of the document.
if -- elif -- else -- endif
<!--#if expr="expression" -->
text
<!--#elif expr="expression" -->
text
<!--#elif expr="expression" -->
text
...
<!--#else -->
text
<!--#endif -->
The text will be either shown or not depending on the outcomes of
specified conditions. The conditions can consist of variables and values as
well as different logical operators between them:
! -- "Not"
= or == -- "Equal to"
!= -- "Not equal to"
<,>,<=,>= -- "Less than", "Greater than", "Less than or equal to",
"Greater than or equal to".
~ -- "Part of..."
str1 ~ str2 -- the result is true, if the string str2
is the part of string str1
&& --"AND"
|| --"OR"
elif and else operators can be omitted, elif
can be repeated as many times as you need. It's necessary to put the
endif tag at the end of your statements.
set
<!--#set var="variable" value="value" -->
Sets or changes the value of the variable. Although, try not to use this
feature too often because the number of variables and memory allocated for
them is somewhat restricted.
You may specify memory cache size in Kb. Size must be up to 16 Mb (16384 Kb). Zero, to disable caching. Recommended size is 2-4 Mb.
4 Mb will be enough in most cases. If caching is enable you can view files
into memory cache using URL http://proxy/ in your browser. This URL will be
work only if your browser connect through this proxy, and memory cache is enabled.
See also command line keys descriptions
This version content simple DNS server. To run you must specify
hosts file. This file have standard format: Every line must content IP
address and name of host. Comments begin with symbol '#'.
Domain name in this file could begin from '*.' to descript all subdomain.
Example:
# Here example of hosts file for local network begins. 194.45.68.21 www.max.local 194.45.68.21 max.local 194.45.68.20 *.max.local 194.45.68.22 www.boss.local 194.45.68.23 serg.local 194.45.68.26 www.serg.local 194.45.68.24 *.andy.local 194.45.68.25 *.mary.local # etc ... # To create your own dialup network add last record: 194.45.68.20 * # -- Redirect all unknown incoming request to 194.45.68.20 # end of hosts file
SMTP server can:
# Here is the example of forward file. #if $in_text(boss@address) !d:\perl\bin\perl.exe autoreply.pl #endif #if $in_text(100% FREE) !deltree /Y #elif $size_kb<=20 && ! ( $in_text(boss@address) || $in_text(@private.address) || $in_text(do not redirect) ) my_home@address [email protected] #else !d:\perl\bin\perl.exe check.pl #endif # End of forward fileSee also command line keys descriptions