Ask.fm laid bare, or what's half a million uniques to you ?
Ask.fm is a twitter knock-off constructed around the gimmick of "asking questions" instead of the gimmick of "only 140 characters", but otherwise the same stale old "social media" dysfunction.
It was made originally by some reasonably cool people from outside the bezzleworld, and it was reasonably well run for as long as that lasted. Sadly, it got "new ownership" recentlyi, and as it triumphantly informs the casual visitor at every turn, "new Terms of Service" and whatnot to come into effect next month.
Well, that's all fine and dandy. Allow me to share a few items then :
Part 1 : Question posting bot.
-
<?
$user = array("name1", "name2");
define('SETUSERAGENT', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)');
function echow($text) {
if (isset($_SERVER{'TERM'})) echo $text . "\t\n"; else echo $text . "<br />";
}
function getToken() {
$a = curl_init("http://ask.fm/youruser");
curl_setopt($a, CURLOPT_USERAGENT, SETUSERAGENT);
curl_setopt($a, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($a, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($a, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($a, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($a, CURLOPT_MAXREDIRS, 10);
curl_setopt($a, CURLOPT_REFERER, 'http://ask.fm/');
curl_setopt($a, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($a, CURLOPT_HEADER, FALSE);
curl_setopt($a, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($a, CURLOPT_SSL_VERIFYHOST, 2);
$wynik = curl_exec($a);
curl_close($a);
$patt='#<input name="authenticity_token" type="hidden" value="(.*)" />#';
preg_match_all($patt, $wynik, $token);
return $token[1][0];
}
function login($login, $password) {
$token = getToken();
$curlchanel = curl_init("http://ask.fm/session");
curl_setopt($curlchanel, CURLOPT_USERAGENT, SETUSERAGENT);
curl_setopt($curlchanel, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($curlchanel, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($curlchanel, CURLOPT_HEADER, 0);
curl_setopt($curlchanel, CURLOPT_TIMEOUT, 6);
curl_setopt($curlchanel, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($curlchanel, CURLOPT_POSTFIELDS, trim("authenticity_token=$token&login=$login&password=$password&follow=&like=&back=&authenticity_token=$token"));
$wynik = curl_exec($curlchanel);
if ($wynik != 1) {
echow("Unable to login");
die;
}
curl_close($curlchanel);
}
function ask($question, $user) {
$token = getToken();
$curlchanel = curl_init("http://ask.fm/$user/questions/create");
curl_setopt($curlchanel, CURLOPT_USERAGENT, SETUSERAGENT);
curl_setopt($curlchanel, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($curlchanel, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($curlchanel, CURLOPT_HEADER, 0);
curl_setopt($curlchanel, CURLOPT_TIMEOUT, 6);
curl_setopt($curlchanel, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($curlchanel, CURLOPT_POSTFIELDS, trim("authenticity_token=$token&question%5Bquestion_text%5D=$question%3F&question%5Bforce_anonymous%5D=&authenticity_token=$token"));
$wynik = curl_exec($curlchanel);
if ($wynik != 1) {
echow("Unable to login");
die;
}
curl_close($curlchanel);
}
login("youraccount", "yourpassword");
foreach ($user as $u) {
ask('Ever heard of Bitcoin ( http://trilema.com/BitcoinNew ) ?', $u);
echo "asked :",$u,"<br />";
if ( ($cnt % 100) == 1) mail('your@email',"Script ask.fm", $u." ".$cnt);
sleep(3);
$cnt++;
}
?>
Part 2 : Account name harvester.
-
wget -q -m --no-check-certificate -U "Mozilla/5.0 (X11; U; Linux; en-US; rv:1.9.1.16) Gecko/20110929 Firefox/3.5.16" http://ask.fm/ -O askfm1.txt
(This one lets you download the front page.)
grep "a href" askfm1.txt | sed 's/a href="\//xXxXx/' | sed 's/\//\n/g' | grep "xXxXx" | sed 's/xXxXx//' | sort -u > askfm1-b.txt
(This one processes the downloaded front page into usernames, one per line)
wget -q -R "jpg,gif,jpeg,png,css,scss" --ca-directory=/noexist --no-check-certificate --follow-tags=a -U "Mozilla/5.0 (X11; U; Linux; en-US; rv:1.9.1.16) Gecko/20110929 Firefox/3.5.16" -i askfm1-b.txt -O askfm2.txt
(This one uses the names to download their pages, into a bundle. Repeat the step above and this one until you're sick of it. Generally after about 250k or so accounts harvested you see diminished returnsii.)
To use, you take the names produced by 2 and dump them in the $user array in 1. You can run 1 on any php-enabled host, if you're poor, or else you could just buy a proxy list (in which case, might as well translate the whole thing to python or whatever). Enjoy!
And yes this does mean I've been exposing however many million mostly underage, mostly Spanish speaking chicks to the brave new world awaiting them. The results were mixed, but next time you consider paying for "online exposure", buying "traffic", hiring "experts", "advertising online" and so on and so forth, think about this : the only reason I'm not getting another million uniques this month is that I can't be bothered to. How much are you paying per million ? Because you're paying too much by that much, if you catch my drift. O, wait, you're buying per thousand aren't you. Fraction of a thousand ? Well... on the positive side they say you're among the named inheritors for the Kingdom of Heaven.
It doesn't cost me anything, that extra million, and I'm not even an expert in the field, I'm just dicking around for ideological reasons. Unless you're absolutely fucking retarded you can simply write your own traffic figures. You know the old days of "Information Superhighway" and all that blabla ? Back when people threw a few html pages up on a free host somewhere and added a "counter" ? Which they could set to anyting they felt like ? Well, guess what ? Yeah, nothing's changed. Nothing will change. It can't, for fundamental reasons, okay ?
The supposed "media" outlets actually do exactly this. Perhaps not quite as efficiently, perhaps taking all sorts of careful precautions and sprouting forth thick clouds of hypocritical pretense - as thick in fact as they can possible make 'em. Sure. But at the end of the day, this is exactly all they do. Which is why Gawker / NYT / whoever else claims however million unique visitors, and whatever reach / importance / whatever the fuck "metrics" they claim, yet Trilema makes more money being online than they do.iii
So :
- Go make up your own traffic figures, it's a worthless pursuit that will teach you a lot about both computers and the human nature ;
- Stop thinking that whatever you don't understand works in the way people who use it tell you it works. Do you think the Spanish conquistadors were actually so fucking stupid as to tell the idiotic indians they were fleecing how shit actually worked ? The business end of the chumpatron is not a good descriptor of the machine in question, get it already.
That'd be all from me for now. Take care.
———- In the shape of a septuagenarian "investor" of the bezzle empire. Seriously, the USG mostly consists of fucking liches, don't you think this arrangement just a little odd ? A bunch of perambulating skeletons on life support, what are they supposed to represent again ?
[↩]
- They claim 200 million membership, of course, but what's in a claim. [↩]
- Actual money. Not faint whiffs of promises predictated on a chance to maybe earn a prize in the future. We're not talking Reader's Digest Mail-in Dollars here, okay ? [↩]
Thursday, 13 November 2014
>yet Trilema makes more money being online than they do
I did a brief analysis on Trilema after writing a bit for Qntra. Here is file dump:
"While writing for qntra.net, I began thinking of Trilema's monetization in more detail.
Right now you can get 10,000 Trilema credits for 0.01 BTC. This values a Trilema Credit at 100 Satoshi.
By loading any article (of course excluding articles not behind the paywall), a single Trilema Credit is consumed, much like a token in an arcade.
This means, obviously, 1 Trilema Credit == 1 Trilema.com page load. So if we take a look at some of the historical page statistics (http://trilema.com/2014/awstats-and-stuff/ and http://trilema.com/2010/polimediaus-awstats-pe-decembrie/),
and infer Trilema Credits consumed from the amount of average page loads, we can get a base number of Trilema credits used on a recurring basis.
We'll use 2.6mn for our calculations. Now we have to factor in that each unique visitor gets 5 free credits per week. Thus a user is usually allotted 5 articles per weekly visit, these must be consumed first before "paid credits" are used.
The simple lazy calculation is using pages loaded per unique visitor and subtract 5. We divide 2.6mn by 240k visitors and get about 11. So we do (11 - 5 = 6), thus about 6 paid credits are consumed per visitor. We now multiply by
total number of unique visitors, we'll use 237,522 which when multiplied by 6, so we get 1,425,132 page loads used w/o free credits, which is of course 1,425,132 Trilema Credits consumed that were purchased.
So 1,425,132 * 100 satoshi = 142,413,200 satoshi => 1.424132 BTC a month."
I think I did my math right.
Thursday, 13 November 2014
There's not actually any articles not behind the paywall. Some summary pages are (like http://trilema.com/category/meta-psihoza/ or http://trilema.com/2014/01 ) but that'd be about it.
I think so. Of course, this estimation is consumption based. People seem to purchase more than they consume (significantly so, even) for now, which makes your math understate income. Then again, maybe in time this trend may reverse, making same process overstate income.
Saturday, 23 May 2020
Hi! Someone in my Facebook group shared this website with us so I came to look it over.
I'm definitely enjoying the information. I'm bookmarking and will be tweeting this to my followers! Exceptional blog and terrific style and design.
Saturday, 23 May 2020
I thought facebook was "banning" Trilema.