海运的博客

Centos7编译安装deluge1.3.15

发布时间:September 13, 2018 // 分类:PT // No Comments

安装环境及依赖:

yum -y groupinstall "Development Tools"
yum -y install boost-devel openssl-devel
yum -y install python-devel python-pip GeoIP-devel gettext intltool 
pip install setuptools twisted pyopenssl simplejson pyxdg chardet geoip setproctitle pillow mako service_identity

编译安装libtorrent:

wget https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_1_9/libtorrent-rasterbar-1.1.9.tar.gz
tar -zxf libtorrent-rasterbar-1.1.9.tar.gz
cd libtorrent-rasterbar-1.1.9
./configure --prefix=/usr/local/libtorrent --enable-python-binding --with-libiconv
make && make install
echo '/usr/local/libtorrent/lib' > /etc/ld.so.conf.d/libtorrent-x86_64.conf 
ldconfig
export PYTHONPATH=$PYTHONPATH:/usr/local/libtorrent/lib64/python2.7/site-packages/
echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/libtorrent/lib64/python2.7/site-packages/' >> ~/.bashrc

查看python能否加载libtorrent模块,成功返回版本号。

python -c "import libtorrent; print libtorrent.version"

安装deluge:

wget http://download.deluge-torrent.org/source/deluge-1.3.15.tar.gz
tar -xzvf deluge-1.3.15.tar.gz
cd deluge-1.3.15
mkdir -p /usr/local/deluge/lib/python2.7/site-packages/
export PYTHONPATH=$PYTHONPATH:/usr/local/deluge/lib/python2.7/site-packages/
echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/deluge/lib/python2.7/site-packages/' >> ~/.bashrc
python setup.py build
python setup.py install --prefix /usr/local/deluge
export PATH=$PATH:/usr/local/deluge/bin/
echo 'export PATH=$PATH:/usr/local/deluge/bin/' >> ~/.bashrc

参考:
https://dev.deluge-torrent.org/wiki/Building/libtorrent
https://dev.deluge-torrent.org/wiki/Installing/Source

Centos7编译安装qbittorrent4.1.2

发布时间:September 13, 2018 // 分类:PT // 3 Comments

安装编译工具及依赖:

yum -y groupinstall "Development Tools"
yum -y install qt-devel boost-devel openssl-devel qt5-qtbase-devel qt5-linguist

安装libtorrent,libtorrent1.1.x版本会出现invalid port问题,参考https://tieba.baidu.com/p/5864985886

wget https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_1_9/libtorrent-rasterbar-1.1.9.tar.gz
tar -zxf libtorrent-rasterbar-1.1.9.tar.gz
cd libtorrent-rasterbar-1.1.9
#修改为固定端口号
#sed -i "s/i2p ? 1 : tracker_req().listen_port/8999/" src/http_tracker_connection.cpp
./configure --prefix=/usr/local/libtorrent CXXFLAGS=-std=c++11
make && make install
echo '/usr/local/libtorrent/lib' > /etc/ld.so.conf.d/libtorrent-x86_64.conf 
ldconfig
#export LD_LIBRARY_PATH=/usr/local/libtorrent/lib/
export CPLUS_INCLUDE_PATH=/usr/local/libtorrent/include/
export PKG_CONFIG_PATH=/usr/local/libtorrent/lib/pkgconfig/

安装qbittorrent:

wget https://github.com/qbittorrent/qBittorrent/archive/release-4.1.2.tar.gz
tar zxf release-4.1.2.tar.gz
cd qBittorrent-release-4.1.2/
./configure --prefix=/usr/local/qbittorrent --disable-gui
make && make install
export PATH=$PATH:/usr/local/qbittorrent/bin/ 
echo 'export PATH=$PATH:/usr/local/qbittorrent/bin/' >> ~/.bashrc 

配置文件:

cat > ~/.config/qBittorrent/qBittorrent.conf <<- EOM
[AutoRun]
enabled=false
program=

