Ru version

Progress TM User Manual

Сontents:

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

 

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 http://www.yoursite.com/install.php 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 3 ways to count incoming traffic:

    1. Using ssi_in.php:

Include whis code into your .shtml files:

or include this code to your .php files

2. Using in.php:

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.

3. Using ain.php

This way uses Ajax requests to ain.php that logs incoming traffic and runs 'cron' script when needed. Ajax requests run asynchronous, so it won't affect on your pages' speed load, like in.php and ssi_in.php do. Moreover, you won't see 'cookie' traces on you page, the cookie is setting in 'background' in this way.
If you prefer this way, you need to insert this code in the <head> section:

and this code right before closing </body> :

You can set these codes on every page of your site, not only to the main page (index). Script won't count incoming traffic that comes from the pages of your site.

What the difference between these ways?

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

Crontab settings

Although Progress TM doesn't require to use server's crontab to recalculate trade statistics, we highly recommend use server's crontab. Using built-in cron launcher will affect on main page load time, and, as result - traffic productivity. To change the way you start script's 'cron' file, please click on 'Change' link on the very top of each page in admin area:

If you decided to use server's crontab, select 'Server' as start type, and add corresponding task to crontab as on example. The script have to run every 2 minutes.  

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 11:

  1. Bookmark - all those who have no referrer on in.php (on an input) but have already visited your site recently.
  2. Nocookie - all those who have no cookie on out.php (on an output)
  3. Noref_in - - all those who have no referrer on in.php or on ssi_in.php (on an intput)
  4. Noref_out - all those who have no referrer on out.php (on an output). In most cases this traffic are kind bots, and should not be send to your trades,
  5. Redirected - all those who are redirected by in.php or by out.php according your redirection rules
  6. 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.
  7. Notrades - the traffic which has a referrer, but does not belong to any trader.
  8. Gallery - outs on galleries/content.
  9. SE - traffic from search engines, like google.com, yahoo.com.
  10. Feeder - this trader will be used to indicate how much you are sending to feed your other sites, which not in your trades list. More info below.
  11. Spiders - Search engines crawlers like googlebot. You can set a trade scheme for spiders to disallow them visit your trades and make your site look more user-friendly for SE.

out.php parameters

Note: all inline parameters (that pointed in a link directly) have higher priority than default settings.

p = [%] – content percentage. It is used only together with the parameter URL. p parameter has the greater priority, than the scheme of a trade set in the trader’s settings. Must be from 0 to 100;

Example: http://www.yoursite.com?p=60&url=/gallery.1.html
The user will go to gallery.html in 60% of cases, no matter which trade scheme is set for the trader-originator of the surfer.


URL = [URL] - URL of a content (gallery, the sponsor and etc) the visitor should be 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

 
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 set in a link, 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 will be ignored (parameter p has the greater priority). More about trade schemes here…

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

Example: http://www.yoursite.com?fc=1&p=60&url=/gallery.1.html
in case of very first click of the surfer, he will be send to gallery.html. All the rest clicks will lead to to gallery.html in 60% of cases.


link = [link_name] - a link label for the following analysis in the admin zone.

Example: http://www.yoursite.com?fc=1&p=60&url=/gallery.1.html&link=archive

to = [domain_name] - it is used to send the visitor to the specific trader (it is used mostly to create top-lists).

 Example http://www.yoursite.com/out.php?to=trader1.com

If the trader trader1.com has the trade type Disabled or Autostopped, then OUT through the parameter to=trader1.com will be redirected to other trader. If the non-existent trader is specified - the parameter to will ignored.

g = [group_name] - it is used for trade by groups.

Example http://www.yoursite.com/out.php?g=amateur the visitor will be sent to traders from group "amateur". 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 will be ignored.

gg = [group_name] - the same as g parameter above, but  the visitor is be sent only to traders from group "amateur". If the non-existent group is specified - the parameter gg will be ignored

Statistics

  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. Devices – statistics of you surfer's devices using to access your site - desktops, mobile phones or tablets
  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 http://www.mysyte.com/, 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)

Trade algorithm in use: either built-in Progress#1 or Custom. This decides how will your script arrange your trades in outgoing (priority) list. If Custom selected, you may change this arranging rules by programming (basic PHP skills are required). Read complete docs for Custom trade type.


Number of clicks to count from user – the number of clicks counted from a single visitor. The clicks over this value will be called 'notcounted' and will be taken into account while calculating trader's productivity.

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 category
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

Traffic redirection

Use it if you need to redirect some types of traffic to another site. Most common using of this feature - selling traffic or feeding your other sites. The redirection settings are very flexible, you may redirect any % of traffic, require or not some specific link parameter to be in a link, excluding traffic from the specific trades or specific traffic types.
For example, you may set such redirection rule: Redirect 50% of mobile Android traffic from 'amateur' group BUT not belongs to search engines & trader1.com & trader2.com and not marked as 'proxy' and 'fast' to the site myothersite.com. if only link = 'more'. Looks weird :)

