December 18, 2006

Geek

So There I Was

Looking for an open-source BitTorrent tracker written in Python that I could hook into Minx...

Doh!

Yeah. That one might work.

Update: The art of helpful commenting:

# code duplication because ow.
I know the feeling.

Update: Yuggech.

Okay, so it's been a while since I installed the standard BitTorrent package on Linux.

The last time I did so was 4.0.something. The current release is 5.0.3.

4.0.x required Python 2.2 or later.

As for 5.0.3:

* Install Python, version 2.3 or later. (2.4 recommended) -- Fine. Got that.
* Install wxWidgets, version 2.6 or later, in the Unicode flavor. -- I'm not installing wxWidgets on a server just to make BitTorrent happy! I hope that this is only actually required for the GUI apps.
* Install wxPython, version 2.6 or later, in the Unicode flavor. -- Sod off.
* Install GTK, version 2.6 or later. -- Bugger that.
* Install Twisted, version 2 or later. -- No.
* Install PyCrypto, version 2 or later. -- Now that is actually a darn good idea.
* Install Psyco. -- Psyco is good. Requiring Psyco is very very bad.
* Install Zope.Interface. -- Sod off!
Fortunately, bittorrent.com provides a download site for previous versions. Version 4.4.0 (from January this year) appears to be the last release before they went dependency-crazy. It uses Twisted if you have it installed, but falls back to its own code if Twisted is not available. That's fine.

So 4.4.0 it is. 4.4 seems to be the end of a stable release, followed by a completely new release with these features:

* completely new UI -- Don't need it or want it.
* smart download/queuing behavior -- Don't need it.
* smart seeding behavior -- Don't need it.
* torrent priority system -- Don't need it.
* detailed progress bar and "piece bar" progress bar -- Don't need it.
* better save location management ("incomplete" and "finished" locations) -- Completely irrelevant.
* automatic bandwidth management - Hmm.
* download rate control -- Don't need it.
* transfer rate graphs -- Don't need it.
* choose which files to download first from a torrent -- Don't need it.
* better error handling and reporting -- Hmm.
* fast extensions (see bittorrent.org) -- Useful, yes, but not here.
* torrent "title" support (see bittorrent.org) -- There's nothing on bittorrent.org!
* multiple tracker support -- Actually, that might be something I could use.
* encryption support -- Don't need it.
* Zeroconf ("Rendezvous") local discovery -- Don't need it.
* sparse files -- Don't need it.
* threaded Disk IO -- Don't need it.
* translation update system -- Don't need it.
* now using wxWidgets instead of GTK on Windows, GUI is now native and should be a lot more stable -- Don't need it, don't want it, just make it go away!
* removed support for Python 2.2 -- Whatev.
I guess I can use 4.4.0 and then libtorrent if I need to.

Thanks, BitTorrent peeps, for at least keeping 4.4 around.

Update: libtorrent won't compile. Somewhere, deep in the jungle, a library is missing a .h file. Or something. Ick.

Update: The other thing I want to note, is that for something so popular, BitTorrent is incredibly underdocumented. The only place that the options to the tracker module are documented are in the program, and the only way to find them is by running the program, because they're all in translation files, and if you don't have all the crazy dependencies installed you can't run the program.

Blah.

Here's to statically-linked binaries. Yeah, I know they suck too. But they suck differently.

Posted by: Pixy Misa at 01:40 PM | Comments (44) | Add Comment | Trackbacks (Suck)

1 Shamus talked about this, too.
This is one of the big reasons why Linux is never going to be a real threat to Microsoft on the desktop.

Posted by: Steven Den Beste at December 18, 2006 05:08 PM (+rSRq)

2 Yeah.

It's perfectly possibly to do this right - 4.4.0 is just fine, after all.

Now, Minx has a few dependencies too - CherryPy, PIL, Psyco, MySQL-Python (and MySQL, of course), and now memcached, which itself requires libevent. But I don't expect anyone but me to ever have to install it.

This is a big reason why PHP is so popular - just write your program and drop it on the web server. The fact that your server gets pwned by spammers within the following 24 hours is a small price to pay... or at least, that seems to be the prevailing opinion in much of the PHP community.

As for Windows: broken dependencies are relatively rare, that's true, because Windows applications are almost always precompiled, or at least prepackaged.

BitTorrent is written in Python, even on Windows. The Windows installer for BitTorrent helpfully avoids the dependency issue by installing its own copies of everything.

Posted by: Pixy Misa at December 18, 2006 09:18 PM (PiXy!)