[BitTorrent]
IPFilter\Enabled=false
Session\AnnounceToAllTiers=true
Session\BTProtocol=TCP
Session\MultiConnectionsPerIp=true
Session\SendBufferLowWatermark=7680
Session\SendBufferWatermark=15360
Session\SendBufferWatermarkFactor=150
Session\SuggestMode=true

[LegalNotice]
Accepted=true

[Preferences]
Advanced\AnnounceToAllTrackers=true
Advanced\osCache=true
Bittorrent\AddTrackers=false
Bittorrent\DHT=false
Bittorrent\Encryption=0
Bittorrent\LSD=false
Bittorrent\MaxConnecs=2000
Bittorrent\MaxConnecsPerTorrent=200
Bittorrent\MaxRatioAction=0
Bittorrent\MaxUploads=1000
Bittorrent\MaxUploadsPerTorrent=100
Bittorrent\PeX=false
Bittorrent\uTP=false
Bittorrent\uTP_rate_limited=true
Connection\GlobalDLLimit=30000
Connection\GlobalDLLimitAlt=-1
Connection\GlobalUPLimit=30000
Connection\GlobalUPLimitAlt=-1
Connection\MaxHalfOpenConnec=200
Connection\PortRangeMin=8999
Connection\ResolvePeerCountries=false
Connection\ResolvePeerHostNames=false
Connection\UPnP=false
Downloads\PreAllocation=false
Downloads\SavePath=/home/download/
Downloads\ScanDirsV2=@Variant(\0\0\0\x1c\0\0\0\0)
DynDNS\DomainName=changeme.dyndns.org
DynDNS\Enabled=false
DynDNS\Password=
DynDNS\Service=0
DynDNS\Username=
General\Locale=en
General\UseRandomPort=false
IPFilter\Enabled=false
MailNotification\email=
MailNotification\enabled=false
MailNotification\password=
MailNotification\req_auth=true
MailNotification\req_ssl=false
MailNotification\smtp_server=smtp.changeme.com
MailNotification\username=
Queueing\MaxActiveDownloads=500
Queueing\MaxActiveTorrents=500
Queueing\MaxActiveUploads=500
Queueing\QueueingEnabled=false
WebUI\Address=0.0.0.0
WebUI\AuthSubnetWhitelist=@Invalid()
WebUI\AuthSubnetWhitelistEnabled=false
WebUI\CSRFProtection=true
WebUI\ClickjackingProtection=true
WebUI\HTTPS\Enabled=false
WebUI\LocalHostAuth=true
WebUI\Port=8080
WebUI\ServerDomains=
WebUI\UseUPnP=false
EOM

参考:https://github.com/qbittorrent/qBittorrent/wiki/Compiling-qbittorrent-nox-for-CentOS-from-source

php使用rpc xml管理rtorrent

发布时间:April 3, 2018 // 分类:PT // No Comments

rtorrent开启rpc:

scgi_port = 127.0.0.1:5000

通过nginx中转rpc请求:

server {
    listen 8000;
    server_name localhost;
    location ^~ /RPC2 {
        include scgi_params;
        scgi_pass   127.0.0.1:5000;
    }
}

php需安装xmlrpc扩展:

<?php
class XMLRPCClient
{
  public function __construct($uri)
  {
    $this->uri = $uri;
    $this->ch = null;
  }

  public function __destruct()
  {
    $this->close();
  }

  public function close()
  {
    if ($this->ch !== null)
    {
      curl_close($this->ch);
    }
    $this->ch = null;
  }

  public function get($method, $params = array())
  {
    $xml = xmlrpc_encode_request($method,$params);
    if ($this->ch === null)
    {
      $this->ch = curl_init();
      curl_setopt($this->ch, CURLOPT_URL, $this->uri);
      curl_setopt($this->ch, CURLOPT_HEADER, 0); 
      curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($this->ch, CURLOPT_POST, true);
    }
    curl_setopt($this->ch, CURLOPT_POSTFIELDS, $xml);
    $response = curl_exec($this->ch);
    $response = str_replace('i8>', 'string>', $response);
    $result = xmlrpc_decode_request($response, $method);
    return $result;
  }
}

