The contents:

  1. Installation "Progress-TM" on the server
  2. Starting up
  3. Setting anticheat modules
  4. The general concepts
  5. Menu Settings:
  6. Top Lists
  7. Content files


Installation "Progress-TM" on the server

  1. Set the permissions "777" on the root directory
  2. Copy file (binary mode!) "install.php" to the root directory and set the permissions "777" on this file
  3. Type in your browser.
    All necessary files will be copied automatically.  
    After installation, make sure that file install.php deleted from your server!


Starting up

There is 2 ways to count incoming traffic in Progress TM script.

    Fisrt way (recommended):

Include whis code into your .shtml files:

or include this code to your .php files

    Second way:

Create a file ".htaccess" (or modify if it is already present) and type it in the next line:

This file should be in the root directory of your site.

What the difference between first and second ways?

  • First way (with ssi_in.php) works faster for your surfers.
  • Second way (.htaccess + in.php) allows you to show different pages for non-unique visitors and show different pages for each of your trades.

Authors of this script will be grateful to you if you place this code at the very bottom of your page:

Setting anticheat modules

The settings are optionally. Use it if you want to detect hitbots in the traffic from your trades.
There is several ways to detect hitbots in the Progress TM:

  1. Most primitive way. Set anywhere on your main page invisible link like this:

    Real visitors can't click on this link because it's invisible on the page. But stupid hitbots can :)
    In future, you might see who clicked on this link, in the 'Link stats'.
  2. Bots detection using img.php. Insert the code anywhere on your main page:

    Real people will load this invisible image. But some bots won't. The traffic, who not loaded this 'image' will be called as 'noimg' traffic. You can do this traffic anything you want, for example send only to galleries, not to trades. More details in the out settings.

    Very importamt notice.
    If you turned on Use 'no img' traffic filtration in the 'Out settings', but forgot to insert the code with img.php on your main page - all your traffic will become 'noimg' and will be treated according settings for 'noimg' traffic! Be careful.
  3. Most advanced way. Put this code between <head> and </head> tags:

    Real people with real browser will parse this javascript source (in the filter.php) and will get some cookie. But bots can't parse this script, because it's not static. So, everybody who can't parse this code and haven't some cookie will be called 'filtered'. You can send this filtered traffic away from trades (see 'Out settnigs'). 

    Very importamt notice.
    If you turned on Use traffic filtration in the 'Out settings', but forgot to insert the code with filter.php on your main page - all your traffic will become 'filtered' and will be treated according settings for 'filtered' traffic! Be careful.

You can use all 3 ways at the same time.

The general concepts

Parameters and characteristics of a trade

  1. In – the amount of raw INs from a trader
  2. Out - the amount of raw OUTs to a trader
  3. Clicks - the amount of raw generated clicks by a trader
  4. Trade status - the status of the trader. It can be active - an active trade, disabled - the trade is stopped by the administrator; and auto-stopped - the trade is automatically stopped by the script.
  5. Hourly forces – forces per hour (it is set manually). Operational only when set for a concrete trader
  6. Force now - instant disposable forces (it is set manually). The amount set here is given to the trader once. It is recommended to apply these forces to start a new trade.
  7. Factor - factor of increase/ decrease of a trade (it is set manually). Specified factor will be multiplied on the calculated value of the given traffic % on a trade. This parameter can considerably change the "feedback" level for the concrete trader; be cautious when choosing the parameter value.
    Values from-5 up to +5 are accepted. A default value of '1' is set for all traders.
  8. Set ratio - Set ratio – the ratio(Out/In) *100 (it is set manually). It is used at type of trade Ratio as the basic parameter
  9. Max ratio - Maximum (limiting) ratio (it is set manually).
  10. Return - Real ratio - (Out/In) *100 – calculated from the current parameters of a trade
  11. Min trade required - a required minimal trade (per day) for continuation of a trade.
  12. Trade scheme - the scheme of a trade for the concrete trader (it is set manually). More about trade schemes. A default value of 'Default' is set for all traders.
  13. Prod - general efficiency of the trader (Clicks/In) *100.

System traders
 Them 7:

  1. bookmark - all those who have no referrer on in.php (on an input)
  2. nocookie - all those who have no cookie on out.php (on an output)
  3. noref - all those who have no referrer on out.php (on an output)
  4. redirected - all those who are redirected by in.php or by out.php
  5. notcounted - all those who are redirected by in.php and by out.php BUT are not included thus, and also fast clicks and clicks from visitors in addition to the maximum number of counted in clicks.
  6. notrades - the traffic which does not belong to any trader
  7. gallery - outs on galleries.
  8. se- traffic from search engines, like,

Parameters out.php

