diff --git a/app/AutoReseed.php b/app/AutoReseed.php
index f4a7583..0e19f53 100644
--- a/app/AutoReseed.php
+++ b/app/AutoReseed.php
@@ -77,7 +77,7 @@ class AutoReseed
      */
     public static $ExitCode = 0;
     /**
-     * 客户端转移做种 状态码[请把transmission配置为第一个客户端]
+     * 客户端转移做种
      * @var array
      */
     public static $move = null;
@@ -105,7 +105,7 @@ class AutoReseed
         self::ShowTableSites();
         global $configALL;
         self::$clients = isset($configALL['default']['clients']) && $configALL['default']['clients'] ? $configALL['default']['clients'] : array();
-        echo "程序正在初始化运行参数... \n";
+        echo "程序正在初始化运行参数... ".PHP_EOL;
         // 递归删除上次历史记录
         IFile::rmdir(self::$cacheDir, true);
         // 建立目录
@@ -128,12 +128,12 @@ class AutoReseed
         $list[] = 'gitee 源码仓库:https://gitee.com/ledc/IYUUAutoReseed';
         $list[] = 'github源码仓库:https://github.com/ledccn/IYUUAutoReseed';
         $list[] = '教程:https://gitee.com/ledc/IYUUAutoReseed/tree/master/wiki';
-        $list[] = "QQ群:859882209 【IYUU自动辅种交流】 \n";
+        $list[] = "QQ群:859882209 【IYUU自动辅种交流】".PHP_EOL;
         foreach ($list as $key => $value) {
             echo $value.PHP_EOL;
         }
         // 发起请求
-        echo "正在连接IYUUAutoReseed服务器,查询支持列表…… \n";
+        echo "正在连接IYUUAutoReseed服务器,查询支持列表…… ".PHP_EOL;
         $curl = new Curl();
         $curl->setOpt(CURLOPT_SSL_VERIFYPEER, false); // 禁止验证证书
         $curl->setOpt(CURLOPT_SSL_VERIFYHOST, false); // 不检查证书
@@ -182,7 +182,7 @@ class AutoReseed
                 // 跳过未配置的客户端
                 if (empty($v['username']) || empty($v['password'])) {
                     unset(self::$clients[$k]);
-                    echo "clients_".$k." 用户名或密码未配置,已跳过 \n\n";
+                    echo "clients_".$k." 用户名或密码未配置,已跳过".PHP_EOL.PHP_EOL;
                     continue;
                 }
                 try {
@@ -235,11 +235,11 @@ class AutoReseed
                         $result = self::$links[$k]['rpc']->get($ids, $fields);
                         if (empty($result->result) || $result->result != 'success') {
                             // 获取种子列表 失败
-                            echo "获取种子列表失败,原因可能是transmission暂时无响应,请稍后重试! \n";
+                            echo "获取种子列表失败,原因可能是transmission暂时无响应,请稍后重试!".PHP_EOL;
                             break;
                         }
                         if (empty($result->arguments->torrents)) {
-                            echo "未获取到数据,请多多保种,然后重试! \n";
+                            echo "未获取到数据,请多多保种,然后重试!".PHP_EOL;
                             break;
                         }
                         // 对象转数组
@@ -247,7 +247,7 @@ class AutoReseed
                         // 过滤,只保留正常做种
                         $res = array_filter($res, "filterStatus");
                         if (empty($res)) {
-                            echo "未获取到需要辅种的数据,请多多保种,然后重试! \n";
+                            echo "未获取到需要辅种的数据,请多多保种,然后重试!".PHP_EOL;
                             break;
                         }
                         // 提取数组:hashString
@@ -273,13 +273,13 @@ class AutoReseed
                         $result = self::$links[$k]['rpc']->torrentList();
                         $res = json_decode($result, true);
                         if (empty($res)) {
-                            echo "未获取到数据,请多多保种,然后重试! \n";
+                            echo "未获取到数据,请多多保种,然后重试!".PHP_EOL;
                             break;
                         }
                         // 过滤,只保留正常做种
                         $res = array_filter($res, "qbfilterStatus");
                         if (empty($res)) {
-                            echo "未获取到需要辅种的数据,请多多保种,然后重试! \n";
+                            echo "未获取到需要辅种的数据,请多多保种,然后重试!".PHP_EOL;
                             break;
                         }
                         // 提取数组:hashString
@@ -302,12 +302,12 @@ class AutoReseed
                         #p(self::$links[$k]['hash']);exit;
                         break;
                     default:
-                        echo '[ERROR] '.$v['type'];
+                        echo '[get ERROR] '.$v['type'] . PHP_EOL;
                         exit(1);
                         break;
                 }
             } catch (\Exception $e) {
-                echo '[ERROR] ' . $e->getMessage() . PHP_EOL;
+                echo '[get ERROR] ' . $e->getMessage() . PHP_EOL;
                 exit(1);
             }
         }
