2005-01-24

Use Your Knowledge For Good

If you have a BitTorrent client installed and can't find a site that has whatever you're looking for (Mandrake Linux, for example), typing something like Mandrakelinux filetype:torrent into Google will do the trick.

Doing the same thing with "Hellboy" in place of "Mandrakelinux" would be wrong, though.

So just don't.

2005-01-23

eXeem. Tried it. Removed it.

Well, eXeem went into public beta a few days back. (Thanks for letting me know, arsi.)

I installed it, along with its happy little spyware buddy, Cydoor.

One nice thing is that eXeem reports download speeds far above any other P2P app I've ever used.

One bad thing is it was either lying about those speeds or just plain wrong. My other network software told me it wasn't doing anything any faster than BitComet would. That same software agrees with everything else I run except eXeem.

One nice thing is that you can use it to search a "decentralized network" for files to download.

One bad thing is that, according to my firewall logs, you're no more anonymous on this decentralized network than you are with any other P2P software. I've got a list of every IP address contacted during the search, and every IP address I swapped files with (Knoppix, if you're curious). Each of those computers, if they keep logs, also has my IP address. Hi, MPAA! How ya doin'? The phrase "decentralized network" sounds good, but if you're thinking it means "anonymous" you're wrong.

One nice thing is that it can generate a list of new files added to the network in the last however-many-hours.

One bad thing is that this list means nothing. Clicking on a filename doesn't get me the file. It tells me it's out there, but not how to get it. I imagine that's either an issue on my end or something that'll be fixed as the software evolves past Beta, but right now it's just a feature that takes too long to tell me what I could have downloaded if only, uh... if only.

It seemed stable enough, especially for Beta software. I probably could have figured out the New Files thing eventually, but by that point I'd stopped caring.

I briefly considered different ways to cut Cydoor off at the nads while keeping eXeem working. I briefly considered installing eXeem Lite (which strips away the spyware) until I went to its page and saw that it's being slapped together by some knob in his basement who I trust about as much as I trust the Cydoor folks themselves. Maybe that person is respected in the file sharing community. Beats me. Never heard of him. And that wouldn't mean squat, anyway. Respected among thieves. Wow.

Then I took another look at my firewall's logs. I'd allowed eXeem (and Cydoor) privileged status to pass whatever the hell it wanted to pass between my PC and the Net while I had it installed. Why not? I'd done a backup of everything important only a day ago. The most anyone will learn about me through whatever they find on my PC is that I write psychic crap for a living. I don't have a credit card, and the most secret information on my machine is my library card number. Oh no! Don't steal my identity and rack up killer late fees!

Anyway, looking through my logs showed that, along with eleven standard BitTorrent ports, it opened over 500 ports all over my system.

I understand it's got to talk to other computers to swap data. It's got to search using different ports. And because it's "more than a BitTorrent client" it'll use still more ports. But 500 different ports scattered all the way from 1026 to 65042? That's nuts. I've seen no documentation telling me what it's doing on all those ports. And even if there are docs out there somewhere, it's documentation of
a) closed-source software which is
b) developed by a new company that partners itself with a known malware vendor and
c) fronted by a Slovenian highschool student known only as "Sloncek" who
d) is for some reason granted God Status because he ran a site that made the MPAA mad at him. (So what?)

Give me a break. No thanks.

I uninstalled eXeem after two hours and swept my PC for spyware. Cydoor wasn't removed with eXeem (surprise) so I deleted it. Then I deleted the cache files that Cydoor left behind which both Ad-Aware and Spybot somehow missed. I don't remember the name of the directory. C:\Windows\System\CACHE600 or something like that. Look for the banner ads and javascript files. Or use Windows' find tool and search for "Cydoor." You'll find it.

Speaking of Cydoor, aside from installing itself secretly it did seem fairly well behaved. It didn't pop up ads when eXeem was closed. It didn't send all my web requests through a proxy. It didn't hijack Internet Explorer (er, now that I think about it, maybe it did. I really ought to open up IE some day). It didn't take it upon itself to download and run executables without my knowledge. However, Cydoor can and has done ALL of those things to others. I have no desire to keep something like that on my system, hoping it will continue to play nice. "I promise, baby. I'll change! I promise!" Bullshit. Even Mr. highschool boy's assurances that it'll be fine, just fine, don't bring me much comfort.