p = [%] – content percentage (for example out.php?p=60). It is used only together with the parameter URL or c. p parameter has the greater priority, than the scheme of a trade set in the trader’s settings.

URL = [URL] - URL of a content (gallery, the sponsor and etc) the visitor should be sent to. For example: out.php?url=http: // - with 60% probability the visitor is sent to If parameter p is not specified in the link, the probability of going to the specified URL is taken from the trade scheme for the concrete trader or for the traffic type

c = [content_file_name] – The visitor is sent to an occasional URL from the content file (the name of the file is indicated WITHOUT extension .dat). For example out.php?c=archive&s=3 - the visitor will be sent to the occasional URL from the file archive.dat with the probability described in the scheme of the trade ¹3 (more…)

s = [scheme_num] - the scheme of the trade (for example out.php?s=2). If the parameter s is missing, the scheme of the trade set for the concrete trader or for the traffic type is used. If the parameter s is transferred, it has the greater priority, than the scheme of the trade specified in trader’s settings. If the parameter p is set, the parameter s is ignored (parameter p has the greater priority). More about trade schemes here…

fc =1 – send first click to content (to galleries).

link = [link_name] - a link label for the following analysis in the admin zone. For example: out.php?p=60&link=archive

to = [domain_name] - it is used to send the visitor to the concrete trader (it is more often applied to create top-lists on site pages). For example out.php? If the trader has the trade type of Disabled or Autostopped, then OUT through the parameter  is redirected to other trader. If the non-existent trader is specified - the parameter to is ignored.

g = [group_name] - it is used for trade by groups. For example out.php?g=group1 - the visitor is be sent to traders from group "group1". If all trades in the specified  group have been visites, surfer will be sent to trades from other groups.
If the non-existent group is specified - the parameter g is ignored.

gg = [group_name] - it is used for trade by groups. For example out.php?gg=group1 - the visitor is be sent only to traders from group "group1". If the non-existent group is specified - the parameter gg is ignored.


  1. Hourly Stats - hourly statistics IN, OUT, CLICKS for each trader, per hour efficiency statistics of a site, IN schedules, CLICKS and PROD  for all the site and for each trader.
  2. Links Stats - hourly statistics for each link label, the schedule of links popularity.
  3. Surfers Activity - the statistics of "activity" of visitors shows the percentage of clicks made by the unique visitors on the “N” site, and also the amount of total traffic formed by these clicks.
  4. Active IP – statistics of IP addresses from which more clicks than it’s specified have been made
  5. Fast clicks – statistics of "fast" clicks for each trader.
  6. Delivered URLs – statistics of the URL to which the visitors from your site have been sent.
  7. AC Analysis – The Anti-Cheat analysis.
  8. GEO Stats - statistics of visitors’ regions, countries and language system
  9. History logs - statistics of the traffic on the site (IN, OUT, CLICKS, PROD) for any period and for any trader individually.
  10. Referrers - statistics for the referrer on the site.
  11. Script Health - hourly statistics of execution time in.php and out.php

Trade algorithm

Progress TM has one, but very customizable trade algorithm.  More details read here.

Menu Settings

General Settings
1. Site and Owner Info
This information will be used only in trade.php (the form of auto-registration of new traders).

URL to send traffic (domain root) – URL of your site, a root (for example, a slash in the end).

Your name - your name (íèê – nickname).

Your ICQ #
- your ICQ ¹

Your Email - your Email address
2. IN Settings
The settings that influence on the work of the in.php file (i.e. on the processing of the incoming traffic)

Default main page - the Main page of the site by default

Include main pages (if possible) instead of header: (Location..)   - Use the in.php inclusions instead of redirection through the header: (Location..). When the function is activated, it’s automatically being checked if the page you are on is the one remote (other site) or the internal one (your site) and in the last case this page is included in the in.php. This function can raise the loading speed of the page.
Comment. When this function is activated an incorrect execution / display of the included page is possible if any additional inclusions are present in it (includes), therefore it is recommended to use this function only when the page contains simple HTML code

Use multiple main pages – Use the rotation of the main pages. The specified pages will be shown in cyclic turns every time the visitors enter the specified page again.

3. OUT Settings
The settings that influence on the work of the out.php file (i.e. on processing of the outgoing traffic)

Number of clicks to count from user – the number of clicks counted in from a single visitor

Minimal click time (sec.) - minimum allowed time between two events of one visitor (in and click, click and click, in and in)
Comment. Clicks that don’t fulfill these requirements are transferred to the fast clicks categoryTABLE OF SPECIALIZED OUT SETTING (the table of specialized out settings)

