diff --git a/app/Class/Oauth.php b/app/Class/Oauth.php
index 19e964d..9176295 100644
--- a/app/Class/Oauth.php
+++ b/app/Class/Oauth.php
@@ -27,7 +27,7 @@ class Oauth{
             }
         }
         echo "-----缺少用户登录参数:token, user_id, passkey, site \n";
-        echo "-----当前正在使用测试接口,功能会受到限制! \n\n";
+        echo "-----当前正在使用测试接口,功能可能会受到限制! \n\n";
         return false;
     }
     /**
@@ -37,7 +37,12 @@ class Oauth{
         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";
+            exit(1);
+        }
+        // 发布员鉴权
         #$token = isset($configALL['secret']) && $configALL['secret'] ? $configALL['secret'] : $token;
         return $token;
     }
diff --git a/app/Protocols/hdstreet.php b/app/Protocols/hdstreet.php
new file mode 100644
index 0000000..3c7489d
--- /dev/null
+++ b/app/Protocols/hdstreet.php
@@ -0,0 +1,206 @@
+<?php
+/**
+ * hdstreet解码类
+ */
+use phpspider\core\requests;
+use phpspider\core\selector;
+
+class hdstreet implements decodeBase
+{
+	/**
+     * 站点标志
+     * @var string
+     */
+    const SITE = 'hdstreet';
+	/**
+     * 域名
+     * @var string
+     */
+    const domain = 'hdstreet.club';
+	const HOST = 'https://'.self::domain.'/';
+	// 下载种子的请求类型
+	const METHOD = 'GET';
+	/**
+     * 种子存放路径
+     * @var string
+     */
+    const TORRENT_DIR = TORRENT_PATH . self::SITE . DS;
+	/**
+     * 种子下载前缀
+     */
+    const downloadPrefix = 'download.php?id=';
+	/**
+     * 种子详情页前缀
+     */
+    const detailsPrefix = 'details.php?id=';
+	// 网页编码
+	const encoding = 'UTF-8';
+	// 超时时间
+	const CONNECTTIMEOUT = 30;
+	const TIMEOUT = 600;
+	/**
+     * cookie
+     */
+    public static $cookies = '';
+	/**
+     * 浏览器 User-Agent
+     */
+    public static $userAgent = '';
+	/**
+     * passkey
+     */
+    public static $passkey = '';
+	/**
+     * 获取的种子标志
+     */
+    public static $getTorrent = array('class="pro_free');
+	/**
+     * H&R 标志
+     */
+    public static $HR = array('class="hitandrun"','alt="H&amp;R"','title="H&amp;R"');
+	/**
+     * 解码后种子列表数组
+     */
+	public static $TorrentList = array();
+	/**
+     * 初始化配置
+     */
+	public static function init(){
+		global $configALL;
+
+		$config = $configALL[self::SITE];
+		self::$cookies = $config['cookie'];
+		self::$userAgent = isset($config['userAgent']) && $config['userAgent'] ? $config['userAgent'] : $configALL['default']['userAgent'];
+		self::$passkey = isset($config['passkey']) ? '&passkey='.$config['passkey'].'&https=1' : '';
+
+		requests::$input_encoding = self::encoding;	//输入的网页编码
+		requests::$output_encoding = self::encoding;	//输出的网页编码
+		requests::set_cookies(self::$cookies, self::domain);
+		requests::set_useragent([self::$userAgent]);
+		requests::set_timeout([self::CONNECTTIMEOUT,self::TIMEOUT]);
+	}
+
+	/**
+     * 执行
+     *
+     * @param string
+     * @return array
+     */
+    public static function run()
+    {
+		self::init();
+		Rpc::init(self::SITE, self::METHOD);
+		$html = self::get();
+		#p($html);exit;
+		if ( $html === null ) {
+			exit(1);
+		}
+		$data = self::decode($html);
+		#p($data);exit;
+		Rpc::call($data);
+		exit(0);
+    }
+
+    /**
+     * 请求页面
+     *
+     * @param string        $url
+     * @return array
+     */
+    public static function get($url = 'torrents.php')
+    {
+        // 发起请求
+		$html = requests::get(self::HOST.$url);
+		#p($html);exit;
+		$offset = strpos($html,'<img class="size" src="pic/trans.gif" alt="size" title="大小" /></a></td>');
+		$offsetEnd = strpos($html,'target="_self" title="查看两倍上传量种子"><font class=');
+		$html = substr($html,$offset,$offsetEnd);
+		// 获取列表页数据
+		$data = selector::select($html, "//table");
+		if(!$data){
+			echo "登录信息过期,请重新设置! \n";
+			return null;
+		}
+        return $data;
+    }
+
+    /**
+     * 解码
+     *
+     * @param array $data
+     * @return array
+     */
+    public static function decode($data = array())
+    {
+		$downloadStrLen = strlen(self::downloadPrefix);	// 前缀长度
+		$downloadStrEnd = '"';	//种子地址结束标志
+		$len = $downloadStrLen + 10;		// 截取长度
+        foreach ( $data as $k => $v ){
+			$arr = array();
+			// 种子基本信息处理
+			// 偏移量
+			$offset = strpos($v,self::downloadPrefix);
+			// 截取
+			$urlTemp = substr($v,$offset,$len);
+			// 种子地址
+			$arr['url'] = substr($urlTemp,0,strpos($urlTemp,$downloadStrEnd));
+			// 种子id
+			$arr['id'] = substr($arr['url'],$downloadStrLen);
+
+			// 获取主标题
+			// 偏移量
+			$h1_offset = strpos($v, '<a title="') + strlen('<a title="');
+			$h1_temp = substr($v, $h1_offset);
+			$h1_len = strpos($h1_temp, '"');
+			$arr['h1'] = substr($v, $h1_offset, $h1_len);
+			if (strpos($arr['h1'],'&#x') != false) {
+				$arr['h1'] = mb_convert_encoding($arr['h1'], 'UTF-8', 'HTML-ENTITIES');
+			}
+
+			// 获取副标题(倒序算法)
+			// 偏移量
+			$h2StrStart = '<br/>';
+			$h2StrEnd = '</td><td';
+			$h2_endOffset = strpos($v,$h2StrEnd);
+			$temp = substr($v, 0, $h2_endOffset);
+			$h2_offset = strrpos($temp,$h2StrStart);
+			if ($h2_offset === false ) {
+				$arr['title'] = '';
+			} else {
+				$h2_len = strlen($temp) - $h2_offset - strlen($h2StrStart);
+				//存在副标题
+				$arr['title'] = substr($temp, $h2_offset + strlen($h2StrStart), $h2_len);
+				$arr['title'] = selector::remove($arr['title'], "//div");
+				// 第二次过滤
+				if ( strpos($arr['title'],'</td>') != false ) {
+					$arr['title'] = str_replace('</td><td',"",$arr['title']);
+				}
+			}
+
+			// 组合返回数组
+			self::$TorrentList[$k]['id'] = $arr['id'];
+			self::$TorrentList[$k]['h1'] = $arr['h1'];
+			self::$TorrentList[$k]['title'] = isset( $arr['title'] ) && $arr['title'] ? $arr['title'] : '';
+			self::$TorrentList[$k]['details'] = self::HOST.self::detailsPrefix.$arr['id'];
+			self::$TorrentList[$k]['download'] = self::HOST.$arr['url'];
+			self::$TorrentList[$k]['filename'] = $arr['id'].'.torrent';
+
+			// 种子促销类型解码
+			if(strpos($v,self::$getTorrent[0]) === false){
+				// 不免费
+				self::$TorrentList[$k]['type'] = 1;
+			}else{
+				// 免费种子
+				self::$TorrentList[$k]['type'] = 0;
+			}
+			// 存活时间
+			// 大小
+			// 种子数
+			// 下载数
+			// 完成数
+			// 完成进度
+		}
+		#p(self::$TorrentList);
+        return self::$TorrentList;
+    }
+}
diff --git a/app/Protocols/moecat.php b/app/Protocols/moecat.php
index 1fc21de..4aee9b2 100644
--- a/app/Protocols/moecat.php
+++ b/app/Protocols/moecat.php
@@ -1,7 +1,7 @@
 <?php
 /**
  * moecat.best解码类
- * 
+ *
  */
 use phpspider\core\requests;
 use phpspider\core\selector;