$client = new XMLRPCClient("http://127.0.0.1:8000/RPC2");
//查看rpc命令列表
var_dump($client->get("system.listMethods"));
//查看任务列表
$list = $client->get("download_list", array("","started"));
//文件路径
$filepath = $client->get("d.get_base_path", $list[0]);
//上传速度
$up_rate = $client->get("d.get_up_rate", $list[0]);
$down_rate = $client->get("d.get_down_rate", $list[0]);
echo $up_rate.'/'.$down_rate.PHP_EOL;
//删除下载
//$client->get("d.erase", $list[0]);
//删除文件
//unlink($filepath);

rpc命令列表:https://github.com/rakshasa/rtorrent/wiki/rTorrent-0.9-Comprehensive-Command-list-(WIP)

centos下pt软件qbittorrent使用

发布时间:April 2, 2018 // 分类:PT // No Comments

能完epel源可直接安装:

yum install qbittorrent-nox -y

启动:

qbittorrent-nox --webui-port=8080 -d

通过浏览器访问:ip:8080,默认账号:admin/adminadmin

centos下pt下载软件rtorrent使用

发布时间:April 2, 2018 // 分类:PT // No Comments

centos下epel源可直接安装:

yum install rtorrent

配置文件.rtorrent.rc :

#下载时每个种子的最大连接数
min_peers = 1
max_peers = 500
#种子下载完成后每个种子最大连接数,-1等同于上面下载时连接数
min_peers_seed = -1
max_peers_seed = -1

#全局最大上传和下载连接数
max_uploads_global = 0
max_downloads_global = 0

#每个种子最大上传和下载连接数
max_uploads = 200
max_downloads = 200

#上传/下载限速,0为不限制
download_rate = 0
upload_rate = 0


check_hash = no
directory = /root/download
session = /root/session

port_random = yes
port_range = 6998-10000



#外出连接加密,如果连接失败转为不加密重试,允许进入连接加密,同时还允许未加密连接进入
#protocol.encryption.set = allow_incoming,try_outgoing,enable_retry 

#只允许进入、外出连接加密和内容加密
protocol.encryption.set = require

#进入、外出连接和内容都必须加密
#protocol.encryption.set = require,require_RC4

encoding_list = utf-8
dht = off
peer_exchange = no
use_udp_trackers = yes

#log.open_file = "rtorrent.log", (cat,/tmp/rtorrent.log)  
#log.add_output = "debug", "rtorrent.log"
#当删除任务时同时删除下载的文件
method.set_key = event.download.erased,delete_erased,"execute=rm,-rf,--,$d.base_path="
schedule = low_diskspace,5,60,close_low_diskspace=100M
schedule = watch_directory,5,5,load_start=/root/watch/*.torrent

在tmux或screen窗口内启动:

mkdir session download watch
rtorrent

将种上传到watch目录自动开始下载,在管理窗口通过上下左右方向键可查看详细信息。
ctrl+q退出,ctrl+d暂停,再按ctrl+d删除,ctrl+s开始。
加密的相关参数,多个值应该和iptables规则相似,从左到右匹配,默认不处理。

# Encryption options, set to none (default) or any combination of the following:
# allow_incoming: allow incoming encrypted connections
# try_outgoing: use encryption for outgoing connections
# require: disable unencrypted handshakes
# require_RC4: also disable plaintext transmission after the initial encrypted handshake
# enable_retry: if the initial outgoing connection fails, retry with encryption turned on if it was off or off if it was on
# prefer_plaintext: choose plaintext when peer offers a choice between plaintext transmission and RC4 encryption, otherwise RC4 will be used
分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...