eXeem seems like nothing more than a slightly better Kazaa to me. One that's getting a lot of press because of that kid from Slovenia.

But I can get the files I want just as easily (and just as "anonymously," har, har) via other methods without handing my keys over to Cydoor, Sloncek and whoever else they play with.

Oh. News flash: Loki Torrent has banned eXeem from their site as of 01/23.

2005-01-17

How To Tweak BitTorrent For Speed

How To Tweak BitTorrent For Speed

Alright! Have you downloaded a Bittorrent client yet? If not, there are a lot of choices.

The original BitTorrent does the job with no fuss. It's not pretty to look at, and it's not intuitive to tweak for faster downloads, but it's easy-breezy. It's sort of the MS-Paint of BitTorrent clients.

Everyone seems to like Azureus. It's Java-based, so it should run on Windows, Linux, MacOS X, Unix... basically anything that has Java installed. It's got all the bells and whistles that a stats-freak could ever want. It's a great program and I like it a lot. But all those features and settings are in your face and pretty confusing if you're just starting out. You probably don't want this to be your first client if you're brand new to Bittorrent. It'd be a great 2nd client, though. Because it's Java based it requires some extra overhead. It runs pretty slowly on my low-end machine, but nobody with a Real Computer seems to be complaining about it, so who cares? Azureus is the Photoshop of BitTorrent clients.

A good middle ground (for Windows users) is BitComet. It's pretty sleek even on my PC. BitComet would be the PaintShop Pro of clients. It's easy enough to figure out, but reasonably tweakable if you're the tweaking type. BitComet is the one I use. I love BitComet.

There's another client out there called BitLord that looks just like BitComet, and works like it too. That's because it's ripped off directly from BitComet. Even their webpage is stolen. It contains the same spelling errors as the BitComet page. BitLord is just stolen code with a new name slapped on. Avoid BitLord. [sarcasm] You don't want to support the thieves that stole BitComet's code while you're illegally downloading TV shows, do you? I didn't think so. [/sarcasm]

Here's a bigger list which I lifted from the forums over at Loki Torrent. I make no recommendations other than what you've already read.
  1. ABC
  2. Azureus
  3. BitAnarch
  4. BitBuddy
  5. BitComet
  6. BitLord Look it up if you want to try it. I'm not linking to it.
  7. BitSpirit
  8. BitTornado
  9. BitTorrent Experimental
  10. BitTorrent Plus!
  11. BT++
  12. BTGetit
  13. BTManager
  14. BTQueue Manager
  15. burst!
  16. Comrade
  17. CTorrent
  18. Effusion
  19. Epicea
  20. Flash torrent!
  21. G3 Torrent
  22. Hive
  23. m1lk
  24. MarBitTorrent
  25. MLdonkey
  26. mlMac
  27. MoonlightTorrent
  28. NBT
  29. Nova Torrent
  30. Official BitTorrent
  31. PTC
  32. QTorrent
  33. Shareaza
  34. Simple BT
  35. Snark
  36. Sprout! Torrent
  37. Tomato Torrent
  38. TorrentStorm
  39. TorrenTopia
  40. TurboBT
  41. Turbo Torrent
  42. XanTorrent
  43. XBT Client
There's only one real hurdle to using BitTorrent (aside from finding stuff to download, but you can figure that out), and that's tweaking it to get those huge speeds I talked about in the previous post. The default settings probably won't work for you because it's different for each system. Figuring it out isn't intuitive, but if you're scaaaaared you can always use some other P2P app and suck your downloads through a straw. ;)

First off, like I described earlier, you're swapping information with lots of people at the same time, not just one. In the normal day-to-day world you don't need to upload all that fast. As long as your requests to "send me another web page" get to the servers on the other end, all is good. But in BitTorrentLand, the faster you upload the faster you can download. You've got to allow your client to send lots of chunks to lots of other computers, and to receive other chunks from them. This means that instead of opening your door just a crack to pass a note to your neighbor, you've got to open it wider so you can pass a whole bunch of notes. In other words, you've got to tell your router or your software firewall (like ZoneAlarm) to open up some ports whenever you're using BitTorrent.

