bittorrent

Why haven't torrents replaced HTTP downloads?

It seems to me that many sites are wasting a lot of bandwidth by providing file downloads over HTTP. If 10,000 users download a 20MB file, the website uses 200,000MB of bandwidth, assuming nothing fancy is done by the ISPs, like caching, etc. (I'm just trying to provide a simple example.) Here's my idea: Rather than providing a direct l...

Is there a Delphi/FreePascal BitTorrent library?

I'm doing a feed reader type of application for torrents. Something to give you a sound when it's sitting in the tray and a new torrent shows up on one of your categories of choice. This will be done in Delphi or FreePascal when it's solid. My question is due to the possible need to integrate a BT client in the future. ...

'Looser' typing in C# by casting down the inheritance tree

The question I want to ask is thus: Is casting down the inheritance tree (ie. towards a more specialiased class) from inside an abstract class excusable, or even a good thing, or is it always a poor choice with better options available? Now, the example of why I think it can be used for good. I recently implemented Bencoding from the ...

Why isn't bittorrent more widespread?

I suppose this question is a variation on a theme, but different. Torrents will never replace HTTP, or even FTP download options. This said, why aren't there torrent links next to those options on more websites? I'm imagining a web-system whereby downloaded files are able to be downloaded via HTTP, say from http://example.com/downloads...

PHP Module for reading torrent files

Is there a PHP module that you can use to programmatically read a torrent to find out information about it, Seeders for instance? ...

Looking for some good books/resources on understanding Bittorrent?

Looking for some good books or technical resources for a detailed understanding of how Bittorrent works? It would probably involve books on Network programming, P2P programming, and other topics. ...

Reading the fileset from a torrent

I want to (quickly) put a program/script together to read the fileset from a .torrent file. I want to then use that set to delete any files from a specific directory that do not belong to the torrent. Any recommendations on a handy library for reading this index from the .torrent file? Whilst I don't object to it, I don't want to be dig...

Is BitTorrent good for copy files between servers in the workplace?

I have 1 source server that contains about 30GB of files that I want to copy to 7 other servers. I currently SCP the files over to the first four servers and when that transfer is complete SCP to the last 3 servers. Would using BitTorrent be faster to distribute the files to all 7 at once? The connection internally is already fast and...

Convert NSData bytes to NSString?

I'm trying to use the BEncoding ObjC class to decode a .torrent file. NSData *rawdata = [NSData dataWithContentsOfFile:@"/path/to/the.torrent"]; NSData *torrent = [BEncoding objectFromEncodedData:rawdata]; When I NSLog torrent I get the following: { announce = <68747470 3a2f2f74 6f727265 6e742e75 62756e74 752e636f 6d3a3639 36392f...

How feasible would a completely/semi autonomous P2P network for multiplayer games be?

I've been mulling over how one would go about creating a P2P system (like BitTorrent is for files) for playing multiplayer games. The idea is to remove the traditional server from the multiplayer architecture. I understand that some sort of server may be necessary for initiating the communications and sending world updates etc, but I'm i...

A BitTorrent client completely written in C# ?

Is there a BitTorrent client written completely (I mean completely) written in C# ? I am aware of the BitTorrent clients written in mono, I absolutely love it. Are there any other opensource BitTorrent clients other than MonoTorrent & BitSharp written in C# which is under development? Just wondering how much of an interest an "opensour...

How do you build a torrent file indexer?

I am curious about the technology behind a search engine like torrentz.com. From what I could observe, it doesn't host any torrent files, but rather connects you to other servers that do. you search for keywords, it brings up a list of potential titles matching your search. then you pick one of these and it provides you with another...

BitSharp / MonoTorrent chokes all peers

I am writing a library to download files via bittorrent. There will be no user intervention. The user is to be blissfully unaware that files are even being downloaded. I've chosen BitTorrent as the preferred method of transferring the files, and built the application around the MonoTorrent library. On my server I am running the bttrack...

Does BitTorrent support partial transfers?

Can the BitTorrent protocol specify wanting the first 3% or first 5% of the file first? If not, would adding such support be an improvement to the protocol? Update: so i guess, if it is part of the protocol, why the many clients out there do not use it? After 10 minutes, 10% of the file is done, but usually you cannot even preview 1% o...

Java BitTorrent library

Are there any decent BitTorrent libraries for Java? I need to program a simple torrent client, but it would be great if I didn't have to write everything from scratch. ...

How to gather torrent stats based on tracker?

Having read the torrent specification over and over, I'm still having troubles gathering the number of peers (say, seeds and leechs)from a [BitTorrent] tracker using PHP. Having access to the server is no problem at all. Can anyone point me in the right direction? Specification here: http://wiki.theory.org/BitTorrentSpecification#Trac...

Implementing Bittorrent Protocol

I am looking for a tutorial/blog post on how to implement bittorrent protocol step by step. How it works? How do you make requests to peers? and talk to trackers. I do not mind the programming language (java,ruby,perl,c#) ...

Calculating bittorent info_hash with java

I am trying to calculate the info_hash value for a torrent. I read the whole torrent into StringBuffer, then cut it like the following: d8:announce...info[d6:length...e]e I can't seem to get the correct hash. Does reading the torrent into a StringBuffer corrupt the byte string at the end? Am I missing something? public void calculate...

Bittorrent tracker request

Using a torrent file from http://torrent.ubuntu.com:6969/ I am calculating its hash which matches with the hash on the page. Then i make a request to the tracker. Like http://torrent.ubuntu.com:6969/announce?info_hash=9a81333c1b16e4a83c10f3052c1590aadf5e2e20 But i get d14:failure reason63:Requested download is not authorized...

Bittorrent Peer Wire Protocol implementing in Java

I have a couple of questions regarding the Bittorrent Peer Wire Protocol. I am trying to implement it in Java using this spec. In Peer Wire Protocol section it says that all integers are four byte big endian values. AFAIK java uses big endian. Does that mean say if i want to send a choke message choke:<len=0001><id=0> Do i just write ...