3 Sad, really. I miss the days when the official BT package only required Python. I don't think I'd have even tried to build my content-distribution system around it if I'd had to install all of that crap on my Solaris servers.

With 3.2.x, I think it took less than an hour to build Python, hack together the first version of my wrapper scripts, and push my first half-gig test file to 600 machines. It sounds like the current version would chew up a day of my time just tracking down dependencies.

-j

Posted by: J Greely at December 19, 2006 02:33 AM (2XtN5)

4 You mentioned having problems with bittorrent under windows some time ago -- I ran into this problem not long ago. Some digging showed that Bittorrent was using an obscene amount of memory and locking up (and crashing) the entire machine.
Switched to utorrent (utorrent.com, natch) which is considerably more stable and advanced (lots of nice features), but is Windows only, unfortunately.
Anyhow. Probably useless data for you now, but just in case you ever want to move your downloads to a wintel machine.

Posted by: bkw at December 19, 2006 01:25 PM (KhFAm)

5 I was using Azureus for a long time, then that went insane and chewed up obscene amounts of memory. So I ended up on uTorrent, like you.

I'm tinkering with the original BitTorrent for hosting torrents and auto-seeding them. I was running a tracker called Broadcast Machine, but it had some really annoying bugs and seems to have fallen out of maintenance.

Posted by: Pixy Misa at December 19, 2006 06:45 PM (PiXy!)

6 erida tnoz qpia pznw dmnurbi olfsgwd tpvuhzd

Posted by: mihjl vmsxyr at June 04, 2007 05:53 PM (ZD1YV)

7 WoW Gold
Vanguard Gold
Lord of the Rings Online Gold
WoW Gold
WoW Gold
Bracelets
Mystery Shopper
Air Humidifiers
Cell Phone Contract
Wrist Bands
Belly Rings
Tux Tuxedos
Light Bulbs
Wallets
Memory Foam
PAYG Phones
Kitchen Sinks
Rubber Bracelets
Body Jewelry
Duffle Duffel Bags
Lighting Lamps
Lingerie
Flaslights
Spas Resorts
Bar Counters Stools
Necklaces
Wig Wigs
Prom Dresses
Pic Picture Frames
Sunglasses
hobo totes
luggage cases
luggage suitcases
prada totes
straw totes
totes bag
totes purses
black rug
bracelet charms
duffle bags
micrphones headsets
necklace charm
plantronics headset
sennheiser headphones
tote bag
bose headphones
chain pendants
headsets phones
motorola headset
noise headphones
plantronics wireless headset
sony mdr headphones

Posted by: wow gold at June 09, 2007 10:18 AM (30Lqa)

8 cheap@viagra.com

Posted by: cheap viagra at June 23, 2007 11:09 PM (u9JHf)

9 cheap@cialis.com

Posted by: buy cialis at June 24, 2007 10:56 PM (0AG4v)

10 cheap@levitra.com

Posted by: generic levitra at June 25, 2007 11:11 PM (3aKDd)

11 sale@mp3.com

Posted by: Eagles download at July 05, 2007 05:37 AM (k6FdZ)

12 cheap@giag.com

Posted by: generic viagra at July 28, 2007 10:40 AM (HCv7M)

13 jyruvla geqsad cdfbgt yvmaz tfaoj lrfxvgsj npjhufgio

Posted by: bmzftn okhdagszi at August 03, 2007 06:15 PM (x3cDg)

14
levitra online
order levitra
order levitra online
buy levitra
buy levitra online
XzweAq

Posted by: buy levitra at August 23, 2007 06:19 AM (KoZro)

15 http://www.esnips.com/user/ucakocafauqut?session=dk83jdh663hfjh29

Posted by: postyourgirls at August 14, 2008 12:25 PM (sAMBY)

16 <a href="http://www.giggle.com">link</a>

Posted by: georgex at December 08, 2010 01:40 AM (ZbNv7)

17 <a href="http://www.myshoeonline.com/Christian-Louboutin-mens-Sneakers.html" title="Replica Christian Louboutin mens Sneakers">Christian Louboutin mens Sneakers</a>

Posted by: georgex at December 08, 2010 01:50 AM (ZbNv7)

18 Replica Christian Louboutin mens Sneakers

Posted by: georgex at December 08, 2010 01:51 AM (ZbNv7)

Hide Comments | Add Comment






Processing 0.01, elapsed 0.0252 seconds.
16 queries taking 0.0198 seconds, 40 records returned.
Page size 19 kb.
Powered by Minx 0.8 beta.