BitTorrent can use ports 6881-6999 to transfer files. If you're shy you can get by with just opening ports 6881-6889. That should do fine. I don't use a software firewall so I can't tell you how to set that up. It may be just a matter of clicking "let this program connect to the Internet" when your firewall program pops up a warning window. But if you can get to the innards of your firewall program, try to tell it to open up more than just one port. Ten of them (ports 6881-6889) should be good enough for most people, but even more is good, too.

Here's how I have my router set.



If you're sharing an Internet connection with other computers behind the same router, you'll want to set up "port forwarding" so that all the proper data goes to the proper computer. Basically, you've got to tell your router to always assign computer "A" one specific address, and computer "B" a different specific address. Those addresses shouldn't change. Then you tell it to send BitTorrent traffic on ports W through X to the first computer and BitTorrent traffic on ports Y through Z to the other one. That way everyone gets what they're supposed to be getting. There's information on how to do this for many different brands and models of router at the Port Forward site.
Note: If you're concerned about poking holes in your carefully set-up security, good. You should always be wary. Make sure the client you're using closes those ports when it's done with them (BitComet does). If you use ZoneAlarm, tell it to let only BitTorrent traffic through those ports.
Once you've got your firewall and router set up you still may not be getting screaming fast downloads with BitTorrent. There are several reasons why that might be. First of all, you must give to receive. If you're only squirting out data to others in your swarm at a measly 2kB/s, you're not contributing much. You won't get much in return.

Go into your program's settings and make some changes. Remember how I said I have a 3Mbps download/512kbps upload connection? Take that 512kbit figure and convert it to kBytes by dividing it by 8. This is your theoretical maximum upload speed. Mine is 64kB per second. Now I don't want to send out chunks of file *that* fast! Firstly, I have to leave room to send out "I got that last chunk, please send me a new one now" messages. And I'll be sending a lot of those. I also want to leave some room for normal web surfing, email sending and whatnot.

Allocating about 80% of your upload bandwidth to BitTorrent while you're connected is just about perfect. That still gives you plenty of wiggle-room for your other normal bandwidth usage. 80% of my 64kB/s is 51.2. I've set BitComet up to use 50kB/s for uploading.



That's it. Everything's tweaked. A lot of noobs who don't take the time to adjust their settings properly complain that their downloads crawl along at only 5 or 10kB/second. Some of them just give up on BitTorrent altogether. But when there are a lot of people connected to a swarm, I often download at 250kB/second.

If your downloads are still too slow it could be that the torrent is relatively new and there's not a lot of data out there to swap around. Stay connected! The speeds will likely start to climb higher and higher as more data gets uploaded to the swarm and as more people join in.

