BeWebmaster

UHits - PHP proxy hits generator

Ad

This scripts uses free proxies to generate hits to specified website. I call this fake hits generator script: UHits.

Script Files

proxy.txt -  has proxy list
update.txt -  has date proxy list was updated
proxy.php - actual script that loads proxy list, updates proxy list date and finally generates the hits

All of these files need to be saved in the same directory on your server.

Facts
All hits are generated through proxies. You will not get any hits, if any of the proxies
is not processing requests at the time UHits runs. Therefore, the number of the hits you
actually receive may vary.

The proxy list is generated automaticaly using "http://www.steganos.com/?area=updateproxylist", so hopefully this proxy list is still available when you try to create this script.

In case it is ofline, you can add your own proxy list. Just create a text file called proxy.txt and add one proxy address with port
number per line:
207.156.32.23:80
203.156.35.123:8080
154.166.32.23:444
Make sure to save this file in the same directory where proxy.php script is located.

Also, if the proxy list is ofline, you need to open "update.txt" and enter the date proxy list (proxy.txt) was updated.
i.e 2005-12-01 - make sure to use this format

Script is ran using Cron-jobs, so you'll need to know how to set one up on your server.

UHits script

<?php
//Let's make sure no warrnings, in case there are some, are displayed by PHP

error_reporting(0);
// Specify url that shoud receive hits
// make sure to include trailing slash "/" at the end of folders

$url_1 = "http://www.yourdomain.com/";

// Specify your server and port
$myserver = "yourdomain.com:80";

// Specify how many hits to receive every time the script is run
// Selecting more then 5 may not work

$randnr = 2;

// If you are manually updateing proxy list change the variable below from date('Y-m-d')
// to a date you entered in the update.txt file using the same format (i.e. 2005-12-01).

$today = date('Y-m-d');

/* Since we are using outside address to get proxies, the script works faster if we download the proxy list and write it to the proxy.txt file once a day and then use proxies from the local proxy.txt file */

/* so let's check if the proxy list has been updated today, and if it wasn't we will open proxy list website and write the proxies to the proxy.txt file */

//read update.txt
$lines = file("update.txt");
if(trim($lines[0]) == $today){

//see if it was updated today
 $proxies = file("proxy.txt");
}else{
//open proxy list website
 $proxies = file('http://www.steganos.com/?area=updateproxylist');
 $size = count($proxies);
 $openfile = fopen("proxy.txt","w+");
//write proxies to the file 
  for($x=0;$x<$size;$x++){
    $line =trim($proxies[$x]);
    fwrite($openfile, $line);
     if($x!=$size-1){
      fwrite($openfile, "rn");
     }
  }
 fclose($openfile);
//update the proxy date in update.txt
 $openfile = fopen("update.txt","w+");
 fwrite($openfile, $today);
 fclose($openfile);
}
//now we will get a random proxy address from the proxies.txt file
 $getrand = array_rand($proxies, $randnr);
 for($x=0;$x<$randnr; $x++){  
//setting time limit to zero will ensure the script doesn't get timed out
 set_time_limit(0);
//now we will separate proxy address from the port
  $PROXY_URL=$proxies[$getrand[$x]];
     $proxyarr = explode(":", $PROXY_URL);
     $address = trim($proxyarr[0]);
     $port = trim($proxyarr[1]);
//following code generates the header file
  $headerinfo =array(
    'User-Agent' => 'UHits/1.0 (BeWebmaster.com)',
    'Accept' => 'image/gif, image/x-xbitmap, image/jpeg, image/png, */*',
    'Pragma' => 'no-cache',
    'Connection' => 'keep-alive'
);
  reset($headerinfo);
//now we are ready to reach our website through the proxy
  $fp=fsockopen($address,$port);
    if($fp) {
      fputs($fp,"GET $url_1 HTTP/1.1rn");
      fputs($fp,"Host: $myserverrn");
      reset($headerinfo);
       while(list($header,$value)=each($headerinfo)) {
         fputs($fp,"$header: $valuern");
         //let's give the script some time to execute
         sleep(2);  
       } //end while
      fputs($fp,"rn");
      fclose($fp);
    } //end if 
 } //end for
?>

Upload the file to a directory on you server and run a cron job on it.
For example:
GET http://yourdomain.com/proxy.php> /dev/null
or
wget -q http://yourdomain.com/proxy.php> /dev/null

Using cron jobs you can set up the script to execute every hour or minute or every 3 minutes for example.

I don't know how usefull you will find this but here it is.