Get 500 or more Technorati "Authority" every day, just like me.

On May 31st, back when I announced my intention to teach the jackasses running technorati better English, Zenofeller.com had 22 points of "authority". It went up to 69 points by June 1st, as a side-effect of mere code testing.

It was 597 June 2nd, making it one of the top 5,000 most oh-so-authoritative blogs in the world. Meh.

It will continue to grow at a steady rate of about 500-1k every day, mostly because I don't want any more.

How have I accomplished this magnificent feat ? Scripting.

Want to do it yourself ? Here you go.

You may be wondering why am I releasing such "harmful" scripts. Let's try and judge by analogy :

If Coca-Cola were selling carcinogen-laced fizzle, and somebody made an inexpensive gadget that detected carcinogens, not only in Coca-Cola, but in any beverage whatsoever, that somebody'd be a hero of public health, and Coca-Cola a disgusting corporation with no concern for the quality of its product.

Sure Coca-Cola'd lose business, and sure it'd be because of the guy's gadget. And it'd serve them right, and there'd be no real reason for Coca-Cola to have any business left at all, really.

If on the other hand jerkoffs like Technorati come out with a piece of shit software that's about 10 years behind the times, which, really, on the Internet is the equivalent of the steam engine, and instead of offering a humble "ya, we suck, this is the best we could come up with, we're closing shop now kthxbye" have the unmitigated audacity to pretend they are measuring authority of all things...

I happen to think it's my duty to expose their carcinogens.

Which are really two fold. One, the 1 link = +1 scheme is absolute bullshit, as google found in 1998. Or before that. You can't sell asbestos as building material anymore, and you can't sell that as "search". It's not search, it's bullshit.

Much more objectionable, having people actually believe that computers, and running bad, antiquated software at that, can in any way calculate authority is absolutely inexcusable. Beyond inexcusable. Had they kept on peddling their useless crap as "inbound links", I still would have thought they're idiots, but I probably wouldn't have been bothered to actually prove it.

So say it with me now. Technorati has no authority whatsoever, and what's much much worse, no competence whatsoever.

Here's Viklund's article on Technorati "authority", one of the more sane contributions.

As to the "harmful" scripts. Check out the glaring hypocrisy at work :

If youtube opens up with a cutesy, "hey, we'll host your videos" notion, and then a few years later turns around and sells them videos for a billion and a half, it's perfectly fair to take the money and leave, right ? It doesn't belong to the people that actually created the content, does it ? Somehow, it belongs to youtube.

And it's perfectly fair for google to scoop up other people's links, and then go all puffy and make public offers against billions in capital, on what is other people's work. That's all fair and dandy. Fine.

Why's it fair and dandy ? Because the Internet is still in the wild capitalism phase, and whoever grabs it first owns it. Fine. We can live with that.

But then don't be turning all mellow and tell me how it's not fair, and the same sort of logic suddenly stops applying when it's somebody else doing the grabbing.

Information either belongs to its real world owner, in which case google'd better start paying spidered webpages spidering-rent, and youtube'd better start splitting the loot among the users, or otherwise it belongs to whoever controls it, in which case, well.

The scripts aren't harmful to anybody except people running bad code. And nobody has a right to run bad code, nor should anybody running bad code be protected from the consequences of running bad code.

[UPDATE] : O, I've just remembered to check the other Technorati touch of brilliance. And sure enough :


My blog is worth $337,030.38.

I guess two hour's scripting is worth 300k nowadays, hmm ? Anybody hiring ?

And now, to the c/p fun :

I. Prerequisites. These are things you will need.

You will need a php parser since I've written everything in php. You will also need a mailable domain. Because of these two, you will need to

- buy a domain name. Anything that suits your fancy. You can also use one you already own.

- get hosting for it. If you don't have hosting already, you will need to get yourself a server. It MUST allow unlimited POP3 accounts and there MUST be a way for you to forward unrouted email to one address. Servage works well for both purposes, at something like 6.50 a month.

- obtain a decent ftp client. I very much like TotalCommander (download), but you can use whatever you like.

So come back when you've solved these.

II. Let's get down to work.

Step 1. Head over to the Census Bureau and download their name files. Save the two first names files (one for boys and one for girls on the Bureau site) into the same file. Thus, you have one file for last names and one file for first names.

Step 2. Strip the silly numbers we won't be needing.

Run the following script over each file, copy-paste the output into fresh files :

<?php
$fp = fopen("first_names.txt", "r");
$contents = fread($fp, filesize("first_names.txt"));
fclose($fp);