If interest in the file is low or dropping (nobody else is interested in downloading the Tom Waits' discography but you and some other unzercrazy guy), you might just have to deal with it and take what you can get.

If you see that a bunch of "peers" or "leeches" are connected (downloaders) but no "seeds" (people with an entire copy), you might be SOL, or all of the peers combined may have all the pieces you need. Stay connected for a while and see what happens. (Azureus lets you know if all the necessary parts are out there. BitComet doesn't.) It's common courtesy (or it SHOULD be!) to stay connected to the swarm of file traders until you've uploaded as much data as you've downloaded. That way everyone gets a fair shot at it.

Incidentally, there is no previewing of partial downloads. You're getting random chunks from random positions in the original file. Only once you've downloaded the whole thing will you be able to open it.

-----

Arsi mentioned Exeem as a possible contender for the next generation of P2P apps. They say it'll be anonymous and private. But it's still in closed Beta, meaning only a couple thousand people are testing it at the moment. Until it goes public, nobody will know if it does what it claims for BIG groups of people. There are also rumors (which are just that, so don't jump on me) that it's adware, meaning that someone will be making money from it. Meaning that the MPAA will have someone juicy to target. I've also heard rumors that it contains spyware. I don't know if that's true or not, but once it's released we'll all know for sure.

Other rumors are that the code is private rather than open source. That's not good, because the MPAA shutting down one company will shut down the whole Exeem network. If Exeem makes the code public then everyone will be writing their own ports. That would be a good thing, because not all of them will be tied to someone's physical bank account.

I'm eagerly awaiting Exeem, and I hope it's as good as they say it's going to be. But, for now, BitTorrent kicks Exeem's ass because, well, you can use BitTorrent and you can't use the other. :)

WTF is BitTorrent?

I'm totally addicted to Bittorrent. As the hype builds, more and more mainstream people are hearing about it, which means more and more people are donating their bandwidth to the cause. (It also means the RIAA and the MPAA are getting more and more pissed off about it.)

If you're asking yourself WTF Bittorrent is, here's a quick run-down.

Bittorrent is for sharing files with other people, like Napster back in the day, or Kazaa. It's not a program, it's a protocol, like FTP. You use a Bittorrent client, like you'd use an FTP client.

I'll tell you how it works, but first a little background.

Your high-speed connection is really fast at downloading, but not so hot at uploading. That's why it takes longer to upload your 200k picture to a contest than it does to view a contest page full of pictures. For example, my cable connection ideally lets me download at 3 megabits per second (Mbps), but I can only upload at 512 kilobits/second (kbps), or 1/6 the speed. An upload takes six times longer than the equivalent download.

What if I have a big file that you want, and I'm sharing it through Napster? Your computer connects with mine and you start downloading. Simple. But you can't get it any faster than I can send it. So even if you have a super-fast cable connection, the best download speed you'll get is my 512kbps. That's 64kB (kilobytes) per second.

Actually, you can count on it going slower than that for a whole lot of reasons. I might be uploading that same file to other people (or totally different files), which eats into your download speed. I might be surfing the net, uploading my page requests to different websites. Mister_IQ might be watching me on my naughty webcam. Whatever. The point is that you won't be getting that big file from me any time soon, because I can only upload it to you so fast.

Now imagine fifty of you want my file. Ack! You'll be waiting a long time. I could get around that by uploading it to a big server that has more bandwidth than I do. You can download faster from the webspace my ISP provides than you can directly from my PC.

What if five thousand of you want it? Even the big servers are going to take a hit with 5000 people all trying to download a massive file at once. That's why it sucks trying to get the latest patch for your favorite game or OS.

Metaphor time. I've got a huge book, say it's the Encyclopedia Britannica, and you all want copies. I have to Xerox each page and send a copy to you, and to Joe-Bob, and to John-Boy, and to Fred... I'm doing a whole lot of sending, and I'm doing it slowly. And you, you lazy bum? You're doing nothing but screaming at me. "More! More! More!"

So why is Bittorrent any better? Because the guy who invented the protocol had one of those "why didn't I think of that?" moments.

Here it is in a nutshell. We'll stick with the Encyclopedia metaphor for a bit. I post an index card to a bulletin board. "I have an Encyclopedia I want to share. Call me at 555-1234 and I'll mail you a copy." Now, I can't afford the postage to Xerox all the books and ship all of them to all of you at once (low upload bandwidth) but I can afford to send each of you a copy of one book from the set of 26. So I send Volume A to Amos, and Volume B to Bob, and Volume C to Cindy... Pretty soon, you all have 1/26th of the book.

And it took forever. :(

But now for the magic. You all Xerox what you have and send that to each other. Gary sends a copy of Volume G to Hank. Hank sends a copy of Volume H to Isaac... What you're doing is agreeing to use some of your own postage (your own upload bandwidth) to ensure that you, and everyone else, gets a complete set of encyclopedias. I've sent the whole thing out once, and you're going to end up sending it out once, too. And when we're all done, everyone will have a copy.

Yay!

But it still took forever. :(

Well, yes. At first it does take a while. It takes just as long for ONE person to get a whole encyclopedia from me the old way, too. But it quickly speeds up! Imagine someone new joins the swarm of traders. "Hey guys, can I have some, too?" So everyone sends him 1/26th of their encyclopedias (as fast as they can) and he gets it really, really fast.

If he sticks around and helps out with sending, things will go even faster for the next people to join the swarm. Eventually, everyone's tiny upload speeds contribute to make for some really huge download speeds.

That's Bittorrent. Everyone takes lots of little chunks from everyone else, and sends a few little chunks back down the pipe, donating their upload bandwidth to the cause. It starts out slow, but in a little bit it starts accelerating. Soon, there's bandwidth to spare! Everyone's downloading at super-fast speeds.

There are a few catches, of course. That's life. Number one is you are not anonymous. To communicate, you have to swap addresses with other computers. It's probably easier for the RIAA and the MPAA to figure out who's swapping what (and who started it) with Bittorrent than with any other P2P network. Google for some news and you'll find there's a company already claiming to be able to figure out who was the first to upload the latest Metallica CD. Luckily, the lawyers seem to be targeting the initial uploaders way more than the rest of the sharers (makes sense, of course). You never were anonymous with Napster, either, but it makes a big difference now because of catch number two.

Catch number two is that, because you are helping to distribute files, if you're trading illegal stuff the RIAA/MPAA combo can target YOU. Before, you could leech files on Napster and let the guy sharing them take all the risk of getting caught. Now, just asking for a copy of Metallica's latest makes you guilty (of more than bad taste, I mean). It's not just "out there and you happened to pick it up" anymore. With Bittorrent you actively help trade it with others. It'll suck to be you when the band's lawyers come knocking.

Catch number three isn't so bad. It's common courtesy to donate as much bandwidth to the cause as you can. That means you DON'T download your giant file and then log off as soon as you've got it all. You're supposed to stay connected until you've uploaded as many bytes as you've downloaded, or be generous and upload even more. If nobody stayed connected the whole house of cards would come falling down. If you and everyone else has all the encyclopedia volumes except for Volume X, you're all screwed until someone who has that particular book joins in. So stick around. Let your Bittorrent client run in the background after you're done downloading. It'll help others get the same file, just like they all helped you! How would you feel if nobody helped you. Sad and lonely. Poor you. :(

So that's Bittorrent.

I've got a big file, a 1.8 GB, three-CD Linux distribution, for example. I tell my Bittorrent software to create a torrent file - an index that describes what I want to share. That torrent file is pretty small, maybe only 100KB. I upload that to a webserver somewhere and then tell a website that indexes such things about it and they spread the word. "Galoot's got a big one, and he wants you to see it!"

That website runs a tracker. which tells the Bittorrent clients of interested downloaders which parts to download from me and from each other. The tracker is sort of like a traffic cop. Soon, everyone has the giant file. The end.

Right now I'm seeding (uploading) a 208MB file. A legal one, of course. So far I've uploaded 284MB at a measly 50kB/s.
  • One guy already has 60% of the file.
  • Two have 46%.
  • Three have 35%.
  • Nine have between 10% and 30%.
  • Fifteen latecomers each have around 10%.
Overall, though I've only uploaded 284MB, over 600MB have already been swapped around between those other folks. Meaning that I didn't have to upload 600MB to the swarm to get all that data to all those people. And that 600MB figure is going to grow a lot faster than the 284MB figure will. If enough people want this file it will grow exponentially faster. 5000 people can have this file tomorrow while I've only uploaded it maybe five times. By then I can log off and it'll keep snowballing for as long as people are interested.

That's cool! That's why I love Bittorrent.

The bad news? It can't last. It's TOO efficient. Everyone's talking about it, which means the MPAA is already shutting sites down. They closed down some really big sites in the Bittorrent community late last year already, and they're still at it.

The good news? It's a genius of a protocol, and as soon as someone figures out how to remove the central server (the index of torrent files and the tracker/traffic-cop-program) from the equation, it'll be unstoppable. As it is, if you just want to swap with your buddies you can run your own tracker program and not tell the public.

In the meantime, if you have huge legal files to share (like Linux distros or Creative Commons licensed videos or music), or want to download them, Bittorrent is the best way to do it. Check out Legal Torrents for some neat stuff. If you're feeling sassy, you can find a list of Bittorrent sites indexing files that will make the MPAA and RIAA mad at you. btsites.tk has a list of places to start.

One site you may have already heard of is The Pirate Bay. They're the ones who received a legal threat from DreamWorks, based on the DMCA, after hosting a Shrek 2 torrent. They responded with:

"As you may or may not be aware, Sweden is not a state in the United States of America. Sweden is a country in northern Europe... US law does not apply here... no Swedish law is being violated."
and
"It is the opinion of us and our lawyers that you are fucking morons, and that you should please go sodomize yourself with retractable batons.

Please also note that your e-mail and letter will be published in full on http://www.thepiratebay.org.

Go fuck yourself."


Fun.


Next post: How to properly set up your Bittorrent client (or "Why I'm downloading at 250KB per second and the newbies are only downloading at 5 or 10").