NOTICE: This channel is no longer actively logged.
[00:04:02] *** Waldorf has joined #bittorrent [00:05:05] *** chelz has joined #bittorrent [00:21:29] *** Nolar_ has joined #bittorrent [00:21:55] *** Nolar has quit IRC [00:22:04] *** Nolar_ is now known as Nolar [00:37:48] *** void^ has quit IRC [00:57:19] *** stalled_ has joined #bittorrent [00:57:20] *** stalled has quit IRC [00:57:53] *** stalled_ is now known as stalled [01:06:56] *** Waldorf has quit IRC [01:22:15] *** Koper` has joined #bittorrent [01:22:27] <Koper`> Hi.. [01:23:24] <Koper`> How do private trackers work? They add some sort of information to the tracker URL.. For example, http://tracker.bittorrent.com/AAF22BA194C [01:23:42] <Koper`> But how do they usually generate that info? It changes for each torrent, but it's always the same if I download the torrent twice [01:24:12] <Koper`> Let's say that it's an hash of my password + the torrent id, for example, that would explain how it doesn't change.. But then, when I connect to the tracker, how can they reverse the hash? [01:24:16] <Koper`> ie, how can they know who I am ? [01:25:37] <TheSHAD0W> I think there are several ways they do it. [01:25:59] <TheSHAD0W> There's no real standard for it. [01:26:39] <Koper`> well, can you tell me just a couple of working examples ? [01:27:24] <TheSHAD0W> Nope. [01:27:37] <Koper`> Guess what I'm gonna ask next! [01:27:49] <TheSHAD0W> It's not part of the BitTorrent spec, it's been kludged in by private tracker owners. [01:27:59] <TheSHAD0W> We really don't have any details. [01:29:11] <Koper`> Well the bittorrent spec itself is very ambiguous and not really formal, in fact from my understanding the real bittorrent protocol is dictated by what the clients do in the real world [01:29:49] <TheSHAD0W> There are extensions that aren't very standard, but the base spec is fairly down pat. [01:29:53] <TheSHAD0W> See bittorrent.org. [01:35:19] <TheSHAD0W> Reboot! [01:35:39] *** TheSHAD0W has quit IRC [01:36:23] *** Harold_parker has quit IRC [01:37:30] <deltab> Koper`: it could be something like torrent-id + user-id + hash(torrent-id + user-id) [01:38:25] <Koper`> torrent id is the info_hash which is already part of the protocol [01:38:29] *** klapaucjusz has joined #bittorrent [01:38:30] <Koper`> the user id is in there, then there is that hash [01:38:45] <Koper`> it contains the password for sure, what i don't understand is how can it be different for each torrent [01:39:01] <Koper`> Maybe it's something stupid like password_hash ^ info_hash (^ is XOR) [01:39:24] <Koper`> security through obscurity, to avoid people taking the hash and using it for a different torrent [01:39:45] <deltab> no need if you make the torrent id part of the hash [01:40:16] <deltab> user-id + hash(torrent-id + user-id + secret) [01:40:49] <Koper`> hm.. That actually makes sense [01:40:50] <Koper`> Thanks [01:41:13] <Koper`> This way if someone has the hash he/she cannot use it for another torrent [01:41:52] <deltab> nor can they generate another hash without the secret [01:42:51] *** TheSHAD0W has joined #bittorrent [01:48:33] <deltab> Koper`: or to hide the user id, they can encrypt torrent-id + user-id [01:48:49] <deltab> and decrypt it when it's received [02:06:06] *** jnpplf has quit IRC [02:06:08] *** jnpplf has joined #bittorrent [02:12:12] *** andar2 has quit IRC [02:39:50] <Koper`> Anyways [02:40:08] <Koper`> I tried to create a torrent tracker that actually always sends the same response, which is: [02:40:10] <Koper`> d15:warning message39:this is an example of a warning message8:intervali10e12:min intervali5e8:completei1000e10:incompletei500ed7:peer id10:01234567892:ip9:127.0.0.94:porti6668eee [02:40:20] <Koper`> uTorrent refuses it saying that it's invalid, I don't understand why [02:40:58] <Koper`> oh, got it [02:45:17] <Koper`> Anyways, this one SHOULD be correct: d15:warning message39:this is an example of a warning message8:intervali10e12:min intervali5e8:completei1000e10:incompletei500e5:peersd2:ip9:127.0.0.94:porti6668eee [02:45:22] <Koper`> And yet it says it has no "peers" field [02:46:17] <TheSHAD0W> peers should be a list or a string, not a dict. [02:46:28] <TheSHAD0W> Actually, a list of dicts. [02:49:16] <Koper`> OHH [02:49:17] <Koper`> Thanks [02:49:24] *** ajaya has quit IRC [02:49:31] <Koper`> I misread the spec.. [02:50:10] <Koper`> Also another thing, it says that in dictionaries keys must be sent in alphabetical order for some reason.. For example that example above would be invalid because the key "warning message" comes before "complete" [02:50:25] <Koper`> Do i actually need to respect that? uTorrent doesn't complain [02:50:35] <TheSHAD0W> You ought to. [02:51:07] <Koper`> Bram Cohen was probably drunk that night [02:51:08] <Koper`> =p [02:56:06] *** jnpplf has quit IRC [02:56:47] *** jnpplf has joined #bittorrent [03:06:08] <The_8472> no, it has a purpose [03:06:29] <The_8472> just because you don't understand it doesn't mean it's non-existent ^^ [03:07:25] <TheSHAD0W> It means bencode(bdecode(x)) == x. [03:07:48] <TheSHAD0W> Which can be important when you're working with sha(x). [03:10:34] <The_8472> shhh, you're giving all our secrets how to make clients non-breaky away! [03:10:42] <klapaucjusz> Hmm, this means that my DHT is broken. [03:13:58] <klapaucjusz> http://trac.transmissionbt.com/ticket/2767 [03:14:10] <klapaucjusz> I'm an idiot. [03:19:53] <The_8472> most bdecoders are like browsers... trying to make sense of the garbage others send [03:24:24] <klapaucjusz> It would actually take a particularly bloody-minded decoder to reject unsorted dictionaries. [03:29:08] <The_8472> it's called enforcing standards. fail-fast behavior would have caused you to realize your issue far sooner [03:29:23] <The_8472> but people somehow don't do fail fast [03:29:58] <The_8472> because the others don't do it either, and so if you do it users come and complain "bwahhh, but client X can somehow handle it!" [03:31:50] <The_8472> btw, aren't you using transmission's bencoder? [03:37:14] *** klapaucj1sz has joined #bittorrent [03:40:36] <The_8472> hah, ipv4 is drawing its last breaths. the ICANN is freeing up some reserved address blocks ^.^ [03:40:36] <klapaucj1sz> No, I'm not using Transmission's bencoder. [03:41:03] <klapaucj1sz> The DHT is a stand-alone library, which is used by Transmission, Hekate, and by the standalone binary. [03:41:14] <klapaucj1sz> So it has its own bencode formatter and parser. [03:41:18] <klapaucj1sz> Both of which are buggy. [03:41:34] <klapaucj1sz> Link? [03:42:04] <The_8472> http://tools.ietf.org/html/rfc5735 [03:44:01] <klapaucj1sz> Hmm. [03:44:29] <klapaucj1sz> I don't see where it says that. [03:44:49] <klapaucj1sz> Class E is still reserved. [03:46:00] <klapaucj1sz> 223.255.255.0/24 is no longer reserved, but that's just a /24. [03:46:40] <klapaucj1sz> Ah, nets 14, 24, 39 and 128. [03:46:52] <klapaucj1sz> 14, at least, is old news. [03:47:15] <The_8472> 14.0.0.0/8, 128.0.0.0/16, 191.255.0.0/16, 223.255.255.0./24, 24.0.0.0/8, 39.0.0.0/8 are freed now [03:48:00] * klapaucj1sz is tempted to make a Slashdot submission. [03:49:59] *** klapaucjusz has quit IRC [03:50:07] *** klapaucj1sz is now known as klapaucjusz [03:50:30] <TheSHAD0W> Should. [04:04:50] <klapaucjusz> http://ipv6.pastebin.com/d52ade66b [04:06:00] <klapaucjusz> Imprimatur? [04:06:31] <TheSHAD0W> That'll work. [04:08:29] *** BentMyWookie has joined #bittorrent [04:08:38] <klapaucjusz> Done. [04:09:05] <TheSHAD0W> Found and kicked. [04:09:21] <deltab> Koper`: requiring the same order means that two encoders, given the same input, will produce the same output [04:11:15] <deltab> so they'll have the same hash [04:11:42] <deltab> ... as TheSHAD0W mentioned [04:17:45] *** The_8472 has quit IRC [04:53:47] *** chalcedony has quit IRC [05:21:46] *** klapaucjusz has quit IRC [05:46:38] *** goussx has quit IRC [05:57:48] *** Switeck has joined #bittorrent [05:58:12] *** GTHK has quit IRC [06:10:29] *** kwinz2 has quit IRC [06:13:39] *** kwinz2 has joined #bittorrent [06:16:41] *** goussx has joined #bittorrent [06:19:06] *** MassaRoddel has quit IRC [06:31:34] *** kwinz2 has quit IRC [06:41:39] *** KyleK_ has joined #bittorrent [06:48:39] *** _rafi2_ has joined #bittorrent [06:49:30] *** edigaryev has joined #bittorrent [07:06:03] *** KyleK_ has quit IRC [07:09:40] *** kwinz2 has joined #bittorrent [07:15:03] *** MassaRoddel has joined #bittorrent [07:54:45] *** edigaryev has quit IRC [08:37:21] *** HandheldPenguin` has quit IRC [08:37:24] *** rrr_ has quit IRC [08:37:35] *** HandheldPenguin` has joined #bittorrent [08:59:03] *** edigaryev has joined #bittorrent [09:29:51] *** rrr_ has joined #bittorrent [09:58:39] *** goussx_ has joined #bittorrent [10:06:07] *** init0_ has joined #bittorrent [10:14:02] *** init0 has quit IRC [10:15:52] *** goussx has quit IRC [10:15:53] *** goussx_ is now known as goussx [10:32:07] *** _rafi2_ is now known as _rafi_ [10:43:58] *** swinokur has quit IRC [10:45:01] *** Switeck has quit IRC [10:46:39] *** swinokur has joined #bittorrent [11:00:09] *** Andrius has joined #bittorrent [11:58:25] *** The_8472 has joined #bittorrent [12:01:01] *** DWKnight has joined #bittorrent [12:06:51] *** chelz has quit IRC [14:02:46] *** kwinz2 has quit IRC [14:08:40] *** kwinz2 has joined #bittorrent [14:12:45] <Koper`> I have another question [14:13:10] <Koper`> Compressing the HTML response of the tracker with gzip is probably counter productive right? [14:13:47] <Koper`> Since the long part of the message is the list of peers, which is in "compact" mode, ie 4 byte for the ip and 2 for the port.. Compressing that costs CPU and probably will only reduce its size by 1-2% [14:16:01] *** void^ has joined #bittorrent [14:19:17] <kjetilho> depends on what your limited resource is, I guess [14:23:33] <DWKnight> tracker announce replies aren't html [14:25:07] <DWKnight> some trackers will attempt to gzip replies and will only send replies gzipped when there is actual benefit to do so [14:25:16] <DWKnight> bandwidth-wise anyway [14:28:00] <DWKnight> even P3-500 generation systems have enough cpu to gzip responses like that [14:28:22] *** bbelt16ag has joined #bittorrent [14:29:23] *** bbelt16ag has quit IRC [14:45:09] *** Nolar has quit IRC [14:47:10] <Koper`> I meant HTTP not HTML [14:48:52] <DWKnight> the rest of what I said still applies [14:49:18] <DWKnight> considering where the current bottlenecks lie, it's trivial to gzip when appropriate [14:51:24] <DWKnight> I personally consider "when appropriate" to be "when you actually compress beyond the difference in headers [15:14:41] *** Waldorf has joined #bittorrent [15:34:52] <The_8472> using minimal http headers can probably save more space in many cases [15:37:01] *** void^ has quit IRC [15:51:24] *** _rafi2_ has joined #bittorrent [16:04:43] *** kwinz2 has quit IRC [16:06:25] *** void^ has joined #bittorrent [16:08:39] *** _rafi_ has quit IRC [16:09:32] *** GTHK has joined #bittorrent [16:12:38] *** kwinz2 has joined #bittorrent [16:20:46] *** Miller` has quit IRC [17:01:16] *** A9[idle] has quit IRC [17:02:04] *** A9[idle] has joined #bittorrent [17:24:25] *** bt42 has joined #BitTorrent [17:40:07] *** Koper` has quit IRC [17:40:07] *** mpl has quit IRC [17:40:08] *** erdgeist has quit IRC [17:40:08] *** Firon_ has quit IRC [17:40:18] *** erdgeist has joined #bittorrent [17:40:21] *** mpl has joined #bittorrent [17:40:58] *** Koper has joined #bittorrent [17:41:42] *** Firon has joined #bittorrent [17:43:56] *** andar2 has joined #bittorrent [17:44:45] *** bittwist has quit IRC [17:51:14] *** phpwner has joined #bittorrent [17:51:35] <phpwner> why my torrents not download? open ports and tracker updating [17:51:42] <phpwner> plenty of seeders [18:22:36] *** goussx has quit IRC [18:37:59] *** phpwner has left #bittorrent [18:39:00] *** KyleK_ has joined #bittorrent [18:44:45] *** KyleK_ has quit IRC [18:58:47] *** goussx has joined #bittorrent [18:59:25] *** burris has quit IRC [18:59:34] *** goussx_ has joined #bittorrent [18:59:45] *** burris has joined #bittorrent [19:11:45] *** burris has quit IRC [19:14:34] *** goussx has quit IRC [19:14:35] *** goussx_ is now known as goussx [19:15:44] *** burris has joined #bittorrent [19:29:56] *** Nolar has joined #bittorrent [19:30:36] *** Nolar has quit IRC [19:31:08] *** Nolar has joined #bittorrent [19:35:54] *** swinokur has quit IRC [19:43:46] *** swinokur has joined #bittorrent [19:56:10] *** Nolar has quit IRC [20:02:20] *** Nolar has joined #bittorrent [20:02:45] *** Nolar_ has joined #bittorrent [20:03:40] *** Nolar_ has quit IRC [20:04:06] *** kwinz2 has quit IRC [20:04:33] *** Nolar_ has joined #bittorrent [20:06:04] *** Nolar has quit IRC [20:06:09] *** Nolar_ is now known as Nolar [20:07:51] *** Nolar has quit IRC [20:07:57] *** Nolar has joined #bittorrent [20:09:16] *** kwinz2 has joined #bittorrent [20:17:54] *** lioux has quit IRC [20:38:35] *** Andrius has quit IRC [20:43:34] *** Andrius has joined #bittorrent [20:48:53] *** Switeck has joined #bittorrent [20:52:17] *** dandon has quit IRC [21:28:22] *** Waldorf has quit IRC [21:58:21] *** ajaya has joined #bittorrent [22:54:25] *** burris has quit IRC [22:56:02] *** burris has joined #bittorrent [23:05:17] *** kwinz2 has quit IRC [23:06:31] *** kwinz2 has joined #bittorrent [23:11:47] *** edigaryev has quit IRC [23:32:25] *** Andrius has quit IRC [23:36:14] *** _rafi2_ has quit IRC