Readers Monitor
From LJToysWiki
Contents |
How do I read it?
Probably this is what you came here to find :)
Assuming you setup your LJToys bugs correctly the readers page will contain a big long table of hits, one per line. By default it shows hits from today & yesterday.
Right now mine looks like this:
How it Works
The LJToys Readers monitor works by embedding little images in your journal and tracking computers that load them.
When an internet user loads one of these images they tend to 'leak' a lot of data. Their request gives away stuff like:
- Client IP address
- URL of the page the image appeared in
- Type & version of the browser (e.g. "Firefox/3.0.5" for me right now)
- Some plugins installed (e.g. ".NET CLR 3.5.30729")
- Operating System - (e.g. "")
Data like this can be used to 'fingerprint' computers on the internet. Most of the time an IP address is enough to narrow down to a single person; sometimes (multiple users on the same IP) it's necessary to use a few of the other fields as well. This isn't rocket science - so far LJToys doesn't even have to send the client a cookie to figure out that the computer reading your post is the same one who read it yesterday.
But how do you get the LJ usernames?
That's a little harder. Basically LJToys looks at the URL's a given computer has been loading and uses them to guess which LJ user it corresponds to. You could do this yourself with a pen and paper, all you need is HTTP referers from your hits and you could figure it out. LJToys just automates the process.
LiveJournal 'leaks' a lot of information through its URL's. Primarily this is because it's old - they've been going for over 10 years and when the guys at LJ started writing code nobody had even thought of social networking sites before. More modern sites (e.g. FaceBook) stop this happening by "proxying" images that appear in people's pages so you can never know who loaded them.
Let's look at a couple of sample url's:
http://mock2.livejournal.com/friends
^^^^^ my username
http://mock2.livejournal.com/friends/thisisagroup
^^^^^^^^^^^^ "secret" custom group
http://mock2.livejournal.com/friendsfriends
^^^^^^^^^^^^^^ type of page loaded
As you can see they give away quite a lot.
When trying to figure out who a hit came from LJToys looks at the data for that hit and other hits from that IP address for a few minutes before & after. The 'closest' match in terms of time is the one it'll show you.
It looks for URL's like:
- Custom friends pages (aka. "custom views"). These are a great way to figure out who a user is since they can only be loaded by the person who owns them. For example if we see a hit to "http://foo.livejournal.com/friends/customview1" we can be sure it's the user 'foo' at that IP address.
- Friends pages. Mostly (but not always) the person reading a particular friends page is that page's owner. I read my own friends page very often but almost never look at others. It's a reasonable assumption that if an IP looks at a particular user's friends page it was that user. But this isn't always the case and that's why LJToys can sometimes get confused.
- Tags / scrapbook / other pages - same deal, the url's for these often betray who was reading them.
- Lots of others.
LJToys has a fair amount of intelligence about these URL's and that's why you see the hit type reported on your readers page, not just "ug! a hit occurred!".
It's Not Infallible
Since LJToys works by guessing it can often be fooled. For example if you were to hit someone else's friends page then a post of your own:
http://somebodyelse.livejournal.com/friends http://mock2.livejournal.com/434349.html
...it'll think you were "somebodyelse". That's the best it has to go on.
Another example is hits from someone who hasn't loaded their friends page recently. As previously discussed LJToys looks for friendspage hits 15 minutes either side of your hit and uses them to make a guess about who it came from. No friendspage hits, no guess.
For a long time there's been a second-generation tracking system mooted - something that figures out a particular computer/IP equates to LJ user X and is less easily fooled when X goes off and hits a few other friends page. But that's rather more computationally intensive; it'd work just fine for one user but a lot less so for 20,000.
Types of Hit
LJToys can identify several types of hit. See the notes page for a list!