@@ -347,17 +347,18 @@ class AutoReseed
                             $name = $result->arguments->torrent_added->name;
                         }
                         if ($is_url) {
-                            print "种子:".$torrent. "\n";
+                            print "种子:".$torrent . PHP_EOL;
                         }
-                        print "********RPC添加下载任务成功 [{$result->result}] (id=$id) \n";
-                        print "名字:".$name."\n\n";
+                        print "名字:".$name . PHP_EOL;
+                        print "********RPC添加下载任务成功 [{$result->result}] (id=$id)".PHP_EOL.PHP_EOL;
+                        
                         return true;
                     } else {
                         $errmsg = isset($result->result) ? $result->result : '未知错误,请稍后重试!';
                         if ($is_url) {
-                            print "种子:".$torrent. "\n";
+                            print "种子:".$torrent . PHP_EOL;
                         }
-                        print "-----RPC添加种子任务,失败 [{$errmsg}] \n\n";                        
+                        print "-----RPC添加种子任务,失败 [{$errmsg}]" . PHP_EOL.PHP_EOL;                        
                     }
                     break;
                 case 'qBittorrent':
@@ -371,13 +372,13 @@ class AutoReseed
                         $result = self::$links[$rpcKey]['rpc']->add_metainfo($torrent, $save_path, $extra_options);	// 种子元数据添加下载任务
                     }
                     if ($is_url) {
-                        print "种子:".$torrent. "\n";
+                        print "种子:".$torrent.PHP_EOL;
                     }
                     if ($result === 'Ok.') {
-                        print "********RPC添加下载任务成功 [{$result}] \n\n";
+                        print "********RPC添加下载任务成功 [{$result}]".PHP_EOL.PHP_EOL;
                         return true;
                     } else {
-                        print "-----RPC添加种子任务,失败 [{$result}] \n\n";
+                        print "-----RPC添加种子任务,失败 [{$result}]".PHP_EOL.PHP_EOL;
                     }
                     break;
                 default:
@@ -425,17 +426,17 @@ class AutoReseed
             }
         }
         // 发起请求
-        echo "正在提交辅种信息…… \n";
+        echo "正在提交辅种信息……".PHP_EOL;
         $res = self::$curl->post(self::$apiUrl . self::$endpoints['reseed'], $hashArray);
         $resArray = json_decode($res->response, true);
         // 写返回日志
         wlog($resArray, 'reseed');
         // 判断返回值
         if (isset($resArray['errmsg']) && ($resArray['errmsg'] == 'ok')) {
-            echo "辅种信息提交成功!!! \n\n";
+            echo "辅种信息提交成功!!!".PHP_EOL.PHP_EOL;
         } else {
             $errmsg = isset($resArray['errmsg']) ? $resArray['errmsg'] : '远端服务器无响应,请稍后重试!';
-            echo '-----辅种失败,原因:' .$errmsg. " \n\n";
+            echo '-----辅种失败,原因:' .$errmsg.PHP_EOL.PHP_EOL;
             exit(1);
         }
         // 可辅种站点信息
