Greasy Fork 还支持 简体中文。

MP自定义站点索引配置助手

自动获取 RSS订阅 的分类并生成 NexusPHP JSON和Base64配置,搭配MoviePilot的 自定义索引站点 插件使用。

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

作者
[email protected]
今日安裝
0
安裝總數
2
評價
0 0 0
版本
1.0.0
建立日期
2025-11-04
更新日期
2025-11-04
尺寸
68.4 KB
授權條款
MIT
腳本執行於
所有網站

MP自定义站点索引配置助手

概述

MP自定义站点索引配置助手.js 是一款面向 NexusPHP 系列站点的 Tampermonkey 用户脚本。脚本能够自动抓取 getrss.php 中的分类信息,生成符合 NexusPHP 索引标准的 JSON 配置,同时输出压缩后的 Base64 字符串,便于在 MP 自定义站点索引中快速导入。

功能亮点

  • 一键生成配置:在站点页面直接点击面板中的“生成”按钮,即可从 getrss.php 拉取最新分类,构建完整的 JSON 配置。
  • 双重输出格式:主面板同时展示格式化的 JSON 和 域名|Base64 组合。
  • 自动补全站点信息:脚本会根据 location.hostname 推导默认的 trackerIdtrackerNameDomain,减少手动输入。
  • 分类描述本地化:内置 CATEGORY_LOCALIZATION 与自定义映射,自动将常见类别翻译为中文,生成更易读的分类名称。
  • 自定义分类映射:通过面板右侧的“自定义分类描述”文本框,支持 cat401=电影Movies=电影 等覆盖规则,优先级高于默认翻译。
  • 可拖拽的 UI 控件:浮动圆形开关按钮与弹窗面板均支持拖拽定位,位置会通过 GM_setValue / GM_getValue 持久化。

使用步骤

  1. 安装 Tampermonkey(或兼容的用户脚本管理器),在其中导入 MP自定义站点索引配置助手.js
  2. 访问任意 NexusPHP 站点,例如 https://www.example.com
  3. 页面左下角会出现圆形浮动开关,点击即可打开主面板;也可在 Tampermonkey 菜单中选择“打开 MP自定义站点索引配置器”。
  4. 检查面板左侧的站点信息:
    • 架构 Schema 默认 NexusPhp
    • 标识 ID 自动生成,必要时可手动修改。
    • 名称 Name 参考页面标题自动填充。
    • 域名 Domain 默认读取当前页面 location.origin,如站点存在多域名请调整为目标域名。
    • 字符编码 Encoding 默认 UTF-8
  5. 根据需要在右侧的“自定义分类描述”区域补充覆盖规则(每行 键=值)。
  6. 点击“生成”按钮,脚本会:
    • 构造 getrss.php 请求 URL(保持原始子域名)。
    • 解析返回 HTML,提取 catXXX 勾选框及所属分组。
    • 输出结构化 JSON 与 域名|Base64 字符串。
  7. 点击“复制 Base64”即可完成内容复制,直接粘贴到 MP 的自定义站点索引导入界面。

输出示例

{
  "schema": "NexusPhp",
  "id": "example",
  "name": "Example",
  "domain": "https://www.example.com",
  "search": {
    "paths": [
      { "path": "torrents.php", "method": "get" }
    ],
    "params": {
      "search": "{keyword}",
      "search_area": 0
    },
    "batch": {
      "delimiter": " ",
      "space_replace": "_"
    }
  },
  "category": {
    "category": [
      { "id": 401, "cat": "Movies", "desc": "电影" },
      { "id": 402, "cat": "TV Series", "desc": "电视剧" }
    ]
  }
}

Base64 输出示例:

example.com|ewogICJzY2hlbWEiOiAiTmV4dXNQaHAiIiwgLi4u

自定义分类映射

  • 配置方式:在面板右侧文本框输入 键=值,每行一条。
  • 支持的键
    • cat401(完整 ID)或 401(纯数字),自动兼容。
    • MoviesTV Series 等分类标题。
    • Movies:电影=院线 支持 ID:原文=目标文案 组合。
  • 优先级规则:自定义映射 > CUSTOM_DESC_PRESETS > CATEGORY_LOCALIZATION > 原站文本。

数据持久化

项目 存储键 说明
生成按钮位置 mp_custom_toggler_position 浮动开关按钮的最新坐标
面板位置 panelPosition 通过 setPreference() 记录的面板左上角位置
自定义映射 mp_custom_category_desc 文本框当前内容

上述数据优先使用 GM_setValue / GM_getValue,在不支持的环境下自动回退到 localStorage

错误处理

  • Failed to fetch:通常是未保持与站点相同的协议或子域,调整 Domain 输入后重试。
  • 未能从 getrss.php 中解析到分类:请确认已登录且站点保持默认的 getrss.php 结构。
  • Base64 转换失败:面板会显示详细错误并保留 JSON 输出,可手动复制。

相关代码入口

  • 核心生成逻辑位于 handleGenerate()
  • 分类解析集中在 collectSections()extractOption()
  • 自定义映射解析使用 parseCustomDesc()
  • 面板 / 浮动按钮的拖拽及持久化分别由 enablePanelDrag()enableTogglerDrag() 实现。

版本与许可