Use traffic filtration settings for this traffic.
Use 'no img' traffic filtration (Make sure that img.php inserted on the main page!) - settings for this traffic.
Use external user info (Recommended) - read more details about 'external user info' here

Where to send  - Where to send the given type of traffic

To trades by circle - to the trade "by circle"

Send as usual traffic - send as the usual traffic

Send to trade only - send only to the trade

To content, if url = specified and to [Traffic URL] if none - send to the content if the parameter url is present, or to the [Traffic URL] if this parameter is not present

To [Traffic URL] only - send to [Traffic URL] only

[Traffic URL] - URL for the given type of traffic

After visiting all trades, notrades, bookmark, nocookie, noref, filtered, fast clicks, notcounted, noimg - types of traffic,  more in General Concepts

4. Server overload protection system
Adjusting server overload protection system.

Progress do not use cron at all. Every “in” time it’s checked if 2 or more minutes have been past since the last statistics recalculation. If it’s so – c.php (stats recalculation) is started. Everything is all right if 1-2-3-5 copies of script working in the server. Even if all 4 copies are started at once there won’t be great problems for the server. But what should be done if 20 or 30 script copies are installed in one server? There’s always a possibility that these 20 or 30 copies will start their c.php’s at once especially if there is much traffic on the sites. And in this case server can be overloaded and even buzz. Even professional freehosts which use cron scripts have special files which start crons one after another and do not allow crons start at once.

For this purposes “SOP” system was created.

The main thing: you fix for ALL your sites the same path  to the file of “stream”. The folder should be available for writing. Originally the folder /temp is chosen, it is present nearly in all *unix platforms.

You fix also a maximum number of cronjobs can be started at once (Max. threads).

When “SOP” system is activated, every time “cron” is going to start the common file will be checked  if it is possible for one more cron to start. “SOP” system won’t allow more than Max. threads crons to start. If it is stated in site settings that it’s allowed to start only 3 crons at once and it will check the file of “stream” as the fourth one, this cron won’t start. Mostly it will start during the visit of the next visitor (either in “in.php” or in ssi_in.php). So there’s no losses for statistics and the main advantage is server protection. Hope that it’s quite clear to you.

Some details. Perhaps you have 20 sites in the server working by Progress, there are Max. threads=3 in 19 sites and one has =4. In this case if last site cron checks the file of stream and it is the fourth in a line, cron will start.

Having clicked the button “Show threads” you can see the number of working “cron” and their time of work.

5. Trade Schemes
Settings of traders’ showing schemes and real content.
There is a scheme set by default and all other schemes.
There are 10 cells in every scheme’s settings. The first 7 cells display the content percentage (skimming) made by visitor’s first 7 clicks.
Cells 8,9 and 10 (italicized by color) display the skimming  of all other clicks, cycled.
Empty cells are left out of account.

 To simplify the basics mentioned above we shall take up some examples:

Trade schemes
Default scheme (the scheme by default): All clicks with a  60 % skimming
The scheme ¹1 - the first click - with probability of 75 % on a content, all other clicks - with probability of 50 % on a content.
The scheme ¹2 - the first click on a content (100 % of hit probability on a content), 2nd click - on a trade (0 % of hit probability on a content), all other clicks - 60 %, 30 % - in cycles
The scheme ¹3 - the first click - on a trade, the second and the third - with probability of 50 % on a content, 4th - with probability of 75 % on a content, all other clicks following the scheme of content - trade - 50 % on a content

The number of schemes is not limited.

To use this or that scheme on a site, it is necessary to specify the special parameter s = {number of the scheme} in the link (for example: out.php?s=2*link=best).
It’s possible to set a scheme of your own for every trader in the trader’s settings (that includes bookmark, notrade, noref, nocookie the traffic). If the parameter "s" in the link is missing, the scheme set in the trader’s settings is used. If the parameter "s" is present in the link, it has the greater priority than the scheme specified in trader’s settings.

6. Stats mailer
Statistics and notifications delivery system options. You’ll get statistics on your email at determined days and hours. You can edit your own message template (we have “examples”) If you are going to send stats to your cell phone then your should select “Plain text” mode and make template without using HTML code. If you want to get stats to ordinary email or view them through browser, then select HTML mode and design your message in any way. Everything will be viewed normally without any problems. In addition you can check “Send email every time when new trade joined”. If this option is activated, then you will get notification every time when someone adds his website to trade with yours. You’ll see in the letter URL, nickname, trade status and etc.
7. Anti Cheat Analysis Settings
Settings for comparison of traders with the object to cheat.

Minimum incoming hits required - the Minimum number of incoming hits required for the analysis.

Highlight cell if - to italicize the cell if:

Unique percent (IN) less than – the percentage of unique incoming clicks is less than õõ

