add feature "skip hash check" for transmission-2.92
Switch branches/tags
Nothing to show
Clone or download
Latest commit 9b9753c Oct 27, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Transmission.xcodeproj init Oct 27, 2016
cli init Oct 27, 2016
cmake init Oct 27, 2016
daemon init Oct 27, 2016
extras init Oct 27, 2016
gtk init Oct 27, 2016
libtransmission patch for skip hash check Oct 27, 2016
m4 init Oct 27, 2016
macosx init Oct 27, 2016
po init Oct 27, 2016
qt init Oct 27, 2016
third-party init Oct 27, 2016
utils init Oct 27, 2016
web init Oct 27, 2016
AUTHORS init Oct 27, 2016
CMakeLists.txt init Oct 27, 2016
COPYING init Oct 27, 2016
ChangeLog init Oct 27, 2016
INSTALL init Oct 27, 2016
Makefile.am init Oct 27, 2016
Makefile.in init Oct 27, 2016
NEWS init Oct 27, 2016
README init Oct 27, 2016
README.md Update README.md Oct 27, 2016
REVISION init Oct 27, 2016
aclocal.m4 init Oct 27, 2016
autogen.sh init Oct 27, 2016
compile init Oct 27, 2016
config.guess init Oct 27, 2016
config.sub init Oct 27, 2016
configure init Oct 27, 2016
configure.ac init Oct 27, 2016
depcomp init Oct 27, 2016
install-sh init Oct 27, 2016
ltmain.sh init Oct 27, 2016
missing init Oct 27, 2016
test-driver init Oct 27, 2016
transmission-gtk.spec.in init Oct 27, 2016
update-version-h.sh init Oct 27, 2016

README.md

transmission-2.92_skiphashchek

Add feature "skip hash check" for transmission 2.92

"skip hash check" is a very useful feature for seeding identical big torrents on different sites. It exists in uTorrent but the offical release of transmission doesn't support this function.

Modify code yourself

In this project, I modified less than 10 lines of code to add this feature for transmission-2.92. It's very simple:

you can download source code from the offical site,modify the following changes and compile yourself. then replace /usr/bin/transmission-daemon with transmission-daemon in daemon directory after make

diff libtransmission/rpcimpl.c

388a389
>   skiphash();

diff libtransmission/verify.c

41a42,46
> static bool skiphashcheck=false;
> void skiphash(){
>     skiphashcheck=true;
> }
> 
76c81
<       if (filePos == 0 && fd == TR_BAD_SYS_FILE && fileIndex != prevFileIndex)
---
>       if (!skiphashcheck && filePos == 0 && fd == TR_BAD_SYS_FILE && fileIndex != prevFileIndex)
95c100
<           if (tr_sys_file_read_at (fd, buffer, bytesThisPass, filePos, &numRead, NULL) && numRead > 0)
---
>           if (!skiphashcheck && tr_sys_file_read_at (fd, buffer, bytesThisPass, filePos, &numRead, NULL) && numRead > 0)
119c124
<           hasPiece = !memcmp (hash, tor->info.pieces[pieceIndex].hash, SHA_DIGEST_LENGTH);
---
>           hasPiece = skiphashcheck || !memcmp (hash, tor->info.pieces[pieceIndex].hash, SHA_DIGEST_LENGTH);
156a162,165
>   if(skiphashcheck){
>       skiphashcheck=false;
>       tr_logAddTorInfo (tor, "%s", _("skip hash check"));
>   }

this patch is for transmission-2.92, but for other version I think it will be similar

Download and compile directly

download the project and:

$ cd transmission-2.92
$ ./configure
$ make
$ sudo make install

if you have installed transmission-2.92, replace /usr/bin/transmission-daemon with transmission-daemon in daemon directory after make.

How to use

In the web interface: http://ip:9091/transmission/web/. right click on ANY torrent, click Ask tracker for more peers and the CURRENT verifying torrent will be skipped for hash check.

  • DON'T replace file if version of transmission installed is other than 2.92.
  • Make a backup of /usr/bin/transmission-daemon before replacing.
  • I have only tested transmission-2.92 on Centos 6.
  • DON'T use this feature for cheating, you will be caught.