EXTRA SETTINGS

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 Proton, 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 % to a content, all other clicks - with probability of 50 % to a content.
The scheme №2 - the first click to a content (100 % of hit probability to a content), 2nd click - on a trade (0 % of hit probability to a content), all other clicks - 60 %, 30 % - in cycles
The scheme №3 - the first click - to a trade, the second and the third - with probability of 50 % to a content, 4th - with probability of 75 % to a content, all other clicks following the scheme of content - trade - 50 % to 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.

Example: http://www.yoursite.com/out.php?s=2&link=best

It’s possible to set a specific scheme for every trader in its settings (that includes bookmark, notrade, noref, nocookie, spiders 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.

Dynamic rules.
Progress TM has ability to change any trade scheme settings depends on traffic behavior. For instance, if outs to your trades dropped below some threshold, it may change % to content from 70% to 50%. Another example - script may change % to content in the night hours from 30% to 60%. Or otherwise, as you wish. Here's complete docs for Dynamic rules

Geo Schemes
Yet another useful feature. As you know, some countries are more profitable than another ones, so it seems reasonable to show more content to the 'rich' countries and less to the poor. It's easy to do with 'Geo schemes' feature. First of all, create a trade scheme (use Trade Schemes menu) you want to use for specific countries. Next, in the Feature -> Geo Schemes, select your trade scheme and add as many countries as you wish. That's all.

Please know that Geo schemes have more priority than trade scheme specified for a particular trader.

Example.
You have 2 schemes:
    id=1 'Low skimming'
    id=2 'High skimming'
and you set:
    trader1.com - uses ''Low skimming'
    "DE" geo - uses "High skimming"
A
German surfer came from trader1.com to your site. He will be treated according "High skimming", as it was set for DE surfers.
A Romanian surfer came from trader1.com to your site. He will be treated according "Low skimming", as it was set for surfers from trader1.com.

 If the parameter "s" is present in the link, it still has the greater priority than the scheme specified in trader’s settings or in you geo schemes.



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.



6. Network
Joining your sites to a network allow you watch general traffic stats over all of sites in an one admin area, add/edit/delete/blacklist a single trade (or bunch of trades) from any part of your network.

Imagine, you have 50 sites and you decided to delete an unproductive (or using hitbots) trader. You not perfectly know, which of your sites are having trade with this unproductive trader, so you need to visit all of yours 50 sites, check for this trade and delete it. Monkey work! Using network features, you will do it in a minute. Just delete the trade on a single site and check 'Delete this trade in your network too'. That's all. Same with adding or editing trades.

So how does it work?
 

1. First of all, you need to add the sites to your network. Go to Network -> Add/Edit sites menu item. Everything is really simple there:
URL - URL of your site, must look like http://www.youranothrsite.com
Password - network password. This is NOT a password to access admin area! Use another one, and always keep it in secret.
Niche/Owner/Server - this fields will be used to fast filter your sites when you mange your trades.
Bg. color - background color, just to let your network stats look more readable for you.

Add ALL your sites to a single admin area. Let assume you've added 50 sites to your site1.com.

2. Now you have to go to your another site (site2.com) and add just one site in network there - site1.com, which already has complete list of your sites.
3. On your site2.com, go to Network -> Synchronisation and choose to 'Update current site from the selected sites' for 'Network sites list'. Select 'site1.com' below and press 'Submit'. Now you have complete list of your sites on site2.com too.
4. Repeat #2 and #3 actions for the rest of your sites. Do it once and save a lot of your time in future.


7. 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.

Thumbs will be hotlinked from the specified in the list URLs.

But if you need to download the images to your sites, you have to change format to:

Thumbs list URL (like http://mycdnsite.com/topthumbs/list.txt)
Thumbs list URL (like http://mycdnsite.com/topthumbs/list.php)T

The list of possible patterns to use for top-lists:
 
Replace '-' with a serial number, for example '1' or '15'
%%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
%%THUMB#-CROP_SET_ID-THUMBNUM%% Thumb src.
%%IMG--%% Ready-made thumb from the list
%%BANNER_SRC--%% Banner’s URL
%%DATE%% Time of the Top-list creation

Take a look at toplists templates examples./p>

 

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:
 

7. API Usage
For the moment, API can be used for adding new trades only. Feel free to request any other features.
API URL: http://www.yoursite.com/gs.php
API methods: POST, GET
API parameters:
do - can be only 'api_add_trade' curently. Required to be passed
key - Your site's personal API key. Can be found in the Settings -> Site info. Required to be passed.
url - sites' URL. Required to be passed and must be valid URL.
desc - sites' description
mintradereq - Min trade requred to keep trade active. Default value is '0'
grace - 'Grace period', in hours, when script won't take 'Min trade requred' parameter into account. Default value is '24'
status - sites' status, either 'active' or 'disbaled'. Default value is 'active'.
API response: JSON encoded array with 2 fields - 'status' (ok|fail) and 'note' with status description.

Sample usage with GET method:
http://www.yoursite.com/gs.php?do=api_add_trade&key=vfcf54c29b5b1f192f4a4e3dd95f71m7&url=http://www.test.com/
http://www.yoursite.com/gs.php?do=api_add_trade&key=vfcf54c29b5b1f192f4a4e3dd95f71m7&url=http://www.test.com/&desc=test%20site&mintradereq=10&status=disabled&grace=48


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 ".
 
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 t