From 3ec6b88ad4044c9216a13dae1bb60ad644ef0e30 Mon Sep 17 00:00:00 2001 From: "C.C" Date: Wed, 3 Apr 2024 17:26:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=AC=E5=BC=80=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ app/downloader/downloader.py | 7 +---- app/indexer/client/_spider.py | 18 ++++++++++-- app/utils/torrent.py | 52 ---------------------------------- config/sites.dat | Bin 155389 -> 156610 bytes requirements.txt | 3 +- web/action.py | 17 ++++++----- 7 files changed, 29 insertions(+), 70 deletions(-) diff --git a/README.md b/README.md index 71e58ff3..a85762a5 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,9 @@ 1. 复制令牌到 nas-tools 站点维护 2. 添加请求头参数 格式:{"x-api-key": "xxxx"} +### 开启公开站点 +在 config.yaml 的 laboratory 添加 ```show_more_sites: true``` ### Docker 镜像地址: diff --git a/app/downloader/downloader.py b/app/downloader/downloader.py index 703e2d38..8d0447e9 100644 --- a/app/downloader/downloader.py +++ b/app/downloader/downloader.py @@ -328,12 +328,7 @@ def __download_fail(msg): return None, None, "下载链接为空" # 获取种子内容,磁力链不解析 if url.startswith("magnet:"): - file_dir = Config().get_temp_path() - torrent_file, retmsg = Torrent().magent2torrent(url, file_dir) - if not torrent_file: - return {"code": -1, "msg": f"下载种子文件失败: {retmsg}"} - url = os.path.basename(torrent_file) - content, dl_files_folder, dl_files, retmsg = Torrent().read_torrent_content(torrent_file) + content = url else: # 获取Cookie和ua等 site_info = self.sites.get_sites(siteurl=url) diff --git a/app/indexer/client/_spider.py b/app/indexer/client/_spider.py index 940264f3..be83ab2f 100644 --- a/app/indexer/client/_spider.py +++ b/app/indexer/client/_spider.py @@ -115,6 +115,8 @@ def setparam(self, indexer, self.category = indexer.category self.list = indexer.torrents.get('list', {}) self.fields = indexer.torrents.get('fields') + self.browse_list = indexer.torrents.get('browse_list') + self.browse_fields = indexer.torrents.get('browse_fields') self.render = indexer.render self.domain = indexer.domain self.page = page @@ -144,6 +146,7 @@ def start_requests(self): # 种子搜索相对路径 paths = self.search.get('paths', []) + params = self.search.get('params') torrentspath = "" if len(paths) == 1: torrentspath = paths[0].get('path', '') @@ -236,6 +239,9 @@ def start_requests(self): } # 有单独浏览路径 if self.browse: + if self.browse_list: + self.list = self.browse_list + self.fields = self.browse_fields torrentspath = self.browse.get("path") if self.browse.get("start"): start_page = int(self.browse.get("start")) + int(self.page or 0) @@ -248,9 +254,15 @@ def start_requests(self): searchurl = self.domain + str(torrentspath).format(**inputs_dict) log.info(f"【Spider】开始请求:{searchurl}") - yield feapder.Request(url=searchurl, - use_session=True, - render=self.render) + if params: + yield feapder.Request(url=searchurl, + use_session=True, + data=params, + render=self.render) + else: + yield feapder.Request(url=searchurl, + use_session=True, + render=self.render) def download_midware(self, request): request.headers = { diff --git a/app/utils/torrent.py b/app/utils/torrent.py index 4ad09ab3..43290b37 100644 --- a/app/utils/torrent.py +++ b/app/utils/torrent.py @@ -283,55 +283,3 @@ def get_sort_str(x): can_download_list.append(media_name) can_download_list_item.append(t_item) return can_download_list_item - - @staticmethod - def magent2torrent(url, path, timeout=30): - """ - 磁力链接转种子文件 - :param url: 磁力链接 - :param path: 保存目录 - :param timeout: 获取元数据超时时间 - :return: 转换后种子路径 - """ - - log.info(f"【Downloader】转换磁力链接:{url}") - session = libtorrent.session() - magnet_info = libtorrent.parse_magnet_uri(url) - magnet_info.save_path = path - handle = session.add_torrent(magnet_info) - - log.debug("【Downloader】获取元数据中") - tout = 0 - while not handle.status().name: - time.sleep(1) - tout += 1 - if tout > timeout: - log.debug("【Downloader】元数据获取超时") - return None, "种子元数据获取超时" - log.debug("【Downloader】获取元数据完成") - tout = 0 - while True: - tf = handle.torrent_file() - if tf: - session.pause() - break - time.sleep(1) - tout += 1 - if tout > timeout: - log.debug("【Downloader】种子获取超时") - return None, "种子获取超时" - - ti = libtorrent.torrent_info(tf) - torrent_file = libtorrent.create_torrent(ti) - torrent_file.set_comment(ti.comment()) - torrent_file.set_creator(ti.creator()) - - file_path = os.path.join(path, "%s.torrent" % handle.status().name) - - with open(file_path, 'wb') as f_handle: - f_handle.write(libtorrent.bencode(torrent_file.generate())) - f_handle.close() - - session.remove_torrent(handle, 1) - log.info(f"【Downloader】转换后的种子路径:{file_path}") - return file_path, "" diff --git a/config/sites.dat b/config/sites.dat index 61491e4f547643aa5042de24a88bc30be5276fbf..df9999ba2b9aa14f32351ab07a1b967b6b08170f 100644 GIT binary patch literal 156610 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 illN9pBM8nahX*mE2aXu5rq;aqUHPolacWpr{Qm