$names = explode("\n", $contents);  // do not use split, its slow.

foreach ($names as $current) {
	$pos = strpos($current,' ',1);
	$current = substr($current,0,$pos);
	echo $current,'<br>';
}
?>
You accomplish this by
- saving both namefiles in a directory of your website
- saving the script as someting (maybe "fix_names.php") and calling it from a web browser (by using the url http://<yourdomain.yourTLD>/<directory>/fix_names.php)

(yourTLD, for Top Level Domain, could be com, or org or info or whatever you get)

Step 3. Make a usable namelist.

Run the following script over the two files you built above

<?php
$fn = fopen("first_name_list.txt", "r");
$f_names = fread($fn, filesize("first_name_list.txt"));
fclose($fn);

$ln = fopen("last_name_list.txt", "r");
$l_names = fread($ln, filesize("last_name_list.txt"));
fclose($ln);

$first_names = explode("\r\n", $f_names);
$last_names = explode("\r\n", $l_names);

$f_count = count($first_names);
$l_count = count($last_names);

for($i = 0; $i < 10000; $i++) {
	$output = $first_names[mt_rand(0,$f_count)] . '_';
	$output = $output . $last_names[mt_rand(0,$l_count)] . '<br>';
	echo  $output;

}
?>
This will output 10,000 or so made up names, something like "JOE_BLOE" or such. Again, copy/paste the output into a new file, you will be needing that.

Step 4. Now that we've got names, let's prepare content.

Find a bloger that, while very verbose, mostly talks out of his or her ass. I find Arianna Huffington of WeSniffGlue.com is one of the best candidates for that position, but in general most talking airheads will work fine. (You will be amused to discover that, when done, you won't be able to tell the original articles from the computer generated ones. That's authority for you.)

Copy/paste about 2-500kb of their cruft into one file. Name it, persay, cruft.txt

Step 5. Set up your mail server to forward all unrouted mail to say blog-spam@<yourdomain.yourTLD>. Unrouted mail is that mail sent to your domain, for addresses that don't actually exist.

Step 6. Download snoopy, which is a class/library we will be using. You can get it at SourceForge as well.

Step 7. Check that you have the snoopy.class file, the dashed names file and the cruft file all in a directory over on the server.

Step 8. Run the following script

<?php

// setting up snoopy

include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.technorati.com/";
// $snoopy->rawheaders["Pragma"] = "no-cache";

// find out the list of names 

$fn = fopen("names.txt", "r");
$f_names = fread($fn, filesize("names.txt"));
fclose($fn);

# Split $contents in $sentences array

$names = explode("\r\n", $f_names);
$n_count = count($names);

// keep straight where we are.

for($i = 0; $i < 1000; $i++) {
$current_pos = $i;

// create an blog.co.uk account for that name

$login_url = "http://www.blog.co.uk/srv/register/register.php";

$login_vars['action'] = "register";
$login_vars['invid'] = "";

$login_vars['login'] = strtolower($names[$current_pos]);
$login_vars['pass1'] = "somepassword";
$login_vars['pass2'] = "somepassword";


$login_vars['email'] = strtolower($names[$current_pos]).'@plentymail.net';
$login_vars['capcode'] = "yRrzxy";
$login_vars['cid'] = "138";
$login_vars['tos'] = "1";

# Complete phase 1
$snoopy->submit($login_url,$login_vars);

echo $i,'<br>';
//echo $snoopy->results;

sleep(15);
}
?>
The $login_vars['capcode'] and $login_vars['cid'] values you fill out in the following way :

Dream up a 3 digit number. That will be the $login_vars['cid'] value.

Visit http://www.blog.de/srv/core/captcha/captcha.php?xxx, replacing the xxx with your three digit number. Write down the "captcah" displayed. That goes into $login_vars['capcode'].

Yes, they are this fucking stupid. Don't ask.

Mind, you will have to refresh your cid/capcode every day, so don't bother trying 138 and yRrzxy, it's probably stale by now.

DO NOT take out the sleep directive. Bad Things will happen if you do.

When the script is finished running, you should have about 1Mb of emails in your inbox. So,

Step 9. Download all the email as one single file. Most half decent POP3 clients and even any decent browser will do this for you. Alternatively, you can ftp your inbox file down.

Step 10. Run the following script :

<?php
$fn = fopen("inbox.txt", "r");
$c_code_bulk = fread($fn, filesize("inbox.txt"));
fclose($fn);

$c_codes = explode("http://www.blog.de/srv/register/verify.php?code=", 
$c_code_bulk);

foreach ($c_codes as $code) {
	$code = substr ($code, 0,5);
	echo 'http://www.blog.de/srv/register/verify.php?code='.
		$code.'<br>';

}
?>
This will output a long list of registration codes. Copy paste it into a file.

Step 11. Let's now confirm these registrations and make our first post. Copy the following two scripts into two sepparate files :

blog_acc_confirmer.php :

<?php
// setting up snoopy
include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.technorati.com";
$snoopy->rawheaders["Pragma"] = "no-cache";

// keep straight where we are.
$current_pos = $k;
$reg_pos = $k;
$time = time();

// visit the registration link

unset($login_vars);
$login_url = 'http://www.blog.de/srv/register/verify.php';
$snoopy->fetch($login_url);

//echo $snoopy->results;

$login_vars['action'] ="verify";
$login_vars['login'] = strtolower($names[$current_pos]);
$login_vars['pass'] = "somepassword";
$login_vars['code'] = 
substr($reg_codes[$reg_pos],strpos($reg_codes[$reg_pos],'=')+1);

# Complete phase 1
$snoopy->submit($login_url,$login_vars);

while(list($key,$val) = each($snoopy->headers)){
	$snoopy->cookies[$key] = $val;
}

// login

$login_url = 'http://www.blog.co.uk/htsrv/login.php';
$snoopy->fetch ($login_url);
$page = $snoopy -> results;
//echo $page;

$login_vars['action'] = "login";
$login_vars['redirect_to'] = 'http://www.blog.co.uk/index.php';
$login_vars['autologin'] = "1";
$login_vars['log'] = $names[$current_pos];
$login_vars['pwd'] = "gangbang";

$snoopy->submit($login_url,$login_vars);

// create blog

$login_url = 'http://www.blog.co.uk/admin/b2blogs.php?action=new';

$snoopy->fetch ($login_url);

$page = $snoopy -> results;
//echo $page;

$login_vars['action'] = 'create';
$login_vars['blog'] = '0';
$login_vars['blog_stub'] = str_replace('_','-',
	strtolower($names[$current_pos]));
$blog_name_x = $names[$current_pos];
$blog_name = $blog_name_x[0];
$blog_name = $blog_name . strtolower(substr($blog_name_x, 1, 
	strpos($blog_name_x, '_')-1)) . ' ';
$blog_name = $blog_name . $blog_name_x[strpos($blog_name_x, '_')+1];
$blog_name = $blog_name . strtolower(substr ($blog_name_x, 
	strpos($blog_name_x, '_')+2));
$login_vars['blog_name'] = 'The blog of '. $blog_name;
$login_vars['blog_locale'] = 'en-UK';
$login_vars['blog_timezone'] = 'Europe/London';
$login_vars['blog_post_date_format'] = '1';
$login_vars['blog_post_time_format'] = '1';

$snoopy->submit($login_url,$login_vars);
$page = $snoopy -> results;
//echo $page;

// some customization craps

$design = array(0 => 228, 6897, 50790, 42470, 10, 6202, 61143, 28172, 
29147 ,52849 ,6268 ,24286 ,47239 ,29135 ,6223 ,32117 ,6229 ,6240 ,61089);

$login_url = 'http://www.blog.co.uk/admin/b2blogs.php';
$snoopy->fetch ($login_url);

$page = $snoopy -> results;
echo $page;

$pos = strpos($page, '<a href="b2edit.php?blog=');
$blog_no = substr ($page, $pos + 25, 6);
$login_vars['action'] = 'create_confirm';
$login_vars['admin_tab2'] = 'layout';
$login_vars['blog'] = $blog_no;
$login_vars['design'] = $design[mt_rand(0,18)];

$snoopy->submit($login_url,$login_vars);

$page = $snoopy -> results;

// generate content

$output = "";
$insert = mt_rand (0,2);
$insert_spot = 666;
$a_flag = false;

if (mt_rand (0,12) > 3) {

	$insert = '<a href="http://'. str_replace('_','-',
	strtolower($names[mt_rand(0,$current_pos)])) .'.blog.de">';

} else {

	$insert = '<a href=<insert your blog's url here">';
}

for($i = 0; $i < $para; $i++) {

// how many sentences in each paragraph
	$para_count = mt_rand(1,1+($para-2*abs($i-round($para/2 
-1))))*mt_rand(1,1+($para-2*abs($i-round($para/2 -1)))); 

	if ($para_count > 16) {$para_count = 16;}

	if ($i==$insert)	{ $insert_spot = mt_rand (0,$para_count); }

	for($j = 0; $j < $para_count; $j++) {

		$sentence = mt_rand(0,$sentence_count);
		$output = $output . $sentences[$sentence] . '. ';

		if ($j==$insert_spot)	{ 
			$output = $output . $insert;
			$insert_spot =666;
			$a_flag = true;
		} else if ($a_flag) {
			$output = $output . '</a>';
			$a_flag = false;
		}
	}
	$output = $output . '<br><br>';
}

// make first post
$login_url = 'http://www.blog.co.uk/admin/b2edit.php?blog='. $blog_no;
$snoopy->fetch ($login_url);
$page = $snoopy -> results;

$page = $snoopy->fetch($login_url);
$login_vars['blog'] = $blog_no;
$login_vars['action'] = 'post';
$login_vars['mode'] = '';
$login_vars['autosave_post_ID'] = '';

do {
$login_vars['post_title'] = $sentences[mt_rand(0,$sentence_count)];
} while (strlen($login_vars['post_title']) > 52); 

$login_vars['content'] = $output;
$login_vars['post_tags_own'] = '';

$login_url = 'http://www.blog.co.uk/admin/edit_actions.php';
$snoopy->submit($login_url,$login_vars);

echo $reg_codes[$reg_pos];

sleep (15);
?>
Replace the
$insert = '<a href=<insert your blog's url here">';
with, obviously, the url of the blog you're magically giving authority.

Again, DO NOT remove the sleep directive. Bad Things will happen.

blog_poster.php :

<?php
// find out the list of names 
$fn = fopen("names.txt", "r");
$f_names = fread($fn, filesize("names.txt"));
fclose($fn);
$names = explode("\r\n", $f_names);
$n_count = count($names);

// find out the list of confirmation codes
$fn = fopen("reg_codes.txt", "r");
$c_codes = fread($fn, filesize("reg_codes.txt"));
fclose($fn);
$reg_codes = explode("\r\n", $c_codes);
$rc_count = count($reg_codes);

// huffy engine inits
$fp = fopen("huffy_bulk.txt", "r");
$contents = fread($fp, filesize("huffy_bulk.txt"));
fclose($fp);

$sentences = explode('. ', $contents);
$sentence_count = count ($sentences);

# some settings for the output 

$para = 5;  // 5 paragraphs.

$fp = fopen("pointer.txt", "r");
$k = fread($fp, filesize("pointer.txt"));
fclose($fp);

$k++;

$fp = fopen("pointer.txt","w"); 
fwrite($fp, $k); 
fclose($fp);

include 'blog_acc_confirmer.php';
?>
Also, create the file pointer.txt on the server, make sure the permissions are 666, so the script can write on it.

So, let's see what we have here. The first script will register 1000 or so accounts . Run this every day, once. Make sure to increase its counter (ie, the second day the for should go 1000 to 2000 not 0 to 1000 again, duh ?).

Process the resulting email bulk.

Set your browser to re-load blog_poster.php automatically. (30 seconds intervals minimum, or else you will break your server and the entire thing will fail). Walk away.

Come back periodically to admire your technorati authority. You can check any individual blog as <dashed_name>.blog.de, if you wish to have a laugh.

Final notes :

Some support will be available in the forums (through the Comment link at the bottom). Please try and be intelligent. This is an excellent opportunity for you to LEARN something. Try and use it.

There's plenty of user serviceable parts inside. It's worth your time to open the manual in a browser window and check what stuff does. They have a search function, it works real well.

There is no good reason you should hammer blog.de into the ground exclusively. It most likely won't hold out for very long.

While I don't really have the time or inclination to constantly scour the Internet looking for incompetent "entrepreneurs" running bad code, you are more than welcome to do it. You will be doing the world a service. And why set your goals low. By all means, break into Blogger if you can find a way. I hear such accomplishment is quite the satisfaction.

This article was read 14 times.

del.icio.us:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  digg:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  spurl:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  wists:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  simpy:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  newsvine:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  blinklist:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  furl:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  reddit:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  fark:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  blogmarks:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  Y!:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  smarking:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  magnolia:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me.  segnalo:Get+500+or+more+Technorati+%22Authority%22+every+day%2C+just+like+me. Comment

copyright 2007 by Zenofeller

this page was made using a bent spoon. anything else is for failures