?

Log in

No account? Create an account
Disable the private flag in Transmission - “Nightwatch” [entries|archive|friends|userinfo]
"Praxeology rests on the fundamental axiom that human beings engage in conscious actions toward chosen blah blah blah blah blah teh market!"

[ website | Pictures and Stuff ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Disable the private flag in Transmission [Feb. 12th, 2008|12:41 am]
“Nightwatch”
[Tags|]
[Current Mood |geekygeeky]

The private flag in BitTorrent, which disables any external peer exchange for a torrent, is DRM, plain and simple. It's a malicious feature designed to force the wishes of the content producers (the private trackers) on you. The P2P community shouldn't rail against DRM and simultaneously encourage it when it's convenient. I do sympathize with private trackers, but they can't be hypocritical: DRM isn't the way to go about their issues.

Thankfully, we have open source BitTorrent clients, so we don't have to put up with our computers working against us.

Following is a patch to Transmission 1.05 to remove the private flag. I don't care if Transmission gets banned from trackers for this: it's easy enough to make the client masquerade as other clients.

diff -Naur transmission-1.05/libtransmission/metainfo.c transmission-1.05-noprivate/libtransmission/metainfo.c
--- transmission-1.05/libtransmission/metainfo.c	2008-02-12 00:38:45.000000000 -0600
+++ transmission-1.05-noprivate/libtransmission/metainfo.c	2008-02-12 00:39:32.000000000 -0600
@@ -219,13 +219,7 @@
     }
     
     /* Private torrent */
-    val  = tr_bencDictFind( beInfo, "private" );
-    val2 = tr_bencDictFind( meta,  "private" );
-    if( ( NULL != val  && ( TYPE_INT != val->type  || 0 != val->val.i ) ) ||
-        ( NULL != val2 && ( TYPE_INT != val2->type || 0 != val2->val.i ) ) )
-    {
-        inf->isPrivate = 1;
-    }
+    /* Disabled in -noprivate branch */
     
     /* Piece length */
     val = tr_bencDictFind( beInfo, "piece length" );
LinkReply

Comments:
[User Picture]From: dr_dos
2008-02-12 07:49 am (UTC)
Alternatively for those of you reading this, you can give me your e-mail address and I will send you an invite to Underground Gamer.
(Reply) (Thread)
[User Picture]From: dr_dos
2008-02-12 07:53 am (UTC)
On a more serious note I was under the impression the whole private thing was so a random idiot didn't put the torrent on piratebay or something and wind up getting people arrested.

But then again it's not like getting into these private torrent sites involves a lengthy background check.

They don't even have a message like IF YOU WORK FOR NINTENDO YOU ARE NOT ALLOWED ON THIS SITE SO IF YOU CLICK A LINK I WILL SUE YOU (CLICK HERE FOR ROMS)
(Reply) (Thread)
[User Picture]From: night_watch
2008-02-12 07:56 am (UTC)
Idiots don't know how to apply patches. :D
(Reply) (Parent) (Thread)
From: sidd2600
2008-02-12 04:43 pm (UTC)
Awesome. Now make it to where whenever I download a torrent or try to connect to a tracker I haven't authenticated with it downloads anyway.
(Reply) (Thread)
[User Picture]From: transparenter
2010-10-02 03:07 pm (UTC)

transmission-1.93 patch to force/enable DHT and PEX (disable private torrent)

That's great you found which place of transmission to alter.

Here is the updated patch for current fedora-13 transmission-1.93:

--- transmission-1.92/libtransmission/metainfo.c 2010-03-12 08:04:12.000000000 +0600
+++ transmission-1.92/libtransmission-noprivate/metainfo.c 2010-10-02 20:58:34.282191449 +0700
@@ -494,6 +494,7 @@
if( !tr_bencDictFindInt( infoDict, "private", &i ) )
if( !tr_bencDictFindInt( meta, "private", &i ) )
i = 0;
+ i = 0;
inf->isPrivate = i != 0;

/* piece length */



For all fedora-13 users, just grab a new spec & patch, or full SRPM from those links
http://up2date.chtd.tpu.ru/pub/linux/distr/Fedora/13/contribs/transmission/
(Reply) (Thread)