ubuntu系统下Transmission下载六维空间bt文件的教程

2012年2月7日 发表评论 阅读评论

因为windows下office2010的神key已经无法使用,于是又把工作平台转换到了ubunu 10.04.

很多问题解决起来都非常简单,唯独从六维空间下载的种子无法下载,一直连不上,虽然ipv6的页面能正常浏览。还好最后是在六维空间的互助版块找到了解决办法,在这里与大家分享一下,好让大家有简单的方法来下载ipv6的种子。

第一步: 在   系统—-首选项—-网络链接 中,编辑Auto eth0,将ipv6设置为自动。

第二步:卸载系统自带的transmission,下载重新编译好的加入ipv6支持的transmission。

第三步:没有第三步了,哈哈,享受高速下载吧。

下载编译好的支持ipv6的transmission 的deb包。

下载地址:

http://www.missupload.com/ekww1zu055po/transmission_1.76-1_i386.deb.html

其他地址:

http://www.box.net/shared/5tck0a28u2

http://www.vdisk.cn/down/index/4872882A3961

当然,编译的软件会提示已有更新,你也可以自己编译。方法如下。

第一步:准备工作

  1. sudo apt-get install libssl0.9.8
  2. sudo apt-get install libssl-dev
  3. sudo apt-get install openssl
  4. suod apt-get install libcurl4-openssl-dev
  5. sudo apt-get install libglib2.0-dev
  6. sudo apt-get install libgtk2.0-dev
  7. sudo apt-get install intltool

然后就可以按照tjusea的步骤下去了,应该不会出现啥问题了,如果还是有问题就看看config.log,找到no package …….,然后谷歌一下就可以了.

第二步:下载源码压缩包文件,放置在test文件夹,解压,进入解压后的文件夹。

  1. cd test
  2. tar xjvf transmission-1.52.tar.bz2
  3. cd transmission-1.52

第三步:修改libtransmission下的web.c文件,使其支持解析ipv6的DNS地址。

  1. sudo gedit libtransmission/web.c

查找

  1. curl_easy_setopt( easy, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );

修改为

  1. curl_easy_setopt( easy, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_WHATEVER );

第四步:修改libtransmission下的tracker.c文件,使其能在六维空间下载。一般完成第二步后Transmission就可以在北邮人 等ipv6的PT网站上下载了。但是六维空间的tracker服务器对于torrent hash的escape和Transmission有差别,以至于Tranmsision无法获得peers,无法下载。希望六维空间管理员加以修改,增 加兼容性。

  1. sudo gedit libtransmission/tracker.c

查找

  1. static int
  2. is_rfc2396_alnum( char ch )
  3. {
  4. return ( ’0′ <= ch && ch <= ’9′ )
  5. || ( ‘A’ <= ch && ch <= ‘Z’ )
  6. || ( ‘a’ <= ch && ch <= ‘z’ );
  7. }
  8. static void
  9. escape( char *          out,
  10. const uint8_t * in,
  11. int             in_len )
  12. {
  13. const uint8_t *end = in in_len;
  14. while( in != end )
  15. if( is_rfc2396_alnum( *in ) )
  16. *out = (char) *in ;
  17. else
  18. out = tr_snprintf( out, 4, “%%X”, (unsigned int)*in );
  19. *out = ”;
  20. }

修改为

  1. static int
  2. is_rfc2396_alnum( char ch )
  3. {
  4. return ( ’0′ <= ch && ch <= ’9′ )
  5. || ( ‘A’ <= ch && ch <= ‘Z’ )
  6. || ( ‘a’ <= ch && ch <= ‘z’ )
  7. || ( ch == ‘.’ )
  8. || ( ch == ‘-’ )
  9. || ( ch == ‘_’ )
  10. || ( ch == ‘~’ );
  11. }
  12. static void
  13. escape( char *          out,
  14. const uint8_t * in,
  15. int             in_len )
  16. {
  17. const uint8_t *end = in in_len;
  18. while( in != end )
  19. if( is_rfc2396_alnum( *in ) )
  20. *out = (char) *in ;
  21. else
  22. out = tr_snprintf( out, 4, “%%x”, (unsigned int)*in );
  23. *out = ”;
  24. }
    第五步:完成编译安装,本例将把Transmission安装在/opt/transmission下(也可以去掉 –prefix=/opt/transmission)。
  1. ./configure –prefix=/opt/transmission –enable-shared –enable-gtk –disable-cli –disable-daemon
  2. make
  3. make check
  4. sudo make install

第六步:后续优化和配置(第五步去掉 –prefix=/opt/transmission就可以不要这一步)

  1. sudo find /opt/transmission -type f -exec strip –strip-debug {} ;
  2. sudo ln -s /opt/transmission/bin/transmission /usr/local/bin
  3. sudo ln -s /opt/transmission/share/applications/transmission.desktop /usr/local/share/applications/transmission.desktop
  4. sudo ln -s /opt/transmission/share/icons/hicolor/16×16/apps/transmission.png /usr/local/share/icons/hicolor/16×16/apps/transmission.png
  5. sudo ln -s /opt/transmission/share/icons/hicolor/32×32/apps/transmission.png /usr/local/share/icons/hicolor/32×32/apps/transmission.png
  6. sudo ln -s /opt/transmission/share/icons/hicolor/48×48/apps/transmission.png /usr/local/share/icons/hicolor/48×48/apps/transmission.png
  7. sudo ln -s /opt/transmission/share/pixmaps/transmission.png /usr/share/app-install/icons/transmission.png


转载请注明来自:[MSN Spaces]http://msn.shandian.biz/27.html

  1. 本文目前尚无任何评论.