@@ -446,7 +447,7 @@ class AutoReseed
         // 按客户端循环辅种 开始
         foreach (self::$links as $k => $v) {
             if (empty($resArray['clients_'.$k])) {
-                echo "clients_".$k."没有查询到可辅种数据 \n\n";
+                echo "clients_".$k."没有查询到可辅种数据".PHP_EOL.PHP_EOL;
                 continue;
             }
             $reseed = $infohash_Dir = array();
@@ -470,43 +471,43 @@ class AutoReseed
                     // 页面规则
                     $download_page = str_replace('{}', $value['torrent_id'], $sites[$sitesID]['download_page']);
                     $_url = 'https://' .$sites[$sitesID]['base_url']. '/' .$download_page;
-                    echo "clients_".$k."正在辅种... {$siteName} \n";
+                    echo "clients_".$k."正在辅种... {$siteName}".PHP_EOL;
                     /**
                      * 前置检测
                      */
                     // passkey检测
                     if (empty($configALL[$siteName]['passkey'])) {
-                        echo '-------因当前' .$siteName. "站点未设置passkey,已跳过!! \n\n";
+                        echo '-------因当前' .$siteName. "站点未设置passkey,已跳过!!".PHP_EOL.PHP_EOL;
                         self::$wechatMsg['reseedSkip']++;
                         continue;
                     }
                     // cookie检测
                     if ( in_array($siteName, self::$cookieCheck) && empty($configALL[$siteName]['cookie']) ) {
-                        echo '-------因当前' .$siteName. '站点未设置cookie,已跳过!!' . "\n\n";
+                        echo '-------因当前' .$siteName. '站点未设置cookie,已跳过!!' .PHP_EOL.PHP_EOL;
                         self::$wechatMsg['reseedSkip']++;
                         continue;
                     }
                     // 流控检测
                     if ( isset($configALL[$siteName]['limit']) ) {
-                        echo "-------因当前" .$siteName. "站点触发流控,已跳过!! {$_url} \n\n";
+                        echo "-------因当前" .$siteName. "站点触发流控,已跳过!! {$_url}".PHP_EOL.PHP_EOL;
                         // 流控日志
                         if ($siteName == 'hdchina') {
                             $details_page = str_replace('{}', $value['torrent_id'], 'details.php?id={}&hit=1');
                             $_url = 'https://' .$sites[$sitesID]['base_url']. '/' .$details_page;
                         }
-                        wlog('clients_'.$k."\n".$downloadDir."\n"."-------因当前" .$siteName. "站点触发流控,已跳过!! {$_url} \n\n", 'reseedLimit');
+                        wlog('clients_'.$k.PHP_EOL.$downloadDir.PHP_EOL."-------因当前" .$siteName. "站点触发流控,已跳过!! {$_url}".PHP_EOL.PHP_EOL, 'reseedLimit');
                         self::$wechatMsg['reseedSkip']++;
                         continue;
                     }
                     // 重复做种检测
                     if ( isset($value['info_hash']) && isset($infohash_Dir[$value['info_hash']]) ) {
-                        echo '-------与客户端现有种子重复:'.$_url."\n\n";
+                        echo '-------与客户端现有种子重复:'.$_url.PHP_EOL.PHP_EOL;
                         self::$wechatMsg['reseedRepeat']++;
                         continue;
                     }
                     // 历史添加检测
                     if ( is_file(self::$cacheHash . $value['info_hash'].'.txt') ) {
-                        echo '-------当前种子上次辅种已成功添加,已跳过! '.$_url."\n\n";
+                        echo '-------当前种子上次辅种已成功添加,已跳过! '.$_url.PHP_EOL.PHP_EOL;
                         self::$wechatMsg['reseedPass']++;
                         continue;
                     }
@@ -530,7 +531,7 @@ class AutoReseed
                                 $details_page = str_replace('{}', $value['torrent_id'], 'details.php?id={}&hit=1');
                                 $details_url = 'https://' .$sites[$sitesID]['base_url']. '/' .$details_page;
                                 $details_html = download($details_url, $cookie, $userAgent);
-                                print "种子详情页:".$details_url. "\n";
+                                print "种子详情页:".$details_url.PHP_EOL;
                                 // 提取种子下载地址
                                 $download_page = str_replace('{}', '', $sites[$sitesID]['download_page']);
                                 $offset = strpos($details_html, $download_page);
@@ -538,10 +539,10 @@ class AutoReseed
                                 // 种子地址
                                 $_url = substr($urlTemp, 0, strpos($urlTemp, '">'));
                                 $_url = 'https://' .$sites[$sitesID]['base_url']. '/' . $_url;
-                                print "种子下载页:".$_url. "\n";
+                                print "种子下载页:".$_url.PHP_EOL;
                                 $url = download($_url, $cookie, $userAgent);
                                 if (strpos($url, '系统检测到过多的种子下载请求') != false) {
-                                    echo "当前站点触发人机验证,已加入排除列表 \n";
+                                    echo "当前站点触发人机验证,已加入排除列表".PHP_EOL;
                                     ff($siteName. '站点,辅种时触发人机验证!');
                                     $configALL[$siteName]['limit'] = 1;
                                     self::$noReseed[] = 'hdchina';
@@ -550,7 +551,7 @@ class AutoReseed
                             case 'hdcity':
                                 $cookie = isset($configALL[$siteName]['cookie']) ? $configALL[$siteName]['cookie'] : '';
                                 $userAgent = $configALL['default']['userAgent'];
-                                print "种子:".$_url. "\n";
+                                print "种子:".$_url.PHP_EOL;
                                 if (isset($configALL[$siteName]['cuhash'])) {
                                     // 已获取cuhash
                                     # code...
@@ -590,14 +591,14 @@ class AutoReseed
                         // 添加成功的种子,以infohash为文件名,写入缓存
                         if ($ret) {
                             // 成功的种子
-                            wlog($url."\n", $value['info_hash'], self::$cacheHash);
-                            wlog($url."\n", 'reseedSuccess');
+                            wlog($url.PHP_EOL, $value['info_hash'], self::$cacheHash);
+                            wlog($url.PHP_EOL, 'reseedSuccess');
                             // 成功累加
                             self::$wechatMsg['reseedSuccess']++;
                             continue;
                         } else {
                             // 失败的种子
-                            wlog($url."\n", 'reseedError');
+                            wlog($url.PHP_EOL, 'reseedError');
                             // 失败累加
                             self::$wechatMsg['reseedError']++;
                             continue;
@@ -606,7 +607,7 @@ class AutoReseed
                         /**
                          *  不辅种
                          */
-                        echo '-------已跳过不辅种的站点:'.$_url."\n\n";
+                        echo '-------已跳过不辅种的站点:'.$_url.PHP_EOL.PHP_EOL;
                         // 按站点规范日志内容
                         switch ($siteName) {
                             case 'hdchina':
@@ -619,7 +620,7 @@ class AutoReseed
                                 break;
                         }
                         // 写入日志文件,供用户手动辅种
-                        wlog('clients_'.$k."\n".$downloadDir."\n".$url."\n".$details_url."\n\n", $siteName);
+                        wlog('clients_'.$k.PHP_EOL.$downloadDir.PHP_EOL.$url.PHP_EOL.$details_url.PHP_EOL.PHP_EOL, $siteName);
                     }
                 }
             }
@@ -635,17 +636,17 @@ class AutoReseed
         // 前置过滤:2020年1月26日15:52:41
         self::hashFilter($hashArray['hash']);
         // 发起请求
-        echo "正在提交转移信息…… \n";
+        echo "正在提交转移信息……".PHP_EOL;
         $res = self::$curl->post(self::$apiUrl . self::$endpoints['move'], $hashArray);
         $resArray = json_decode($res->response, true);
         // 写日志
         wlog($resArray, 'move');
         // 判断返回值
         if (isset($resArray['errmsg']) && ($resArray['errmsg'] == 'ok')) {
-            echo "转移数据返回:成功!!! \n\n";
+            echo "转移数据返回:成功!!!".PHP_EOL.PHP_EOL;
         } else {
             $errmsg = isset($resArray['errmsg']) ? $resArray['errmsg'] : '远端服务器无响应,请稍后重试!';
-            echo '-----转移请求失败,原因:' .$errmsg. " \n\n";
+            echo '-----转移请求失败,原因:' .$errmsg.PHP_EOL.PHP_EOL;
             exit(1);
         }
         // 可辅种站点信息
@@ -655,11 +656,11 @@ class AutoReseed
         // 按客户端移动 开始
         foreach (self::$links as $k => $v) {
             if (self::$move!=null && self::$move[0] == $k){
-                echo "clients_".$k."是目标转移客户端,避免冲突,已跳过! \n\n";
+                echo "clients_".$k."是目标转移客户端,避免冲突,已跳过!".PHP_EOL.PHP_EOL;
                 continue;
             }
             if (empty($resArray['clients_'.$k])) {
-                echo "clients_".$k."没有查询到可转移数据 \n\n";
+                echo "clients_".$k."没有查询到可转移数据".PHP_EOL.PHP_EOL;
                 continue;
             }            
             $infohash_Dir = $move = array();
@@ -681,43 +682,43 @@ class AutoReseed
                 // 页面规则
                 $download_page = str_replace('{}', $value['torrent_id'], $sites[$sitesID]['download_page']);
                 $_url = 'https://' .$sites[$sitesID]['base_url']. '/' .$download_page;
-                echo "clients_".$k."正在转移... {$siteName} \n";
+                echo "clients_".$k."正在转移... {$siteName}".PHP_EOL;
                 /**
                  * 前置检测
                  */
                 // passkey检测
                 if (empty($configALL[$siteName]['passkey'])) {
-                    echo '-------因当前' .$siteName. "站点未设置passkey,已跳过!! \n\n";
+                    echo '-------因当前' .$siteName. "站点未设置passkey,已跳过!!".PHP_EOL.PHP_EOL;
                     #self::$wechatMsg['reseedSkip']++;
                     continue;
                 }
                 // cookie检测
                 if ( in_array($siteName, self::$cookieCheck) && empty($configALL[$siteName]['cookie']) ) {
-                    echo '-------因当前' .$siteName. '站点未设置cookie,已跳过!!' . "\n\n";
+                    echo '-------因当前' .$siteName. '站点未设置cookie,已跳过!!' .PHP_EOL.PHP_EOL;
                     #self::$wechatMsg['reseedSkip']++;
                     continue;
                 }
                 // 流控检测
                 if ( isset($configALL[$siteName]['limit']) ) {
-                    echo "-------因当前" .$siteName. "站点触发流控,已跳过!! {$_url} \n\n";
+                    echo "-------因当前" .$siteName. "站点触发流控,已跳过!! {$_url}".PHP_EOL.PHP_EOL;
                     // 流控日志
                     if ($siteName == 'hdchina') {
                         $details_page = str_replace('{}', $value['torrent_id'], 'details.php?id={}&hit=1');
                         $_url = 'https://' .$sites[$sitesID]['base_url']. '/' .$details_page;
                     }
-                    wlog('clients_'.$k."\n".$downloadDir."\n"."-------因当前" .$siteName. "站点触发流控,已跳过!! {$_url} \n\n", 'MoveLimit');
+                    wlog('clients_'.$k.PHP_EOL.$downloadDir.PHP_EOL."-------因当前" .$siteName. "站点触发流控,已跳过!! {$_url}".PHP_EOL.PHP_EOL, 'MoveLimit');
                     #self::$wechatMsg['reseedSkip']++;
                     continue;
                 }
                 // 历史转移检测
                 if ( is_file(self::$cacheMove . $info_hash.'.txt') ) {
-                    echo '-------当前种子上次已成功转移,已跳过! '.$_url."\n\n";
+                    echo '-------当前种子上次已成功转移,已跳过! '.$_url.PHP_EOL.PHP_EOL;
                     #self::$wechatMsg['reseedPass']++;
                     continue;
                 }
                 // 不转移的站点检测
                 if ( in_array($siteName, self::$noMove) ) {
-                    echo '-------已跳过不转移的站点 ' .$siteName. '!! ' . "\n\n";
+                    echo '-------已跳过不转移的站点 ' .$siteName. '!! ' .PHP_EOL.PHP_EOL;
                     #self::$wechatMsg['reseedSkip']++;
                     continue;
                 }
@@ -737,7 +738,7 @@ class AutoReseed
                         $details_page = str_replace('{}', $value['torrent_id'], 'details.php?id={}&hit=1');
                         $details_url = 'https://' .$sites[$sitesID]['base_url']. '/' .$details_page;
                         $details_html = download($details_url, $cookie, $userAgent);
-                        print "种子详情页:".$details_url. "\n";
+                        print "种子详情页:".$details_url.PHP_EOL;
                         // 提取种子下载地址
                         $download_page = str_replace('{}', '', $sites[$sitesID]['download_page']);
                         $offset = strpos($details_html, $download_page);
@@ -745,10 +746,10 @@ class AutoReseed
                         // 种子地址
                         $_url = substr($urlTemp, 0, strpos($urlTemp, '">'));
                         $_url = 'https://' .$sites[$sitesID]['base_url']. '/' . $_url;
-                        print "种子下载页:".$_url. "\n";
+                        print "种子下载页:".$_url.PHP_EOL;
                         $url = download($_url, $cookie, $userAgent);
                         if (strpos($url, '系统检测到过多的种子下载请求') != false) {
-                            echo "当前站点触发人机验证,已加入排除列表 \n";
+                            echo "当前站点触发人机验证,已加入排除列表".PHP_EOL;
                             ff($siteName. '站点,辅种时触发人机验证!');
                             $configALL[$siteName]['limit'] = 1;
                         }
@@ -756,7 +757,7 @@ class AutoReseed
                     case 'hdcity':
                         $cookie = isset($configALL[$siteName]['cookie']) ? $configALL[$siteName]['cookie'] : '';
                         $userAgent = $configALL['default']['userAgent'];
-                        print "种子:".$_url. "\n";
+                        print "种子:".$_url.PHP_EOL;
                         if (isset($configALL[$siteName]['cuhash'])) {
                             // 已获取cuhash
                             # code...
@@ -777,11 +778,11 @@ class AutoReseed
                         // 默认站点:推送给下载器种子URL链接
                         break;
                 }
-                echo "种子URL已推送给下载器,下载器正在下载种子... \n";
+                echo "种子URL已推送给下载器,下载器正在下载种子...".PHP_EOL;
                 // 实际路径与相对路径之间互转
                 $downloadDir = self::pathReplace($downloadDir);
                 if ( is_null($downloadDir) ) {
-                    die("全局配置的move数组内,type配置错误,请重新配置!!! \n");
+                    die("全局配置的move数组内,type配置错误,请重新配置!!!".PHP_EOL);
                 }
                 $ret = false;
                 // 把拼接的种子URL,推送给下载器
@@ -803,14 +804,14 @@ class AutoReseed
                  */
                 if ($ret) {
                     // 转移成功的种子,以infohash为文件名,写入缓存
-                    wlog($url."\n", $info_hash, self::$cacheMove);
-                    wlog($url."\n", 'MoveSuccess');
+                    wlog($url.PHP_EOL, $info_hash, self::$cacheMove);
+                    wlog($url.PHP_EOL, 'MoveSuccess');
                     // 成功累加
                     #self::$wechatMsg['reseedSuccess']++;
                     continue;
                 } else {
                     // 失败的种子
-                    wlog($url."\n", 'MoveError');
+                    wlog($url.PHP_EOL, 'MoveError');
                     // 失败累加
                     #self::$wechatMsg['reseedError']++;
                     continue;
@@ -829,7 +830,7 @@ class AutoReseed
             if (empty($data))  continue;
             foreach ($data as $key => $info_hash) {
                 if ( is_file(self::$cacheMove . $info_hash.'.txt') ) {
-                    echo '-------当前种子上次已成功转移,前置过滤已跳过! ' . "\n\n";
+                    echo '-------当前种子上次已成功转移,前置过滤已跳过! ' .PHP_EOL.PHP_EOL;
                     unset($data[$key]);
                 }
             }
@@ -909,7 +910,7 @@ class AutoReseed
      */
     public static function wechatMessage()
     {
-        $br = "\r\n";
+        $br = PHP_EOL;
         $text = 'IYUU自动辅种-统计报表';
         $desp = '总做种:'.self::$wechatMsg['hashCount'] . '  [客户端正在做种的hash总数]' .$br;
         $desp .= '返回数据:'.self::$wechatMsg['reseedCount']. '  [服务器返回的可辅种数据]' .$br;