mirror of
https://gitee.com/ledc/IYUUAutoReseed
synced 2025-06-08 01:45:22 +00:00
1.优化App.Api.Sites接口带版本号请求;2.新增异步间隔流控算法:各站独立、执行时间最优;3.config.sample.php各站点新增url_replace、url_join、limitRule参数。
This commit is contained in:
parent
6b83e9081b
commit
de41bc0131
@ -11,7 +11,7 @@ use IYUU\Library\Table;
|
|||||||
class AutoReseed
|
class AutoReseed
|
||||||
{
|
{
|
||||||
// 版本号
|
// 版本号
|
||||||
const VER = '1.9.0';
|
const VER = '1.9.1';
|
||||||
// RPC连接
|
// RPC连接
|
||||||
private static $links = [];
|
private static $links = [];
|
||||||
// 客户端配置
|
// 客户端配置
|
||||||
@ -106,7 +106,7 @@ class AutoReseed
|
|||||||
foreach ($list as $value) {
|
foreach ($list as $value) {
|
||||||
echo $value.PHP_EOL;
|
echo $value.PHP_EOL;
|
||||||
}
|
}
|
||||||
$res = self::$curl->get(self::$apiUrl.self::$endpoints['sites'].'?sign='.Oauth::getSign());
|
$res = self::$curl->get(self::$apiUrl.self::$endpoints['sites'].'?sign='.Oauth::getSign().'&version='.self::VER);
|
||||||
$rs = json_decode($res->response, true);
|
$rs = json_decode($res->response, true);
|
||||||
$sites = isset($rs['data']['sites']) && $rs['data']['sites'] ? $rs['data']['sites'] : false;
|
$sites = isset($rs['data']['sites']) && $rs['data']['sites'] ? $rs['data']['sites'] : false;
|
||||||
// 数据写入本地
|
// 数据写入本地
|
||||||
@ -336,8 +336,6 @@ class AutoReseed
|
|||||||
// 当前种子哈希对应的目录
|
// 当前种子哈希对应的目录
|
||||||
$downloadDir = $infohash_Dir[$info_hash];
|
$downloadDir = $infohash_Dir[$info_hash];
|
||||||
foreach ($vv['torrent'] as $id => $value) {
|
foreach ($vv['torrent'] as $id => $value) {
|
||||||
$_url = $url = '';
|
|
||||||
$download_page = $details_url = '';
|
|
||||||
// 匹配的辅种数据累加
|
// 匹配的辅种数据累加
|
||||||
self::$wechatMsg['reseedCount']++;
|
self::$wechatMsg['reseedCount']++;
|
||||||
// 站点id
|
// 站点id
|
||||||
@ -355,13 +353,15 @@ class AutoReseed
|
|||||||
self::setNotify($siteName, $sid, $torrent_id);
|
self::setNotify($siteName, $sid, $torrent_id);
|
||||||
// 页面规则
|
// 页面规则
|
||||||
$download_page = str_replace('{}', $torrent_id, $sites[$sid]['download_page']);
|
$download_page = str_replace('{}', $torrent_id, $sites[$sid]['download_page']);
|
||||||
$_url = 'https://' .$sites[$sid]['base_url']. '/' .$download_page;
|
// 协议
|
||||||
|
$protocol = $sites[$sid]['is_https'] == 0 ? 'http://' : 'https://';
|
||||||
|
$_url = $protocol . $sites[$sid]['base_url']. '/' .$download_page;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 前置检测
|
* 前置检测
|
||||||
*/
|
*/
|
||||||
// passkey检测
|
// 配置与passkey检测
|
||||||
if (empty($configALL[$siteName]['passkey'])) {
|
if (empty($configALL[$siteName]) || empty($configALL[$siteName]['passkey'])) {
|
||||||
//echo '-------因当前' .$siteName. "站点未设置passkey,已跳过!!".PHP_EOL.PHP_EOL;
|
//echo '-------因当前' .$siteName. "站点未设置passkey,已跳过!!".PHP_EOL.PHP_EOL;
|
||||||
self::$wechatMsg['reseedSkip']++;
|
self::$wechatMsg['reseedSkip']++;
|
||||||
continue;
|
continue;
|
||||||
@ -406,6 +406,34 @@ class AutoReseed
|
|||||||
wlog('clients_'.$k.PHP_EOL.$downloadDir.PHP_EOL.$_url.PHP_EOL.PHP_EOL, $siteName);
|
wlog('clients_'.$k.PHP_EOL.$downloadDir.PHP_EOL.$_url.PHP_EOL.PHP_EOL, $siteName);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// 操作站点流控的配置
|
||||||
|
if (isset($configALL[$siteName]['limitRule']) && $configALL[$siteName]['limitRule']) {
|
||||||
|
$limitRule = $configALL[$siteName]['limitRule'];
|
||||||
|
if (isset($limitRule['count']) && isset($limitRule['sleep'])) {
|
||||||
|
if ($limitRule['count'] <= 0) {
|
||||||
|
echo '-------当前站点辅种数量已满足规则,保障账号安全已跳过:'.$_url.PHP_EOL.PHP_EOL;
|
||||||
|
self::$wechatMsg['reseedPass']++;
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
// 异步间隔流控算法:各站独立、执行时间最优
|
||||||
|
$lastTime = isset($limitRule['time']) ? $limitRule['time'] : 0; // 最近一次辅种成功的时间
|
||||||
|
if ($lastTime) {
|
||||||
|
$interval = time() - $lastTime; // 间隔时间
|
||||||
|
if ($interval < $limitRule['sleep']) {
|
||||||
|
$t = $limitRule['sleep'] - $interval + mt_rand(1,5);
|
||||||
|
do {
|
||||||
|
echo microtime(true)." 为账号安全,辅种进程休眠 {$t} 秒后继续...".PHP_EOL;
|
||||||
|
sleep(1);
|
||||||
|
} while (--$t > 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo '-------当前站点流控规则错误,缺少count或sleep参数!请重新配置!'.$_url.PHP_EOL.PHP_EOL;
|
||||||
|
self::$wechatMsg['reseedPass']++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 种子URL组合方式区分
|
* 种子URL组合方式区分
|
||||||
*/
|
*/
|
||||||
@ -418,7 +446,7 @@ class AutoReseed
|
|||||||
$userAgent = $configALL['default']['userAgent'];
|
$userAgent = $configALL['default']['userAgent'];
|
||||||
// 拼接URL
|
// 拼接URL
|
||||||
$details_page = str_replace('{}', $value['torrent_id'], 'details.php?id={}&hit=1');
|
$details_page = str_replace('{}', $value['torrent_id'], 'details.php?id={}&hit=1');
|
||||||
$details_url = 'https://' .$sites[$sid]['base_url']. '/' .$details_page;
|
$details_url = $protocol .$sites[$sid]['base_url']. '/' .$details_page;
|
||||||
print "种子详情页:".$details_url.PHP_EOL;
|
print "种子详情页:".$details_url.PHP_EOL;
|
||||||
$details_html = download($details_url, $cookie, $userAgent);
|
$details_html = download($details_url, $cookie, $userAgent);
|
||||||
if (empty($details_html)) {
|
if (empty($details_html)) {
|
||||||
@ -439,8 +467,7 @@ class AutoReseed
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// 提取种子下载地址
|
// 提取种子下载地址
|
||||||
$download_page = str_replace('{}', '', $sites[$sid]['download_page']);
|
$offset = strpos($details_html, str_replace('{hash}', '', $sites[$sid]['download_page']));
|
||||||
$offset = strpos($details_html, $download_page);
|
|
||||||
if ($offset === false) {
|
if ($offset === false) {
|
||||||
echo 'cookie已过期,请更新后重新辅种!'.PHP_EOL;
|
echo 'cookie已过期,请更新后重新辅种!'.PHP_EOL;
|
||||||
$reseedPass = true;
|
$reseedPass = true;
|
||||||
@ -448,13 +475,13 @@ class AutoReseed
|
|||||||
}
|
}
|
||||||
$urlTemp = substr($details_html, $offset, 50);
|
$urlTemp = substr($details_html, $offset, 50);
|
||||||
// 种子地址
|
// 种子地址
|
||||||
$hash = substr($urlTemp, 0, strpos($urlTemp, '">'));
|
$download_page = substr($urlTemp, 0, strpos($urlTemp, '">'));
|
||||||
if (empty($hash)) {
|
if (empty($download_page)) {
|
||||||
echo '未知错误,未提取到种子URL,请联系脚本作者!'.PHP_EOL;
|
echo '未知错误,未提取到种子URL,请联系脚本作者!'.PHP_EOL;
|
||||||
$reseedPass = true;
|
$reseedPass = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$_url = 'https://' .$sites[$sid]['base_url']. '/' . $hash;
|
$_url = $protocol . $sites[$sid]['base_url']. '/' . $download_page;
|
||||||
print "种子下载页:".$_url.PHP_EOL;
|
print "种子下载页:".$_url.PHP_EOL;
|
||||||
$url = download($_url, $cookie, $userAgent);
|
$url = download($_url, $cookie, $userAgent);
|
||||||
#p($url);
|
#p($url);
|
||||||
@ -487,14 +514,14 @@ class AutoReseed
|
|||||||
# code...
|
# code...
|
||||||
} else {
|
} else {
|
||||||
// 获取cuhash
|
// 获取cuhash
|
||||||
$html = download('https://' .$sites[$sid]['base_url']. '/pt', $cookie, $userAgent);
|
$html = download($protocol .$sites[$sid]['base_url']. '/pt', $cookie, $userAgent);
|
||||||
// 提取种子下载地址
|
// 提取种子下载地址
|
||||||
$offset = strpos($html, 'cuhash=');
|
$offset = strpos($html, 'cuhash=');
|
||||||
$len = strlen('cuhash=');
|
$len = strlen('cuhash=');
|
||||||
$cuhashTemp = substr($html, $offset+$len, 40);
|
$cuhashTemp = substr($html, $offset+$len, 40);
|
||||||
$configALL[$siteName]['cuhash'] = substr($cuhashTemp, 0, strpos($cuhashTemp, '"'));
|
$configALL[$siteName]['cuhash'] = substr($cuhashTemp, 0, strpos($cuhashTemp, '"'));
|
||||||
}
|
}
|
||||||
$url = $_url."&cuhash=". $configALL[$siteName]['cuhash'];
|
$url = str_replace('{cuhash}', $configALL[$siteName]['cuhash'], $_url);
|
||||||
// 城市下载种子时会302转向
|
// 城市下载种子时会302转向
|
||||||
$url = download($url, $cookie, $userAgent);
|
$url = download($url, $cookie, $userAgent);
|
||||||
if (strpos($url, 'Non-exist torrent id!') != false) {
|
if (strpos($url, 'Non-exist torrent id!') != false) {
|
||||||
@ -533,6 +560,14 @@ class AutoReseed
|
|||||||
$log = 'clients_'.$k.PHP_EOL.$downloadDir.PHP_EOL.$url.PHP_EOL.PHP_EOL;
|
$log = 'clients_'.$k.PHP_EOL.$downloadDir.PHP_EOL.$url.PHP_EOL.PHP_EOL;
|
||||||
if ($ret) {
|
if ($ret) {
|
||||||
// 成功的种子
|
// 成功的种子
|
||||||
|
// 操作流控参数
|
||||||
|
if (isset($configALL[$siteName]['limitRule']) && $configALL[$siteName]['limitRule']) {
|
||||||
|
$limitRule = $configALL[$siteName]['limitRule'];
|
||||||
|
if ($limitRule['count']) {
|
||||||
|
$configALL[$siteName]['limitRule']['count']--;
|
||||||
|
$configALL[$siteName]['limitRule']['time'] = time();
|
||||||
|
}
|
||||||
|
}
|
||||||
wlog($log, $value['info_hash'], self::$cacheHash);
|
wlog($log, $value['info_hash'], self::$cacheHash);
|
||||||
wlog($log, 'reseedSuccess');
|
wlog($log, 'reseedSuccess');
|
||||||
// 成功累加
|
// 成功累加
|
||||||
@ -773,36 +808,38 @@ class AutoReseed
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取站点种子的URL
|
* 获取站点种子的URL
|
||||||
|
* @param string $site
|
||||||
|
* @param string $_url
|
||||||
|
* @return string
|
||||||
*/
|
*/
|
||||||
private static function getTorrentUrl($site = '', $_url = '')
|
private static function getTorrentUrl($site = '', $_url = '')
|
||||||
{
|
{
|
||||||
global $configALL;
|
global $configALL;
|
||||||
switch ($site) {
|
// 兼容旧配置
|
||||||
case 'ttg':
|
if (isset($configALL[$site]['passkey']) && $configALL[$site]['passkey']) {
|
||||||
$url = $_url."/". $configALL[$site]['passkey'];
|
if (!isset($configALL[$site]['url_replace'])) {
|
||||||
break;
|
$configALL[$site]['url_replace'] = array('{passkey}' => $configALL[$site]['passkey']);
|
||||||
case 'm-team':
|
}
|
||||||
case 'moecat':
|
if (!isset($configALL[$site]['url_join'])) {
|
||||||
case 'hdbd':
|
$configALL[$site]['url_join'] = array();
|
||||||
$ip_type = '';
|
if (in_array($site, array('m-team','mocat','hdbd'))) {
|
||||||
if (isset($configALL[$site]['ip_type'])) {
|
if (isset($configALL[$site]['ip_type'])) {
|
||||||
$ip_type = $configALL[$site]['ip_type'] == 'ipv6' ? '&ipv6=1' : '';
|
$configALL[$site]['url_join'][] = $configALL[$site]['ip_type'].'=1';
|
||||||
|
}
|
||||||
|
$configALL[$site]['url_join'][] = 'https=1';
|
||||||
}
|
}
|
||||||
$url = $_url."&passkey=". $configALL[$site]['passkey'] . $ip_type. "&https=1";
|
}
|
||||||
break;
|
}
|
||||||
case 'dicmusic':
|
// 通用操作:替换
|
||||||
$_url = str_replace('{torrent_pass}', $configALL[$site]['passkey'], $_url);
|
if (isset($configALL[$site]['url_replace']) && $configALL[$site]['url_replace']) {
|
||||||
$url = str_replace('{authkey}', $configALL[$site]['authkey'], $_url);
|
$url = strtr($_url, $configALL[$site]['url_replace']);
|
||||||
break;
|
}
|
||||||
default:
|
// 通用操作:拼接
|
||||||
if (strpos($_url,'{passkey}') !== false) {
|
if (isset($configALL[$site]['url_join']) && $configALL[$site]['url_join']) {
|
||||||
$url = str_replace('{passkey}', $configALL[$site]['passkey'], $_url);
|
$url = $url.(strpos($url, '?') === false ? '?' : '&').implode('&',$configALL[$site]['url_join']);
|
||||||
} else {
|
|
||||||
$url = $_url."&passkey=". $configALL[$site]['passkey'];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
@ -111,6 +111,11 @@ return array(
|
|||||||
'max' => '280GB',
|
'max' => '280GB',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(
|
||||||
|
//'ipv6=1', // 种子Tracker的IP地址选择 可选:ipv4,ipv6
|
||||||
|
//'https=1',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
// hddolby
|
// hddolby
|
||||||
'hddolby' => array(
|
'hddolby' => array(
|
||||||
@ -119,6 +124,8 @@ return array(
|
|||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
'id' => 0, // 用户ID(不是用户名)
|
'id' => 0, // 用户ID(不是用户名)
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdhome
|
// hdhome
|
||||||
'hdhome' => array(
|
'hdhome' => array(
|
||||||
@ -127,6 +134,8 @@ return array(
|
|||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
'id' => 0, // 用户ID(不是用户名)
|
'id' => 0, // 用户ID(不是用户名)
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// PTHome
|
// PTHome
|
||||||
'pthome' => array(
|
'pthome' => array(
|
||||||
@ -135,6 +144,8 @@ return array(
|
|||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
'id' => 0, // 用户ID(不是用户名)
|
'id' => 0, // 用户ID(不是用户名)
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// MoeCat
|
// MoeCat
|
||||||
'moecat' => array(
|
'moecat' => array(
|
||||||
@ -143,8 +154,11 @@ return array(
|
|||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
'id' => 0, // 用户ID(不是用户名)
|
'id' => 0, // 用户ID(不是用户名)
|
||||||
// 种子Tracker的IP地址选择 可选:ipv4,ipv6
|
'url_replace' => array(),
|
||||||
'ip_type' => 'ipv4',
|
'url_join' => array(
|
||||||
|
//'ipv6=1', // 种子Tracker的IP地址选择 可选:ipv4,ipv6
|
||||||
|
//'https=1',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
// m-team
|
// m-team
|
||||||
'm-team' => array(
|
'm-team' => array(
|
||||||
@ -152,8 +166,11 @@ return array(
|
|||||||
'cookie' => 'tp=',
|
'cookie' => 'tp=',
|
||||||
// 15.m-team的passkey 【必须配置】
|
// 15.m-team的passkey 【必须配置】
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
// 种子Tracker的IP地址选择 可选:ipv4,ipv6
|
'url_replace' => array(),
|
||||||
'ip_type' => 'ipv4',
|
'url_join' => array(
|
||||||
|
//'ipv6=1', // 种子Tracker的IP地址选择 可选:ipv4,ipv6
|
||||||
|
'https=1',
|
||||||
|
),
|
||||||
'clients' => array(
|
'clients' => array(
|
||||||
array(
|
array(
|
||||||
'type' => 'transmission', // 支持:transmission、qBittorrent
|
'type' => 'transmission', // 支持:transmission、qBittorrent
|
||||||
@ -178,6 +195,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
'workingMode' => 1,
|
'workingMode' => 1,
|
||||||
'watch' => '',
|
'watch' => '',
|
||||||
'filter' => array(
|
'filter' => array(
|
||||||
@ -193,6 +212,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// tjupt
|
// tjupt
|
||||||
'tjupt' => array(
|
'tjupt' => array(
|
||||||
@ -200,6 +221,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// btschool
|
// btschool
|
||||||
'btschool' => array(
|
'btschool' => array(
|
||||||
@ -207,6 +230,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// HDSky
|
// HDSky
|
||||||
'hdsky' => array(
|
'hdsky' => array(
|
||||||
@ -214,6 +239,12 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'limitRule' => array(
|
||||||
|
'count' => 50, // 每次辅种50个
|
||||||
|
'sleep' => 15, // 最少休眠15秒
|
||||||
|
),
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// TorrentCCF
|
// TorrentCCF
|
||||||
'torrentccf' => array(
|
'torrentccf' => array(
|
||||||
@ -221,6 +252,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// PTMSG
|
// PTMSG
|
||||||
'ptmsg' => array(
|
'ptmsg' => array(
|
||||||
@ -228,6 +261,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// totheglory
|
// totheglory
|
||||||
'ttg' => array(
|
'ttg' => array(
|
||||||
@ -236,6 +271,8 @@ return array(
|
|||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
// 如果需要rss订阅,必须配置
|
// 如果需要rss订阅,必须配置
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
'rss' => '',
|
'rss' => '',
|
||||||
),
|
),
|
||||||
// nanyangpt
|
// nanyangpt
|
||||||
@ -244,6 +281,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// springsunday.net
|
// springsunday.net
|
||||||
'ssd' => array(
|
'ssd' => array(
|
||||||
@ -251,6 +290,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// yingk
|
// yingk
|
||||||
'yingk' => array(
|
'yingk' => array(
|
||||||
@ -258,6 +299,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdcity
|
// hdcity
|
||||||
'hdcity' => array(
|
'hdcity' => array(
|
||||||
@ -265,6 +308,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置cuhash
|
// 如果需要自动辅种,必须配置cuhash
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// 52pt.site
|
// 52pt.site
|
||||||
'52pt' => array(
|
'52pt' => array(
|
||||||
@ -272,6 +317,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// brobits
|
// brobits
|
||||||
'brobits' => array(
|
'brobits' => array(
|
||||||
@ -279,6 +326,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// beitai
|
// beitai
|
||||||
'beitai' => array(
|
'beitai' => array(
|
||||||
@ -286,6 +335,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// eastgame
|
// eastgame
|
||||||
'eastgame' => array(
|
'eastgame' => array(
|
||||||
@ -293,6 +344,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// soulvoice
|
// soulvoice
|
||||||
'soulvoice' => array(
|
'soulvoice' => array(
|
||||||
@ -300,6 +353,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// chdbits
|
// chdbits
|
||||||
'chdbits' => array(
|
'chdbits' => array(
|
||||||
@ -307,6 +362,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// leaguehd
|
// leaguehd
|
||||||
'leaguehd' => array(
|
'leaguehd' => array(
|
||||||
@ -314,6 +371,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// ptsbao
|
// ptsbao
|
||||||
'ptsbao' => array(
|
'ptsbao' => array(
|
||||||
@ -321,6 +380,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdchina
|
// hdchina
|
||||||
'hdchina' => array(
|
'hdchina' => array(
|
||||||
@ -328,6 +389,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdarea
|
// hdarea
|
||||||
'hdarea' => array(
|
'hdarea' => array(
|
||||||
@ -335,6 +398,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdtime
|
// hdtime
|
||||||
'hdtime' => array(
|
'hdtime' => array(
|
||||||
@ -342,6 +407,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// 1ptba
|
// 1ptba
|
||||||
'1ptba' => array(
|
'1ptba' => array(
|
||||||
@ -349,6 +416,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hd4fans
|
// hd4fans
|
||||||
'hd4fans' => array(
|
'hd4fans' => array(
|
||||||
@ -356,6 +425,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hddisk.life
|
// hddisk.life
|
||||||
'hdbug' => array(
|
'hdbug' => array(
|
||||||
@ -363,6 +434,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// opencd皇后
|
// opencd皇后
|
||||||
'opencd' => array(
|
'opencd' => array(
|
||||||
@ -370,6 +443,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdstreet
|
// hdstreet
|
||||||
'hdstreet' => array(
|
'hdstreet' => array(
|
||||||
@ -377,6 +452,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// joyhd
|
// joyhd
|
||||||
'joyhd' => array(
|
'joyhd' => array(
|
||||||
@ -384,6 +461,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// dmhy幼儿园
|
// dmhy幼儿园
|
||||||
'dmhy' => array(
|
'dmhy' => array(
|
||||||
@ -391,6 +470,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdu
|
// hdu
|
||||||
'upxin' => array(
|
'upxin' => array(
|
||||||
@ -398,6 +479,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// oshen
|
// oshen
|
||||||
'oshen' => array(
|
'oshen' => array(
|
||||||
@ -405,6 +488,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// discfan港知堂
|
// discfan港知堂
|
||||||
'discfan' => array(
|
'discfan' => array(
|
||||||
@ -412,6 +497,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdzone
|
// hdzone
|
||||||
'hdzone' => array(
|
'hdzone' => array(
|
||||||
@ -419,6 +506,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// nicept老师
|
// nicept老师
|
||||||
'nicept' => array(
|
'nicept' => array(
|
||||||
@ -426,6 +515,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdbd伊甸园
|
// hdbd伊甸园
|
||||||
'hdbd' => array(
|
'hdbd' => array(
|
||||||
@ -433,6 +524,11 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(
|
||||||
|
//'ipv6=1', // 种子Tracker的IP地址选择 可选:ipv4,ipv6
|
||||||
|
//'https=1',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
// byr北邮
|
// byr北邮
|
||||||
'byr' => array(
|
'byr' => array(
|
||||||
@ -440,6 +536,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// CCFBits
|
// CCFBits
|
||||||
'ccfbits' => array(
|
'ccfbits' => array(
|
||||||
@ -447,6 +545,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdbits
|
// hdbits
|
||||||
'hdbits' => array(
|
'hdbits' => array(
|
||||||
@ -454,6 +554,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// PTPBD
|
// PTPBD
|
||||||
'ptpbd' => array(
|
'ptpbd' => array(
|
||||||
@ -461,6 +563,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// HD-T
|
// HD-T
|
||||||
'hd-torrents' => array(
|
'hd-torrents' => array(
|
||||||
@ -468,6 +572,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// skyeysnow天雪
|
// skyeysnow天雪
|
||||||
'skyeysnow' => array(
|
'skyeysnow' => array(
|
||||||
@ -475,6 +581,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// pt.sjtu葡萄
|
// pt.sjtu葡萄
|
||||||
'pt' => array(
|
'pt' => array(
|
||||||
@ -482,6 +590,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdroute
|
// hdroute
|
||||||
'hdroute' => array(
|
'hdroute' => array(
|
||||||
@ -489,6 +599,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// haidan
|
// haidan
|
||||||
'haidan' => array(
|
'haidan' => array(
|
||||||
@ -496,6 +608,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// hdfans
|
// hdfans
|
||||||
'hdfans' => array(
|
'hdfans' => array(
|
||||||
@ -503,6 +617,8 @@ return array(
|
|||||||
'cookie' => '',
|
'cookie' => '',
|
||||||
// 如果需要自动辅种,必须配置
|
// 如果需要自动辅种,必须配置
|
||||||
'passkey' => '',
|
'passkey' => '',
|
||||||
|
'url_replace' => array(),
|
||||||
|
'url_join' => array(),
|
||||||
),
|
),
|
||||||
// 配置结束,后面的一行不能删除,必须保留!!!
|
// 配置结束,后面的一行不能删除,必须保留!!!
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user