@@ -189,7 +189,7 @@ class Moecat implements decodeBase
 							}
 							$titleSpan.='['.$vv.'] ';
 						}
-					}else{		
+					}else{
 						$titleSpan.='['.$span.'] ';
 					}
 				}
diff --git a/app/config/config.sample.php b/app/config/config.sample.php
index 3fe3ada..4578aeb 100644
--- a/app/config/config.sample.php
+++ b/app/config/config.sample.php
@@ -349,6 +349,13 @@ return array(
 		// 如果需要自动辅种,必须配置
 		'passkey'       => '',
 	),
+	// hdstreet 序号:34
+	'hdstreet'      => array(
+		// 如果需要用下载免费种脚本,须配置(只是自动辅种,可以不配置此项)
+		'cookie'        => '',
+		// 如果需要自动辅种,必须配置
+		'passkey'       => '',
+	),
 
 	// 配置文件结束
 );
\ No newline at end of file
diff --git a/app/config/version.php b/app/config/version.php
index dfa8c67..903caa7 100644
--- a/app/config/version.php
+++ b/app/config/version.php
@@ -1 +1 @@
-<?php return '20191221.1920';
+<?php return '20191224.1010';
diff --git a/app/hdstreet.php b/app/hdstreet.php
new file mode 100644
index 0000000..68df938
--- /dev/null
+++ b/app/hdstreet.php
@@ -0,0 +1,3 @@
+<?php
+require_once __DIR__ . '/init.php';
+hdstreet::run();
\ No newline at end of file
diff --git a/iyuu.cn.php b/iyuu.cn.php
index aa1d06c..d43e471 100644
--- a/iyuu.cn.php
+++ b/iyuu.cn.php
@@ -304,21 +304,25 @@ class iyuuAutoReseed
 		// 可辅种站点信息列表
 		$sites = $resArray['sites'];
 		#p($sites);
