Compare commits

...

55 Commits

Author SHA1 Message Date
david
6c1211708c v1.10.17 2020-12-22 12:04:59 +08:00
david
40387fdb5b + push.sh 2020-12-22 12:03:11 +08:00
david
e10c36295c 优化Dockerfile防止更新权限覆盖 2020-12-22 01:19:45 +08:00
david
801d7b016f 优化entrypoint.sh脚本 2020-12-22 01:14:40 +08:00
david
1ff415ea91 && chmod -R 777 /IYUU/docker/entrypoint.sh \ 2020-12-22 00:24:35 +08:00
david
849370e26a 优化docker 2020-12-22 00:14:52 +08:00
david
815156b252 修复重复注入拼接规则bug 2020-12-14 15:16:51 +08:00
david
d62be67927 修改docker定时 2020-12-14 11:47:59 +08:00
david
d513b1bedf 修改 Dockerfile 2020-12-14 02:36:38 +08:00
david
b566181968 优化辅种前置检查 2020-12-13 21:06:13 +08:00
david
60b4939aee fix 2020-12-12 15:47:08 +08:00
david
dad8afa8d4 fix 2020-12-12 15:16:54 +08:00
david
a60e5f859c 补充新规则的配置参数 2020-12-12 14:46:49 +08:00
david
59622691e1 重要更新:
1.hdhome、pthome、ourbits,加入新的辅种下载规则;
2.新增支持HDAI站点。
3.合作站验证参数,改为云端获取;
4.辅种检查参数,改为云端获取。
2020-12-12 14:29:12 +08:00
david
3a97c17e66 编辑示例配置注释 2020-12-06 21:49:33 +08:00
david
6d3b937097 新增3群号码 2020-12-01 13:54:22 +08:00
david
4277568346 新增站点:pttime 2020-11-30 16:27:49 +08:00
david
84f75ea443 移除失效站点信息,优化代码 2020-11-13 00:23:36 +08:00
david
715be0e7eb 修正注释描述 2020-11-04 15:00:54 +08:00
david
6eebc7d26c 修改ttg配置的顺序 2020-09-04 23:45:52 +08:00
david
30410735af 新增合作站点:chdbits
更新方法:依据最新示例配置,增加一行ID配置。
2020-08-31 23:54:02 +08:00
david
99a2894f37 新增站点:百川PT 2020-08-26 14:09:46 +08:00
iyuu.cn
13b176c4a1 更新readme.md 2020-08-11 19:18:39 +08:00
iyuu.cn
afca458acc 更改转移参数,默认暂停 2020-08-11 19:17:45 +08:00
iyuu.cn
b8b05ff3bf 新增辅种站点:龙之家dragonhd 2020-08-11 18:16:16 +08:00
iyuu.cn
d402d30aac 更改定时任务时间 2020-08-07 17:47:13 +08:00
iyuu.cn
11c976d2c0 增强检查,避免空参数使用backup.sh时,造成问题。 2020-08-06 23:04:33 +08:00
iyuu.cn
630dc3af92 优先检查passkey,排除用户没有的站点 2020-08-06 14:36:04 +08:00
iyuu.cn
463e45ee38 优化日志记录方式 2020-08-05 19:08:06 +08:00
iyuu.cn
b046ecc75f 示例配置新增教程 2020-08-03 22:54:15 +08:00
iyuu.cn
468813a057 编辑:更新历史.md 2020-08-02 23:10:07 +08:00
iyuu.cn
fdd5475e37 兼容qBittorrent v4.1.5【小钢炮等】 2020-08-02 15:39:25 +08:00
iyuu.cn
1f4da154fb 优化Windows批处理 2020-08-02 00:11:31 +08:00
iyuu.cn
419b6eb8cd fix 2020-08-01 22:43:44 +08:00
iyuu.cn
289df1e126 优化windows执行辅种批处理 2020-08-01 15:42:54 +08:00
iyuu.cn
4d86a9cb9f Readme.md新增Docker使用方法介绍 2020-07-31 17:09:24 +08:00
iyuu.cn
c79d5e4592 v1.10.2版本以后的docker,每5小时会自动拉取最新代码;从此,您只需要看公告更新配置就行啦。 2020-07-31 09:34:18 +08:00
iyuu.cn
c9fb5c6a6a 更改Dockerfile,每5小时自动拉取最新代码 2020-07-31 09:17:57 +08:00
iyuu.cn
a744f5e785 更改本地ARM平台打包标签为:iyuu:arm64v8 2020-07-31 07:59:55 +08:00
iyuu.cn
84394c3a71 精简配置,移除容易迷惑人的项目 2020-07-31 07:52:00 +08:00
iyuu.cn
fd61ee86a1 新增.dockerignore,排除编译不必要的文件 2020-07-31 07:47:11 +08:00
iyuu.cn
afe1a863ac 移除Arm64v8.Dockerfile 2020-07-30 21:00:10 +08:00
iyuu.cn
2a7947b9fa bash+ 2020-07-30 15:19:18 +08:00
iyuu.cn
fa6a38b7b3 移除swoft/alphp:base 2020-07-30 14:44:35 +08:00
iyuu.cn
02eb245ae0 更新Arm64v8.Dockerfile,测试自动编译。 2020-07-30 14:34:14 +08:00
iyuu.cn
3fc4e14b93 优化docker的Readme.md注释 2020-07-29 19:12:16 +08:00
iyuu.cn
6a5d375044 修复编码错误。 2020-07-29 16:00:43 +08:00
iyuu.cn
da0cb81ab2 修复笔误。 2020-07-29 15:28:48 +08:00
iyuu.cn
41ebed71c7 本地编译更改基础镜像为arm64v8/alpine:3.12,并使用国内镜像源 2020-07-29 15:26:12 +08:00
iyuu.cn
05426489f0 新增Docker自动Builds文件Arm64v8.Dockerfile; 2020-07-29 15:25:07 +08:00
iyuu.cn
8489b07b35 精简和优化readme中相关项目说明 2020-07-29 15:20:22 +08:00
iyuu.cn
3e28685731 Dockerfile使用官方源 2020-07-29 03:02:53 +08:00
iyuu.cn
2d5ab5ae9b 新增Dockerfile 2020-07-29 02:14:37 +08:00
iyuu.cn
fa61ad21e0 优化hdsky下载url后的显示效果。 2020-07-29 00:37:23 +08:00
iyuu.cn
1f95e62d95 v1.10.0 2020-07-29 00:32:47 +08:00
25 changed files with 851 additions and 479 deletions

