diff --git a/package.json b/package.json index dd400f0..a682574 100644 --- a/package.json +++ b/package.json @@ -186,7 +186,7 @@ "CrossSeed": { "name": "青蛙辅种助手", "description": "参考ReseedPuppy和IYUU辅种插件实现自动辅种,支持站点:青蛙【已验证】, AGSVPT, 麒麟, UBits, 聆音 等", - "version": "1.2", + "version": "1.4", "icon": "qingwa.png", "author": "233@qingwa", "level": 2 diff --git a/plugins/crossseed/__init__.py b/plugins/crossseed/__init__.py index 256d206..5f77021 100644 --- a/plugins/crossseed/__init__.py +++ b/plugins/crossseed/__init__.py @@ -36,7 +36,7 @@ class CrossSeed(_PluginBase): # 插件图标 plugin_icon = "qingwa.png" # 插件版本 - plugin_version = "1.2" + plugin_version = "1.4" # 插件作者 plugin_author = "233@qingwa" # 作者主页 @@ -192,7 +192,7 @@ class CrossSeed(_PluginBase): "func": self.auto_seed, "kwargs": {} }] - + elif self._enabled and self._token and self._downloaders and self._torrentpath: # 随机时间 triggers = TimerUtils.random_scheduler(num_executions=1, @@ -477,9 +477,9 @@ class CrossSeed(_PluginBase): 'type': 'info', 'variant': 'tonal', 'text': '1. 定时任务周期建议每次辅种间隔时间大于1天,不填写每天上午2点到7点随机辅种一次; ' - '2. 支持辅种站点列表: 青蛙【已验证】, AGSVPT, 麒麟, UBits, 聆音 等; ' + '2. 支持辅种站点列表:青蛙【已验证】,AGSVPT,麒麟,UBits,聆音 等,配置passkey时,站点名称需严格和上面选项一致; ' '3. 请勿与IYUU辅种插件同时添加相同站点,可能会有冲突,且意义不大;' - '3. 测试站点是否支持的方法: 站点域名/api/pieces-hash 接口访问返回405则大概率支持 ' + '4. 测试站点是否支持的方法:【站点域名/api/pieces-hash】接口访问返回405则大概率支持 ' } } ] @@ -597,11 +597,17 @@ class CrossSeed(_PluginBase): logger.warn(f"尝试获取 {downloader} 的tracker出错 {err}") # 根据tracker补充站点信息 for tracker in tracker_urls: - # 站点信息 - tracker_domain = StringUtils.get_url_domain(tracker) - site_info = self.sites.get_indexer(tracker_domain) - if site_info: - torrent_info.site_name = site_info.get("name") + # 优先通过passkey获取站点名 + for site_config in self._site_cs_infos: + if site_config.passkey in tracker: + torrent_info.site_name = site_config.name + break + if not torrent_info.site_name: + # 尝试通过域名获取站点信息 + tracker_domain = StringUtils.get_url_domain(tracker) + site_info = self.sites.get_indexer(tracker_domain) + if site_info: + torrent_info.site_name = site_info.get("name") if self._nopaths and save_path: # 过滤不需要转移的路径 @@ -835,7 +841,8 @@ class CrossSeed(_PluginBase): ua=site_info.ua or settings.USER_AGENT, proxy=site_info.proxy) - if not content: + # 兼容种子无法访问的情况 + if not content or (isinstance(content, bytes) and "你没有该权限".encode(encoding="utf-8") in content): # 下载失败 self.fail += 1 self.cached += 1