+		// 按客户端循环辅种
 		foreach (self::$links as $k => $v) {
 			$reseed = $infohash_Dir = array();
 			if (empty($resArray['clients_'.$k])) {
 				echo "clients_".$k."没有查询到可辅种数据 \n\n";
 				continue;
 			}
+			// 当前客户端辅种数据
 			$reseed = $resArray['clients_'.$k];
 			// info_hash 对应的下载目录
 			$infohash_Dir = self::$links[$k]['hash'];
 			foreach ($reseed as $info_hash => $vv) {
+				// 当前种子哈希对应的目录
 				$downloadDir = $infohash_Dir[$info_hash];
 				foreach ($vv['torrent'] as $id => $value) {
 					$sitesID = $value['sid'];
 					$url = $_url = '';
 					$download_page = '';
+					// 页面规则
 					$download_page = str_replace('{}', $value['torrent_id'], $sites[$sitesID]['download_page']);
 					$_url = 'https://' .$sites[$sitesID]['base_url']. '/' .$download_page;
 					if (empty($configALL[$sites[$sitesID]['site']]['passkey'])) {
@@ -340,24 +344,25 @@ class iyuuAutoReseed
 							break;
 					}
 					// 检查不辅种的站点
-					// 判断是否VIP/特殊权限?
+					// 判断是否VIP或特殊权限?
 					$is_vip = isset($configALL[$sites[$sitesID]['site']]['is_vip']) && $configALL[$sites[$sitesID]['site']]['is_vip'] ? 1 : 0;
 					if ( (in_array($sites[$sitesID]['site'], self::$noReseed)==false) || $is_vip ) {
 						// 可以辅种
 						if ( isset($infohash_Dir[$value['info_hash']]) ) {
 							// 与客户端现有种子重复
 							echo '-------与客户端现有种子重复:'.$_url."\n\n";
+							continue;
 						}else{
 							// 判断上次是否成功添加?
 							if ( is_file(self::$cacheHash . $value['info_hash'].'.txt') ) {
 								echo '-------当前种子上次辅种已成功添加,已跳过!'.$_url."\n\n";
 								continue;
 							}
-
 							// 把拼接的种子URL,推送给下载器
-							$ret = false;							
+							$ret = false;
+							// 成功返回:true
 							$ret = self::add($k, $url, $downloadDir);
-							// 写日志
+							// 添加成功的种子,以infohash为文件名,写入缓存
 							if ($ret) {
 								// 文件句柄
 								$resource = fopen(self::$cacheHash . $value['info_hash'].'.txt', "wb");
@@ -382,6 +387,9 @@ class iyuuAutoReseed
 			}
 		}
 	}
+	/**
+	 * 正常做种的种子在各下载器的互相转移
+	 */
 	public static function move($torrent=array(), $type = 'qBittorrent'){
 		switch($type){
 			case 'transmission':
diff --git a/readme.md b/readme.md
index afdee17..77c5a46 100644
--- a/readme.md
+++ b/readme.md
@@ -16,10 +16,14 @@ IYUU自动辅种工具(英文名:iyuuAutoReseed),是一款PHP语言编
  1. transmission
  2. qBittorrent
 
+## 支持自动辅种的站点
+学校、杜比、家园、天空、朋友、馒头、萌猫、我堡、猫站、铂金家、烧包、北洋、TCCF、南洋、TTG、映客、城市、52pt、brobits、备胎、SSD、CHD、ptmsg、leaguehd、聆音、瓷器、hdarea、eastgame(TLF)、1ptba、hdtime、hd4fans、opencd、hdbug、hdstreet。
+
 ## 运行环境
 所有具备PHP运行环境的所有平台!
 例如:Linux、Windows、MacOS
- 1. Windows下安装php环境:https://www.php.net/downloads,官方下载的记得开启crul、fileinfo、mbstring,这3个扩展。
+ 1. Windows下安装php环境:https://www.php.net/downloads
+    官方下载的记得开启crul、fileinfo、mbstring,这3个扩展。
 
 ## 下载源码
  - 码云仓库:https://gitee.com/ledc/IYUUAutoReseed
diff --git a/wiki/更新历史.md b/wiki/更新历史.md
index 1fff2d7..b46b29c 100644
--- a/wiki/更新历史.md
+++ b/wiki/更新历史.md
@@ -1,3 +1,8 @@
+### 2019年12月24日
+新增hdstreet
+
+------
+
 ### 2019年12月23日
 鉴权模式上线试运行
 
@@ -6,7 +11,6 @@
 ### 2019年12月21日
 
 新增兽站、opencd、hdbug;
-自动辅种33个站:学校、杜比、家园、天空、朋友、馒头、萌猫、我堡、猫站、铂金家、烧包、北洋、TCCF、南洋、TTG、映客、城市、52pt、brobits、备胎、SSD、CHD、ptmsg、leaguehd、聆音、瓷器、hdarea、eastgame、1ptba、hdtime、hd4fans、opencd、hdbug。
 
 ------