2
.dockerignore Normal file
View File

@@ -0,0 +1,2 @@
.git
*

4
1.Windows辅种.cmd Normal file
View File

@@ -0,0 +1,4 @@
@echo off
chcp 65001
%~dp0php\php %~dp0iyuu.php
pause

View File

@@ -2,6 +2,5 @@
chcp 65001
git fetch --all
git reset --hard origin/master
#git pull
php %cd%\iyuu.php
php %~dp0iyuu.php
pause

View File

@@ -1,4 +1,4 @@
@echo off
chcp 65001
php %cd%\iyuu.php
php %~dp0iyuu.php
pause

114
Dockerfile Normal file
View File

@@ -0,0 +1,114 @@
#FROM alpine:latest
#FROM alpine:3.12
FROM alpine:3.8
#FROM swoft/alphp:base
#FROM swoft/alphp:cli
LABEL maintainer="david <367013672@qq.com>" version="1.0"
##
# ---------- env settings ----------
##
# --build-arg timezone=Asia/Shanghai
ARG timezone
# prod pre test dev
ARG app_env=prod
# default use www-data user
# ARG add_user=www-data
ENV APP_ENV=${app_env:-"prod"} \
TIMEZONE=${timezone:-"Asia/Shanghai"} \
cron="3 */10 * * *"
##
# ---------- building ----------
##
RUN set -ex \
# change apk source repo
#&& sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/' /etc/apk/repositories \
&& apk update \
&& apk add --no-cache \
# Install base packages ('ca-certificates' will install 'nghttp2-libs')
# ca-certificates \
# curl \
# tar \
# xz \
# libressl \
# openssh \
# openssl \
git \
tzdata \
# pcre \
# install php7 and some extensions
php7 \
# php7-common \
# php7-bcmath \
php7-curl \
# php7-ctype \
php7-dom \
# php7-fileinfo \
# php7-gettext \
# php7-gd \
# php7-iconv \
# php7-imagick \
php7-json \
php7-mbstring \
#php7-mongodb \
# php7-mysqlnd \
# php7-openssl \
# php7-opcache \
# php7-pdo \
# php7-pdo_mysql \
# php7-pdo_sqlite \
# php7-phar \
# php7-pcntl \
# php7-posix \
# php7-redis \
php7-simplexml \
# php7-sockets \
# php7-sodium \
# php7-sqlite \
# php7-session \
# php7-sysvshm \
# php7-sysvmsg \
# php7-sysvsem \
# php7-tokenizer \
php7-zip \
# php7-zlib \
php7-xml \
&& git clone https://gitee.com/ledc/IYUUAutoReseed.git /IYUU \
&& cp /IYUU/config/config.sample.php /IYUU/config/config.php \
&& ln -sf /IYUU/config/config.php /config.php \
&& cp /IYUU/docker/entrypoint.sh /entrypoint.sh \
&& chmod -R 777 /entrypoint.sh \
&& apk del --purge *-dev \
&& rm -rf /var/cache/apk/* /tmp/* /usr/share/man /usr/share/php7 \
# ---------- some config,clear work ----------
&& cd /etc/php7 \
# - config PHP
&& { \
echo "upload_max_filesize=100M"; \
echo "post_max_size=108M"; \
echo "memory_limit=1024M"; \
echo "date.timezone=${TIMEZONE}"; \
} | tee conf.d/99-overrides.ini \
# - config timezone
&& ln -sf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \
&& echo "${TIMEZONE}" > /etc/timezone \
&& echo '2 */5 * * * cd /IYUU && git fetch --all && git reset --hard origin/master' >> /etc/crontabs/root \
#&& echo "${cron} /usr/bin/php /IYUU/iyuu.php &> /dev/null" >> /etc/crontabs/root \
# ---------- some config work ----------
# - ensure 'www-data' user exists(82 is the standard uid/gid for "www-data" in Alpine)
# && addgroup -g 82 -S ${add_user} \
# && adduser -u 82 -D -S -G ${add_user} ${add_user} \
# # - create user dir
# && mkdir -p /data \
# && chown -R ${add_user}:${add_user} /data \
&& echo -e "\033[42;37m Build Completed :).\033[0m\n"
# EXPOSE 9000
# VOLUME ["/IYUU", "/data"]
WORKDIR /IYUU
ENTRYPOINT ["/entrypoint.sh"]

