CountServer WWW Homepage Access Counter Server For OS/2 Warp CountServer is a multi-threaded OS/2 HTTP server program that serves a GIF counter image for your homepage. Being written as a standalone server program, it caches everything in RAM and takes a much smaller percentage of the CPU and disk resources on your server than CGI counter programs. [CtServer Beta Release 1.9b01] Release: May 27, 1996 Expires: Aug 1, 1996 Download: http://www.knowledgy.com/ctserver/ Requirements * OS/2 Warp Connect or * OS/2 Warp with TCP/IP Stack from Bonus pack or * OS/2 Warp Server Features [*] Does not require server-side includes Program runs with any Web server. [*] Manage multiple counters CtServer can now store and return multiple counters and their values. Each counter is given a name and is passed in the URL. Each counter also has the date of it's first hit stored. This date can be returned as a GIF image. [*] Parameters from either parameter file for passed on URL Styles are created in the parameter file. Each of these styles can specify any of the optional features. This way, you only have to specify a counter like this: "http://www.yourserver.com/cnt2" Parameters can also be passed from the URL. A combination of the two can be used, with the URL tags overriding the style tags. [*] 3D Frame around digit image set to any color and any width. This frame is optional and can be of any thickness from 5 to 50 pixels. The color of the frame can also be specified. [*] Set maximum number of digits to display The maximum number of digits is what limits the highest count. If the maximum count is reached, a GIF message stating that the maximum count has been reached is returned. [*] Optional leading-zeros [*] Set number of threads The number of threads that are service client request can be specified. [*] Beep on incoming request This optional feature makes the server beep every time a client request for a page arrives. This is handy for testing or for lightly loaded servers. [*] Preset counter to any value Any counter can be preset to any value from a web browser. This feature password authenticated. [*] Prevent counter from incrementing A counter can be advanced on a hit without displaying. This is done by returning a 1 bit transparent GIF. [*] Create named styles with parameters Named styles can be created in the parameter file with all the parameters needed. This means that you only have to pass the style name to return a counter, time, date, etc. [*] Prevent passing of paramters on the URL For closed servers that need protection, only the counters and their parameters entered in parameter file as a style will be returned. [*] Store first hit date for each counter The first time a counter is requested from a client, the date of that first request is stored. This date can be displayed automatically by returning a GIF either textually (e.g. Hits since Apr 26:), or as a numerical date (e.g. 04-26-96). [*] Prevent repeated counter incrementing One of the problems with counting every time a client request a page from a server is what happens it the client re-loads the page. This a give an over-inflated count. CtServer can prevent a counter from incrementing if the same client has re-requested the page in less than a specified time. [*] Return Time GIF The local time of the server can be returned as a GIF image in either 12 or 24 hour time. [*] Return Date GIF The local date of the server can be returned as a GIF image. A format string can be used which specifies the actual format to display the date (e.g. MDY, M-D-Y, DMY, etc,). [*] Return random number GIF A random number can be automatically generated and returned as a GIF image. [*] return literal number A literal number can be passed on a format tag and returned as a GIF image. [*] Rotate image Any of the returned GIF images can be rotated 90,180, or 270 degrees. [*] Display all counter values An HTML page can be returned which has the count and first hit date of each counter currently stored by the server. This command is password authenticated. [*] Display all parameter file values An HTML page can be returned which shows all the values in the server parameter file. The values for each style is also displayed. This command is password authenticated. [*] Login and password protection Some of the commands to the server, such as preset counter value, are protected by a login name and password stored in the parameter file. When one of these commands is requested, the standard Web authentication mechanism is used. [*] Multiple digit GIF images The server comes with a collection of digit GIF images. Each counter can use a different digit style. These digit GIFs are loaded at server startup or when requested. This is one of the features that makes CtServer so fast and take very little load on the server. Each digit style has all the digit values stored as 1 GIF for compactness and speed. CtServer comes with a utility, DMERGE which combines digit GIFs into 1 GIF for any digit GIFs you may have downloaded from the Web. Copyright Copyright 1996 by R. Frank Mena. Permission to use this program for any purpose is hereby granted without fee, provided that this copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and the author's name not be used in advertising or publicity pertaining to distribution of the software without specific written prior permision. If the program is included in a book, publication or software distribution media for sale, the author must be notified about it. THIS PROGRAM IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHOR R. Frank Mena BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Note: This program was developed on my own time. My employer Knowledgy, Inc. has nothing to do with it. For documentation, see http://www.knowledgy.com/ctserver/ Frank Mena