Thursday, July 14, 2005

URLToys - Your Porn Utility Belt

Update: URLs changed to protect the innocent.

One of my favorite porn - erm, I mean, "content" downloading programs is Joe Drago's URLToys. As far as I'm concerned, it's the Porn Hacker's Swiss Army knife.

At its core, URLToys is a nothing more than a perl script. Some people have added some fancy UIs and what not on top of it, but in the end, the script where the goodness lies.

Now initially the word "perl script" might scare some of you away, because it means we'll be working with the command line interface. But, my friends, the command line is good! Not only does it make you feel all cool and h4x0ry when you are using it, but it also doesn't clutter your system processes and memory with a bunch of pointless compu-bling. When you're downloading 4 gigs of porn, efficiency is good. Additionally, if the boss comes by and sees some kind of involved terminal process going on, he or she might actually think you are working!

Anyway, let's first get URLToys set up. It may seem like a lot of work at first, but it will be worth it, trust me. At the end of this tutorial I'll show you how you can then use URLToys to perform a Fusk without having to sign up for websites like fusker.lewww.com, much less use your web-browser at all.

The first thing you Windows people will want to do before continuing with this little HOWTO is to get Perl up and running on your machine. I suggest starting with the ActivePerl installer and going from there. Once you're rocking with Perl, come back.

Update: No need to install Perl for Windows peeps! I finally got to try out the stand-alone version of URLToys for Windows last night and it works great. It's highly recommended you go this route instead if you don't yet have Perl installed on your machine. Simply run the installer and then launch URLToys from the Start menu. This will take you Windows people straight to the URLToys prompt - no need to install additional modules.

For the rest of us non-Windows users (OS X, FreeBSD, Linux, etc.), step one will be to download the standalone version of URLToys, save it somewhere safe, and then try to run it by typing into your terminal program:

perl /path/to/urltoys/urltoys.standalone

Or on Windows (see this link for help):

perl C:\path\to\urltoys\urltoys.standalone

Now it may very well be that after you hit enter you will get an error similar to this:

Can't locate LWP.pm in @INC (@INC contains: /System/Library/Perl/5.8.1/darwin-thread-multi-2level /System/Library/Perl/5.8.1 /Library/Perl/5.8.1/darwin-thread-multi-2level /Library/Perl/5.8.1 /Library/Perl /Network/Library/Perl/5.8.1/darwin-thread-multi-2level /Network/Library/Perl/5.8.1 /Network/Library/Perl .) at urltoys.standalone line 12.
BEGIN failed--compilation aborted at urltoys.standalone line 12.


That's no problem. All it means is that your version of Perl is missing a module that URLToys needs. In the case above, it's LWP.

The easiest way to install Perl modules is via what is called the CPAN shell. To start up the CPAN shell, run this command:

sudo perl -MCPAN -e shell

(You Windows people have it a little easier because you will have the Perl Package Manager which will let you browse-to and install modules via a user interface. Or, again, just use the standalone URLToys installer to avoid all the module fuss.)

If this is the first time you have ever run the CPAN shell you might have to go through a few configuration steps. Usually you are safe to simply go with the default answers. Eventually, you should get a prompt like this:

cpan shell -- CPAN exploration and modules installation (v1.7601)
ReadLine support available (try 'install Bundle::CPAN')

cpan>


From here, installing the LWP module is as simple as:

cpan>install LWP

The CPAN shell will then go through the rigamarole of compiling and installing the LWP module. Once LWP is installed, you can type "quit" to exit the CPAN shell. Then, try running URLToys again. If you don't need to install anything else, you will hopefully see:

URLToys (0)>

Which means you're in baby!

As I mentioned before, URLToys does A LOT of stuff. Way too much to fit in a single post. So, lets just try something we are already familiar with, a Fusk!

To Fusk the example from "A Fusking We Will Go", it's just a matter of entering:

URLToys (0)> fusk http://poop.net/pics/girl-[01-50].jpg

And then pressing return. Once you do, you will see the number "50" next to the URLToys prompt. This number represents how many files we have in our URLToys queue thanks to our Fusk command. To see a list of all these files, just type the "list" command and press return:

URLToys (50)> list
http://poop.net/pics/girl-01.jpg
http://poop.net/pics/girl-02.jpg
http://poop.net/pics/girl-03.jpg
http://poop.net/pics/girl-04.jpg
http://poop.net/pics/girl-05.jpg
http://poop.net/pics/girl-06.jpg
http://poop.net/pics/girl-07.jpg
http://poop.net/pics/girl-08.jpg
http://poop.net/pics/girl-09.jpg
http://poop.net/pics/girl-10.jpg
...


And then to download the files to your hard drive, use the "get" command:

URLToys (50)> get
Downloading "http://poop.net/pics/girl-01.jpg"...
[*************************] [ 19175b of 19175b | 1/50 (to 00000) ]
Downloading "http://poop.net/pics/girl-02.jpg"...
[********************-----] [ 45655b of 45655b | 2/50 (to 00000) ]


Awww, a cute little ASCII progress bar and everything!

Notice that URLToys nicely skips past the files that don't exist. Once your downloading is done, type "exit" to quit out of URLToys. Your picutres will have been downloaded into whatever directory you ran URLToys from, typically in a folder called "00000." (This number represents your URLToys session. If you were to start up URLToys agian immediately after this and perform another Fusk, those files would be in a directory called "00001.")

There you go, from the web to your HD in only a few minutes and with no browser middle-man, no mess and no fuss.

Make sure you hang on to URLToys, because we have a lot more to talk about at a later date. In the meantime, enjoy!

No comments:

Post a Comment