File diff suppressed because it is too large Load Diff

View File

@@ -168,7 +168,7 @@ class qBittorrent extends AbstractClient
$torrents = json_decode($this->torrentList());
$response = '';
foreach ($torrents as $torrent) {
$response .= $this->torrentDelete($torrent->hash, $deleteFiles);
$response .= $this->delete($torrent->hash, $deleteFiles);
}
return $response;
@@ -236,7 +236,8 @@ class qBittorrent extends AbstractClient
// Find authentication cookie and set in curl connection
foreach ($this->curl->response_headers as $header) {
if (preg_match('/SID=(\S[^;]+)/', $header, $matches)) {
$this->curl->setHeader('Cookie', $matches[0]);
$qb415 = '; QB_'.$matches[0]; // 兼容qBittorrent v4.1.5[小钢炮等]
$this->curl->setHeader('Cookie', $matches[0].$qb415);
return true;
}
};

View File

@@ -618,6 +618,10 @@ class transmission extends AbstractClient
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->url);
if (stripos($this->url, 'https://') === 0) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 禁止验证证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 不检查证书
}
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, $this->username . ':' . $this->password);

View File

@@ -100,9 +100,10 @@ class IFile
/**
* @brief 创建文件夹
* @param String $path 路径
* @param int $chmod 文件夹权限
* @param String $path 路径
* @param int $chmod 文件夹权限
* @note $chmod 参数不能是字符串(加引号)否则linux会出现权限问题
* @return bool
*/
public static function mkdir($path, $chmod=0777)
{
@@ -113,7 +114,7 @@ class IFile
* @brief 复制文件
* @param String $from 源文件路径
* @param String $to 目标文件路径
* @param String $mod 操作模式c:复制(默认); x:剪切(删除$from文件)
* @param String $mode 操作模式c:复制(默认); x:剪切(删除$from文件)
* @return bool 操作结果 true:成功; false:失败;
*/
public static function copy($from, $to, $mode = 'c')
@@ -178,7 +179,7 @@ class IFile
/**
* @brief 获取文件类型
* @param String $fileName 文件名
* @return String $filetype 文件类型
* @return String|array $filetype 文件类型
* @note 如果文件不存在返回false,如果文件后缀名不在识别列表之内返回NULL对于docx及elsx格式文档识别在会出现识别为ZIP格式的错误这是office2007的bug目前尚未修复请谨慎使用
*/
public static function getFileType($fileName)

View File

@@ -8,93 +8,94 @@ use Curl\Curl;
*/
class Oauth
{
// 合作的站点
public static $sites = ['ourbits','hddolby','hdhome','pthome','moecat'];
// 爱语飞飞token
public static $token = '';
// 合作站点用户id
public static $user_id = 0;
// 合作站点密钥
public static $passkey = '';
// 合作站名字
public static $site = '';
// 登录缓存路径
public static $SiteLoginCache = ROOT_PATH.DS.'config'.DS.'siteLoginCache_{}.json';
const SiteLoginCache = ROOT_PATH.DS.'config'.DS.'siteLoginCache_{}.json';
/**
* 从配置文件内读取爱语飞飞token作为鉴权参数
*/
public static function getSign()
{
global $configALL;
// 爱语飞飞
$token = isset($configALL['iyuu.cn']) && $configALL['iyuu.cn'] ? $configALL['iyuu.cn'] : '';
if (empty($token) || strlen($token)<46) {
echo "缺少辅种接口请求参数爱语飞飞token \n";
echo "请访问https://iyuu.cn 用微信扫码申请并填入配置文件config.php内。\n\n";
$token = empty($configALL['iyuu.cn']) ? '' : $configALL['iyuu.cn'];
if (empty($token) || strlen($token) < 46) {
echo "缺少辅种接口请求参数爱语飞飞token ".PHP_EOL;
echo "请访问https://iyuu.cn 用微信扫码申请并填入配置文件config.php内。".PHP_EOL.PHP_EOL;
exit(1);
}
return $token;
}
/**
* 用户注册与登录
* 作用在服务器端实现微信用户与合作站点用户id的关联
* 参数爱语飞飞token + 合作站点用户id + sha1(合作站点密钥passkey) + 合作站点标识
* @param string $apiUrl
* @param array $sites
* @return bool
* @throws \ErrorException
*/
public static function login($apiUrl = '', $sites = array())
{
global $configALL;
// 云端下发合作的站点标识
self::$sites = $sites ? $sites : self::$sites;
if (empty($sites)) {
die('云端下发合作站点信息失败,请稍后重试');
}
$_sites = array_column($sites, 'site');
$ret = false;
self::$token = self::getSign();
foreach (self::$sites as $name) {
if (is_file(str_replace('{}', $name, self::$SiteLoginCache))) {
$token = self::getSign();
foreach ($_sites as $k => $site) {
if (is_file(str_replace('{}', $site, self::SiteLoginCache))) {
// 存在鉴权缓存
$ret = true;
continue;
}
if (isset($configALL[$name]['passkey']) && $configALL[$name]['passkey'] && isset($configALL[$name]['id']) && $configALL[$name]['id']) {
self::$user_id = $configALL[$name]['id'];
self::$passkey = sha1($configALL[$name]['passkey']); // 避免泄露用户passkey秘钥
self::$site = $name;
if (isset($configALL[$site]['passkey']) && $configALL[$site]['passkey'] && isset($configALL[$site]['id']) && $configALL[$site]['id']) {
$user_id = $configALL[$site]['id'];
$passkey = $configALL[$site]['passkey'];
$curl = new Curl();
$curl->setOpt(CURLOPT_SSL_VERIFYPEER, false);
$data = [
'token' => self::$token,
'id' => self::$user_id,
'passkey'=> self::$passkey,
'site' => self::$site,
'token' => $token,
'id' => $user_id,
'passkey'=> sha1($passkey), // 避免泄露用户passkey秘钥
'site' => $site,
];
$res = $curl->get($apiUrl, $data);
p($res->response);
$rs = json_decode($res->response, true);
if (isset($rs['ret']) && $rs['ret'] == 200 && isset($rs['data']['success']) && $rs['data']['success']) {
self::setSiteLoginCache($name, $rs);
if (isset($rs['ret']) && ($rs['ret'] === 200) && isset($rs['data']['success']) && $rs['data']['success']) {
self::setSiteLoginCache($site, $rs);
$ret = true;
} else {
$msg = isset($rs['msg']) && $rs['msg'] ? $rs['msg'] : '远端服务器无响应,请稍后重试!';
$msg = isset($rs['data']['errmsg']) && $rs['data']['errmsg'] ? $rs['data']['errmsg'] : $msg;
$msg = !empty($rs['msg']) ? $rs['msg'] : '远端服务器无响应,请稍后重试!';
$msg = !empty($rs['data']['errmsg']) ? $rs['data']['errmsg'] : $msg;
echo $msg . PHP_EOL;
}
} else {
echo $name.'合作站点参数配置不完整请同时填写passkey和用户id。' . PHP_EOL;
echo $site.'合作站点参数配置不完整请同时填写passkey和用户id。' . PHP_EOL;
echo '合作站点鉴权配置请查阅https://www.iyuu.cn/archives/337/'. PHP_EOL. PHP_EOL;
}
}
return $ret;
}
/**
* 写鉴权成功缓存
* @desc 作用:减少对服务器请求,跳过鉴权提示信息;
* @param string $site
* @param array $array
* @return bool|int
*/
private static function setSiteLoginCache($key = '', $array = [])
private static function setSiteLoginCache($site = '', $array = [])
{
$json = json_encode($array, JSON_UNESCAPED_UNICODE);
$myfile = str_replace('{}', $key, self::$SiteLoginCache);
$myfile = str_replace('{}', $site, self::SiteLoginCache);
$file_pointer = @fopen($myfile, "w");
$worldsnum = @fwrite($file_pointer, $json);
@fclose($file_pointer);
return $worldsnum;
}
}

View File

@@ -197,14 +197,14 @@ function convertToMB($from)
/**
* 字节数Byte转换为KB、MB、GB、TB
*
* @param $num
* @return string
*/
function getFilesize($num)
{
$p = 0;
$format='bytes';
if ($num>0 && $num<1024) {
$p = 0;
return number_format($num).' '.$format;
}
if ($num>=1024 && $num<pow(1024, 2)) {
@@ -393,8 +393,9 @@ function sign($timestamp)
/**
* @brief 分离token中的用户uid
* token算法IYUU + uid + T + sha1(openid+time+盐)
* @param string $token 用户请求token
* @desc token算法IYUU + uid + T + sha1(openid+time+盐)
* @param string $token 用户请求token
* @return bool|string
*/
function getUid($token)
{
@@ -456,3 +457,12 @@ function isWin()
{
return (DIRECTORY_SEPARATOR == '\\') ? true : false;
}
function sleepIYUU($t, $msg)
{
echo $msg . PHP_EOL;
do {
echo microtime(true).$msg.' '.$t.'秒后继续...'.PHP_EOL;
sleep(1);
} while (--$t > 0);
}

View File

@@ -2,10 +2,16 @@
# 传入的种子备份参数
if [ $1 ]; then
AppName=$1
else
echo 'AppName not null'
exit 1
fi
if [ $2 ]; then
torrentDir=$2
else
echo 'torrentDir not null'
exit 2
fi
# 脚本当前目录

View File

@@ -7,6 +7,7 @@
* IYUU自动辅种工具-【安装篇】Windows之git https://www.iyuu.cn/archives/367/
* IYUU自动辅种工具-【安装篇】群晖Linux之git https://www.iyuu.cn/archives/372/
* IYUU自动辅种工具-【安装篇】小钢炮手把手教程 https://www.iyuu.cn/archives/386/
* IYUU自动辅种工具-【安装篇】全平台Docker安装方式 https://www.iyuu.cn/archives/401/
* IYUU自动辅种工具--最简配置(所有平台通用教程) https://www.iyuu.cn/archives/324/
* IYUU自动辅种工具--合作站点鉴权配置说明 https://www.iyuu.cn/archives/337/
* IYUU自动下载种子--之RSS订阅使用教程 https://www.iyuu.cn/archives/349/
@@ -32,9 +33,9 @@ return array(
array(
'type' => 'transmission', // 支持transmission、qBittorrent
'host' => 'http://127.0.0.1:9091/transmission/rpc', // 警告注意transmission/rpc这段别动你只需要修改 127.0.0.1:9091
'username' => 'null',
'password' => 'null',
'BT_backup' => '/var/lib/transmission/torrents', // 移动做种:如果脚本与当前客户端不在一台机器,必须配置
'username' => '', // 没有用户名请填写null
'password' => '', // 没有密码 请填写null
'BT_backup' => '/torrents', // 移动做种:如果脚本与当前客户端不在一台机器,必须配置
'move' => 0, // 0不移动1移动并辅种2移动且只在当前客户端辅种
),
# 结束
@@ -44,8 +45,8 @@ return array(
'host' => 'http://127.0.0.1:8083',
'username' => 'admin',
'password' => '',
'root_folder'=> 1, // 0不创建根目录1创建根目录
'BT_backup' => 'C:\Users\ASUS\AppData\Local\qBittorrent\BT_backup', // 移动做种必须配置Linux搜索方法find / -name BT_backup
'root_folder'=> 1, // 创建多文件子目录:0不创建1创建(下载器默认1)【此处必须与下载器真实配置相同,否则添加任务不会校验!】
'BT_backup' => '/BT_backup', // 移动做种必须配置Linux搜索方法find / -name BT_backup
'move' => 0, // 0不移动1移动并辅种2移动且只在当前客户端辅种
),
# 结束
@@ -60,14 +61,14 @@ return array(
),
'path_filter'=> array(), //转移过滤器:不转移此路径内文件
'path_selector' => array(), //转移选择器:只转移此路径内文件(为空时,全转移) 【优先级:过滤器 选择器】
'paused' => 0, //转移成功自动开始任务0开始1暂停
'paused' => 1, //转移成功自动开始任务0开始1暂停
'skip_check' => 0, //转移成功跳校验0不跳、1跳校验
'delete_torrent' => 0, //转移成功删除当前做种0不删除、1删除
),
// 6.RSS工作模式
'workingMode' => 0,
// 7.监控目录
'watch' => '/volume1/downloads',
'watch' => '/volume1/watch',
// 8.RSS过滤参数配置
'filter' => array(
'size'=>array(
@@ -98,7 +99,7 @@ return array(
* 以下为各站点的独立配置(互不影响、互不冲突)
* 自动辅种需要配置各站的passkey没有配置passkey的站点会自动跳过
*/
// ourbits
// 【合作站点用户鉴权】ourbits
'ourbits' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
'cookie' => '',
@@ -124,12 +125,14 @@ return array(
),
),
// hddolby
// 【合作站点用户鉴权】hddolby
'hddolby' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
'cookie' => '',
// 如果需要自动辅种,必须配置
'passkey' => '',
// 如果需要辅种,必须配置
'rss' => '',
'id' => 0, // 用户ID(不是用户名)
'url_replace' => array(),
'url_join' => array(),
@@ -138,12 +141,14 @@ return array(
'sleep' => 5, // 最少休眠5秒
),
),
// hdhome
// 【合作站点用户鉴权】hdhome
'hdhome' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
'cookie' => '',
// 如果需要自动辅种,必须配置
'passkey' => '',
// 如果需要辅种,必须配置
'rss' => '',
'id' => 0, // 用户ID(不是用户名)
'url_replace' => array(),
'url_join' => array(),
@@ -152,12 +157,14 @@ return array(
'sleep' => 5, // 最少休眠5秒
),
),
// PTHome
// 【合作站点用户鉴权】PTHome
'pthome' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
'cookie' => '',
// 如果需要自动辅种,必须配置
'passkey' => '',
// 如果需要辅种,必须配置
'rss' => '',
'id' => 0, // 用户ID(不是用户名)
'url_replace' => array(),
'url_join' => array(),
@@ -166,22 +173,25 @@ return array(
'sleep' => 5, // 最少休眠5秒
),
),
// MoeCat
'moecat' => array(
// 【合作站点用户鉴权】chdbits
'chdbits' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
'cookie' => '',
// 如果需要自动辅种,必须配置
'passkey' => '',
'id' => 0, // 用户ID(不是用户名)
'url_replace' => array(),
'url_join' => array(
//'ipv6=1', // 种子Tracker的IP地址选择 可选ipv4ipv6
'https=1',
),
'limitRule' => array(
'count' => 20, // 每次辅种20个
'sleep' => 15, // 最少休眠15秒
),
'url_join' => array(),
),
// HDAI
'hdai' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
'cookie' => '',
// 如果需要自动辅种,必须配置
'passkey' => '',
'id' => 0, // 用户ID(不是用户名)
'url_replace' => array(),
'url_join' => array(),
),
// m-team
'm-team' => array(
@@ -194,23 +204,6 @@ return array(
//'ipv6=1', // 种子Tracker的IP地址选择 可选ipv4ipv6
'https=1',
),
'clients' => array(
array(
'type' => 'transmission', // 支持transmission、qBittorrent
'host' => 'http://127.0.0.1:9091/transmission/rpc', // 警告注意transmission/rpc这段别动你只需要修改 127.0.0.1:9091
'username' => '',
'password' => '',
'downloadDir'=> '',
),
),
'workingMode' => 1,
'watch' => '',
'filter' => array(
'size'=>array(
'min' => '1GB',
'max' => '280GB',
),
),
),
// keepfrds
'keepfrds' => array(
@@ -258,13 +251,13 @@ return array(
),
// HDSky
'hdsky' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项
// 如果需要自动辅种,必须配置此项
'cookie' => '',
// 如果需要自动辅种,必须配置
'passkey' => '',
'limitRule' => array(
'count' => 20, // 每次辅种50个
'sleep' => 20, // 最少休眠15
'count' => 20, // 每次辅种20个
'sleep' => 20, // 最少休眠20
),
'url_replace' => array(),
'url_join' => array(),
@@ -294,9 +287,9 @@ return array(
// 如果需要自动辅种,必须配置
'passkey' => '',
// 如果需要rss订阅必须配置
'rss' => '',
'url_replace' => array(),
'url_join' => array(),
'rss' => '',
),
// nanyangpt
'nanyangpt' => array(
@@ -383,15 +376,6 @@ return array(
'url_replace' => array(),
'url_join' => array(),
),
// chdbits
'chdbits' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
'cookie' => '',
// 如果需要自动辅种,必须配置
'passkey' => '',
'url_replace' => array(),
'url_join' => array(),
),
// leaguehd
'leaguehd' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
@@ -655,5 +639,30 @@ return array(
'url_replace' => array(),
'url_join' => array(),
),
// dragonhd
'dragonhd' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
'cookie' => '',
// 如果需要自动辅种,必须配置
'passkey' => '',
),
// hitpt 百川
'hitpt' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
'cookie' => '',
// 如果需要自动辅种,必须配置
'passkey' => '',
'url_replace' => array(),
'url_join' => array(),
),
// pttime PT时间
'pttime' => array(
// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
'cookie' => '',
// 如果需要自动辅种,必须配置
'passkey' => '',
'url_replace' => array(),
'url_join' => array(),
),
// 配置结束,后面的一行不能删除,必须保留!!!
);

View File

@@ -1,6 +1,9 @@
FROM swoft/alphp:base
#FROM swoft/alphp:cli
#FROM alpine:latest
#FROM alpine:3.12
FROM alpine:3.8
#FROM swoft/alphp:base
#FROM swoft/alphp:cli
LABEL maintainer="david <367013672@qq.com>" version="1.0"
##
@@ -15,7 +18,8 @@ ARG app_env=prod
# ARG add_user=www-data
ENV APP_ENV=${app_env:-"prod"} \
TIMEZONE=${timezone:-"Asia/Shanghai"}
TIMEZONE=${timezone:-"Asia/Shanghai"} \
cron="3 */10 * * *"
##
# ---------- building ----------
@@ -23,7 +27,7 @@ ENV APP_ENV=${app_env:-"prod"} \
RUN set -ex \
# change apk source repo
&& sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/' /etc/apk/repositories \
#&& sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/' /etc/apk/repositories \
&& apk update \
&& apk add --no-cache \
# Install base packages ('ca-certificates' will install 'nghttp2-libs')
@@ -59,6 +63,7 @@ RUN set -ex \
# php7-pdo_mysql \
# php7-pdo_sqlite \
# php7-phar \
# php7-pcntl \
# php7-posix \
# php7-redis \
php7-simplexml \
@@ -73,9 +78,11 @@ RUN set -ex \
php7-zip \
# php7-zlib \
php7-xml \
&& git clone https://gitee.com/ledc/IYUUAutoReseed.git /var/www \
&& cp /var/www/config/config.sample.php /var/www/config/config.php \
&& ln -sf /var/www/config/config.php /config.php \
&& git clone https://gitee.com/ledc/IYUUAutoReseed.git /IYUU \
&& cp /IYUU/config/config.sample.php /IYUU/config/config.php \
&& ln -sf /IYUU/config/config.php /config.php \
&& cp /IYUU/docker/entrypoint.sh /entrypoint.sh \
&& chmod -R 777 /entrypoint.sh \
&& apk del --purge *-dev \
&& rm -rf /var/cache/apk/* /tmp/* /usr/share/man /usr/share/php7 \
# ---------- some config,clear work ----------
@@ -90,6 +97,8 @@ RUN set -ex \
# - config timezone
&& ln -sf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \
&& echo "${TIMEZONE}" > /etc/timezone \
&& echo '2 */5 * * * cd /IYUU && git fetch --all && git reset --hard origin/master' >> /etc/crontabs/root \
#&& echo "${cron} /usr/bin/php /IYUU/iyuu.php &> /dev/null" >> /etc/crontabs/root \
# ---------- some config work ----------
# - ensure 'www-data' user exists(82 is the standard uid/gid for "www-data" in Alpine)
# && addgroup -g 82 -S ${add_user} \
@@ -99,6 +108,7 @@ RUN set -ex \
# && chown -R ${add_user}:${add_user} /data \
&& echo -e "\033[42;37m Build Completed :).\033[0m\n"
EXPOSE 9000
# VOLUME ["/var/www", "/data"]
WORKDIR /var/www
# EXPOSE 9000
# VOLUME ["/IYUU", "/data"]
WORKDIR /IYUU
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -1,21 +1,32 @@
FROM arm64v8/alpine
#FROM arm64v8/alpine:latest
#FROM arm64v8/alpine:3.12
# FROM arm64v8/alpine
# FROM arm64v8/alpine:latest
FROM arm64v8/alpine:3.12
ENV TZ Asia/Shanghai
ENV cron="0 9 * * 0"
ENV cron="3 */10 * * *"
RUN set -ex \
&& sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/' /etc/apk/repositories \
# && sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.cn/' /etc/apk/repositories \
&& apk --update add --no-cache \
&& apk update \
&& apk add --no-cache \
tzdata \
php7 php7-curl php7-json php7-mbstring php7-dom php7-simplexml php7-xml php7-zip \
git \
&& git clone https://gitee.com/ledc/IYUUAutoReseed.git /IYUU \
&& cp /IYUU/config/config.sample.php /IYUU/config/config.php \
&& ln -sf /IYUU/config/config.php /config.php \
&& cp /IYUU/docker/entrypoint.sh /entrypoint.sh \
&& chmod -R 777 /entrypoint.sh \
&& apk del --purge *-dev \
&& rm -rf /var/cache/apk/* /tmp/* /usr/share/man \
&& echo "${TZ}" > /etc/timezone \
&& ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime
&& ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \
# && echo '* * * * * echo "iyuu.cn" >/dev/null 2>&1' >> /etc/crontabs/root \
&& echo '3 */6 * * * cd /IYUU && git fetch --all && git reset --hard origin/master' >> /etc/crontabs/root \
# && echo "${cron} /usr/bin/php /IYUU/iyuu.php >/dev/null 2>&1" >> /etc/crontabs/root \
&& echo -e "\033[42;37m Build Completed :).\033[0m\n"
WORKDIR /IYUU
CMD ["sh", "-c", "/usr/bin/php /IYUU/iyuu.php ; /usr/sbin/crond ; (crontab -l ;echo \"$cron /usr/bin/php /IYUU/iyuu.php &> /dev/null\") | crontab - ; tail -f /dev/null"]
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -1,4 +1,4 @@
#!/bin/sh
docker build -t iyuu:latest .
docker run -it -v /root/config.php:/config.php -v /var/lib/transmission/torrents:/torrents -v /var/lib/qbittorrent/.local/share/data/qBittorrent/BT_backup:/BT_backup --network bridge --name IYUUAutoReseed --restart always -d iyuu:latest
docker build -t iyuu:arm64v8 .
docker run -it -v /root/config.php:/config.php -v /var/lib/transmission/torrents:/torrents -v /var/lib/qbittorrent/.local/share/data/qBittorrent/BT_backup:/BT_backup --network bridge --name IYUUAutoReseed --restart always -d iyuu:arm64v8
docker exec -it IYUUAutoReseed php iyuu.php

View File

@@ -1,4 +1,4 @@
#!/bin/sh
docker build -f Dockerfile -t iyuu:latest .
docker run -it -v /root/config.php:/config.php --network bridge --name IYUUAutoReseed --restart always -d iyuu:latest
docker build -f Dockerfile -t iyuu:arm64v8 .
docker run -it -v /root/config.php:/config.php --network bridge --name IYUUAutoReseed --restart always -d iyuu:arm64v8
docker exec -it IYUUAutoReseed php iyuu.php

2
docker/Arm64v8/push.sh Normal file
View File

@@ -0,0 +1,2 @@
docker image tag iyuu:arm64v8 iyuucn/iyuuautoreseed:arm64v8
docker image push iyuucn/iyuuautoreseed:arm64v8

View File

@@ -38,12 +38,12 @@ iyuucn/iyuuautoreseed:latest
**命令解释**
| 参数 | 解释 |
| --------- | ------------------------------------------- |
| --name | 容器名字 |
| -e | 定时任务执行时间 |
| -v | 本地目录或文件:容器目录文件,资源挂载到容器 |
| --restart | 启动模式 |
| 参数 | 解释 |
| ----------- | ------------------------------------------------------------ |
| `--name` | 容器名字 |
| `-e` | 环境变量,定时任务执行时间 |
| `-v` | 本地目录或文件:容器目录文件,资源挂载到容器<br />请把你的配置文件放在/root/config.php会把你的配置映射进容器内。 |
| `--restart` | 启动模式 |
------

8
docker/entrypoint.sh Normal file
View File

@@ -0,0 +1,8 @@
#!/bin/sh
DEFAULT_CRON="9 */6 * * *"
cron=${cron:-$DEFAULT_CRON}
set -e
echo "$cron /usr/bin/php /IYUU/iyuu.php" | crontab -
cd /IYUU && git fetch --all && git reset --hard origin/master
/usr/bin/php /IYUU/iyuu.php
/usr/sbin/crond -f

View File

@@ -5,5 +5,4 @@ echo $pwddir
cd $(dirname $0)
git fetch --all
git reset --hard origin/master
git pull
php ./iyuu.php

View File

@@ -12,7 +12,7 @@
![stars](https://img.shields.io/github/stars/ledccn/IYUUAutoReseed)![forks](https://img.shields.io/github/forks/ledccn/IYUUAutoReseed)![release](https://img.shields.io/github/release/ledccn/IYUUAutoReseed.svg)
## 获取脚本,种方式皆可
## 获取脚本,种方式皆可
1. 通过git命令安装
@@ -26,6 +26,10 @@
`https://github.com/ledccn/IYUUAutoReseed/archive/master.zip`
4. Docker使用
[https://gitee.com/ledc/IYUUAutoReseed/tree/master/docker](https://gitee.com/ledc/IYUUAutoReseed/tree/master/docker)
## 功能
IYUU自动辅种工具功能分为两大块自动辅种、自动转移。
@@ -51,7 +55,7 @@ IYUU自动辅种工具英文名IYUUAutoReseed是一款PHP语言编
2. qBittorrent
## 支持自动辅种的站点
学校、杜比、家园、天空、朋友、馒头、萌猫、我堡、猫站、铂金家、烧包、北洋、TCCF、南洋、TTG、映客、城市、52pt、brobits、备胎、SSD、CHD、ptmsg、leaguehd、聆音、瓷器、hdarea、eastgame(TLF)、1ptba、hdtime、hd4fans、opencd、hdbug、hdstreet、joyhd、u2、upxin(HDU)、oshen、discfan(GZT)、cnscg圣城(已删除)、北邮、CCFBits、dicmusic、天雪、葡萄、HDRoute、伊甸园hdbd、海胆haidan、HDfans。
学校、杜比、家园、天空、朋友、馒头、萌猫、我堡、猫站、铂金家、烧包、北洋、TCCF、南洋、TTG、映客、城市、52pt、brobits、备胎、SSD、CHD、ptmsg、leaguehd、聆音、瓷器、hdarea、eastgame(TLF)、1ptba、hdtime、hd4fans、opencd、hdbug、hdstreet、joyhd、u2、upxin(HDU)、oshen、discfan(GZT)、cnscg圣城(已删除)、北邮、CCFBits、dicmusic、天雪、葡萄、HDRoute、伊甸园hdbd、海胆haidan、HDfans、龙之家、百川PT
## 运行环境
具备PHP运行环境的所有平台例如Linux、Windows、MacOS
@@ -77,17 +81,20 @@ IYUU自动辅种工具英文名IYUUAutoReseed是一款PHP语言编
## 相关项目
- IYUU GUI地址https://github.com/Rhilip/IYUU-GUI简介这是一个基于IYUU提供的API产生的一个可视化操作项目。 目的是为了降低直接上手PHP版IYUUAutoReseed的难度。
- IYUU-Fly地址https://github.com/PlexPt/iyuu-fly简介带GUI的iyuu自动辅种程序。
- goreseed地址https://github.com/gaoluhua99/goreseed简介golang编写调用IYUU接口的CLI辅种程序。
- IYUUAutoReseed-web地址https://github.com/goveeta/IYUUAutoReseed-web
- AutoPT地址https://github.com/lysssssss/AutoPT简介此程序用于自动下载PT免费种子并自动辅种和一体化管理。开发目的为了释放双手专注观影
- flexget_qbittorrent_mod地址https://github.com/IvonWei/flexget_qbittorrent_mod简介Flexget qBittorrent插件实现全自动化辅种、删种、免费种筛选、签到等。
| 项目名| 简介|
| - | --- |
| [IYUU GUI](https://github.com/Rhilip/IYUU-GUI) | 这是一个基于IYUU提供的API产生一个可视化操作项目。目的是为了降低直接上手PHP版IYUUAutoReseed的困难。 |
| [IYUU-Fly](https://github.com/PlexPt/iyuu-fly) | 带GUI的iyuu自动辅种程序。 |
| [goreseed](https://github.com/gaoluhua99/goreseed) | golang编写调用IYUU接口的CLI辅种程序。 |
| [IYUUAutoReseed-web](https://github.com/goveeta/IYUUAutoReseed-web) | |
| [AutoPT](https://github.com/lyssssssss/AutoPT) | 此程序用于自动下载PT免费种子并自动辅种和一体化管理。开发目的为了释放双手专注观影 |
| [flexget_qbittorrent_mod](https://github.com/IvonWei/flexget_qbittorrent_mod) | Flexget qBittorrent插件实现全自动化辅种删除种免费种筛选签到等。|
## 需求提交/错误反馈
- QQ群859882209[2000人.入门群]931954050[1000人.进阶群]
- QQ群859882209[2000人群]931954050[1000人群],924099912[2000人群]
- 问答社区http://wenda.iyuu.cn
- 博客https://www.iyuu.cn/
- issues https://gitee.com/ledc/IYUUAutoReseed/issues

View File

@@ -1,5 +1,11 @@
# 公告栏
### 2020年7月31日09:25:55
1. IYUUAutoReseed正式建立了docke镜像自动编译2个版本ARM64【iyuucn/iyuuautoreseed:arm64v8】、AMD64【iyuucn/iyuuautoreseed:latest】使用方法[点击查看](https://gitee.com/ledc/IYUUAutoReseed/tree/master/docker)
2. 优化默认流控参数单次最多20个间隔20秒。天空辅种请配置cookie必须更新至最新版本并配置浏览器UA获取UA请访问[http://demo.iyuu.cn](http://demo.iyuu.cn/)
3. v1.10.2版本以后的docker每5小时会自动拉取最新代码从此您只需要看公告更新配置就行啦。
### 2020年7月13日08:00:00
【更新提醒】v1.9.1

View File

@@ -4,6 +4,15 @@
------
### 2020年8月2日
- v1.10.2版本以后的docker每5小时会自动拉取最新代码从此您只需要看公告更新配置就行啦。
- IYUUAutoReseed正式建立了docke镜像自动编译2个版本ARM64【iyuucn/iyuuautoreseed:arm64v8】、AMD64【iyuucn/iyuuautoreseed:latest】使用方法[点击查看](https://gitee.com/ledc/IYUUAutoReseed/tree/master/docker)
- 辅种天空的用户,必须更新至最新版本。
优化了默认流控参数单次最多20个间隔20秒。
天空辅种请配置cookie并配置浏览器UA获取UA请访问[http://demo.iyuu.cn](http://demo.iyuu.cn/)
- v1.10.4版本支持qBittorrent v4.1.5 (小钢炮等)
### 2020年7月3日
1. 优化windows的辅种批处理采用环境变量调用