Proxy percent (IN and CLICKS) more than – the proxy percentage of incoming hits and clicks is more than õõ.

" IP Variance " – the IP out and in Variance is more  than õõ.
If the concrete trader has an out from a concrete IP, the trader must have in from the same IP. It’s in ideal case. In practice there is almost all the time out IP available, but the in IP is not. If some trader has a great percentage of similar "unmatched" IP from the total amount of the incoming traffic (concerning other traders), it is recommended to draw enhanced attention to this concrete trader, it is possible that he’s "tricking" outs.

" IP Variance " clicks generated (%) – the percentage of clicks generated by the "uncoordinated" IP (see the paragraph above) is more than õõ.
8. Traffic Quality
Settings of traffic quality

Here you can form groups of traffic quality (sort by the countries of visitors). It will used in the antycheat analysis.

New Trades Settings
1. General Settings
New trades settings.

Accept new trades - allow registration of new traders

Include in Top list - include new traders in the Top-list

Default status - the status of new traders

Default ' Set ratio ' (%) - set Ratio for new traders (%)

Default ' Max ratio ' (%) - maximal Ratio - //-

Minimum hits required to start trade - the minimum number of incoming hits required to start trade

With productivity not less than (%) - with productivity not less than õõ %

Show these settings on the trade form - show these settings on the form for the registration of new traders

Required fields (Site name, Email, ICQ, Banner URL)
- the fields required to be filled in

Site name max. length - the maximum length of the site’s description
Allowed frequency new trades submits for each webmaster – Allowed new sites submit frequency for each webmaster.


2. Rules
Settings of the information displayed in the auto-registration form for new traders (trade.php).

Current header - the top part on the page is for registration (it is possible to put, for example, an advertising banner for Webmasters). Any HTML code is allowed.

Current trade rules - your rules and requirements to traders.

3. Top lists
Top lists settings.

The number of top-lists is unlimited. Every top-list can be sorted by four parameters and include concrete groups (niches) traders only.
In brackets, next to the name of the group, the number of traders in the concrete group is indicated. It’s allowed to use several groups in a single top-list at the same time (choose groups keeping "Ctrl" button pressed).
Òîp-lists are updated every 15 minutes, but it is possible to update them manually having clicked on the " Rebuild Tops " link.
The list of patterns it’s possible to use during the creation of top-lists is shown below:
Replace '-' with a serial number, for example '1' or '15'
The link should look approximately so
%%IN--%% The number of INs
%%OUT--%% The number of OUTs
%%CLICKS--%% The number of clicks
%%NAME--%% The site name
%%DESRIPTION--%% The description of the site
%%DOMAIN--%% The domain
%%BANNER_SRC--%% Banner’s URL
%%DATE%% Time of the Top-list creation

To insert the Top-list on the page, use

(topfile.html - created Top-list).

If your page has 'php' extension OR you using in.php with 'Use include for all redirects' checked in the 'In settings' - than insert your top list such way:

4. Content files
In these files the list of quick view galleries for the visitors is stored (one gallery in every line).

To send the visitor to those or another galleries on the site, use the parameter c = {file name, without expansion} for example:
where archive is the content file available. If the file does not exist, the OUT goes to the trade.

5. Manual restoration of a database
If SUDDENLY, for any reason (the most probable reason as it seems to me can become the reason of space shortage on the server) the database of the trade has been lost and furthermore for any reason the automatic restoration of the base hasn’t worked (that’s also almost impossible), it can be restored manually - having pressed the button " Restore database ".
6. Recommendations on adjustment of a script
The script is initially set so that to support maximally “clean" trade.  That means that fast clicks, noref, filtered and nocookie traffic does not reach traders and goes to galleries or to specified URLs. Authors of the script do not recommend to change these settings.

Number of clicks to count from user - recommended values - from 5 up to 10 clicks. Having set a too small value (for example 3) you receive too MUCH of notcounted traffic (not included) and therefore the productivity of traders will be strongly distorted. Having set a too large value you conversely allow the trade’s productivity to be influenced by casual events (it happens that one visitor clicks 70 and more times; when the volume of the trade is small, this concrete visitor will greatly distort real productivity of the trader he comes from).

   In order to learn approximately the amount of traffic that is transferred to notcounted on setting one or another value of clicks counted in, use the statistics " Surfers activity " - choose the required depth of statistics (the number of clicks) - for example 9 - and in the table in line 10 + and in the column Clicks generated you can see the traffic percentage made by clicks beginning from the 10th.

Minimal click time (sec.) - it is recommended to set within the limits of 1-5 seconds. In the "Fast clicks" statistics you can see the speed of your traffic clicking.