🎉 欢迎访问GreasyFork.Org 镜像站!本镜像站由公众号【爱吃馍】搭建,用于分享脚本。联系邮箱📮

Greasy fork 爱吃馍镜像

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

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

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Greasemonkey lub Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Violentmonkey.

Aby zainstalować ten skrypt, wymagana będzie instalacja rozszerzenia Tampermonkey lub Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

Aby zainstalować ten skrypt, musisz zainstalować rozszerzenie menedżera skryptów użytkownika.

(Mam już menedżera skryptów użytkownika, pozwól mi to zainstalować!)

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Musisz zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

(Mam już menedżera stylów użytkownika, pozwól mi to zainstalować!)

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

Autor
[email protected]
Dziennych instalacji
1
Wszystkich instalacji
2
Oceny
0 0 0
Wersja
1.0.2
Utworzono
04-11-2025
Zaktualizowano
05-11-2025
Rozmiar
79,8 KB
Licencja
MIT
Dotyczy
Wszystkie strony

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

概述

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

功能亮点

  • 一键生成配置:在站点页面直接点击面板中的“生成”按钮,即可从 getrss.php 拉取最新分类,构建完整的 JSON 配置。
  • 双重输出格式:主面板提供 JSON 与 域名|Base64 两种结果,通过“复制/查看”按钮按需展开,同一视图区域内切换展示。
  • 自动补全站点信息:脚本会根据 location.hostname 推导默认的 trackerIdtrackerNameDomain,减少手动输入。
  • 分类描述本地化:内置 CATEGORY_LOCALIZATION 与自定义映射,自动将常见类别翻译为中文,生成更易读的分类名称。
  • 自定义分类映射:面板右侧的“自定义分类描述”文本框支持 id:cat=desccat401=电影Movies=电影 等覆盖规则,优先级高于默认翻译。
  • 统一输出视图:自定义分类、JSON、Base64 都在同一文本区域中切换,样式与高度保持一致;“查看 JSON / 查看 Base64” 再点一次即返回分类描述。
  • 可拖拽的 UI 控件:浮动圆形开关按钮与弹窗面板均支持拖拽定位,位置会通过 GM_setValue / GM_getValue 持久化,并自动限制在浏览器可视区域内。
  • 灵活的悬浮按钮:默认显示悬浮按钮,可通过 Tampermonkey 菜单快速隐藏或再次显示,状态自动记忆。
  • 全屏面板:双击面板标题栏可在窗口与全屏之间切换,全屏模式会铺满视口,便于在小屏幕上浏览。

使用步骤

  1. 安装 Tampermonkey(或兼容的用户脚本管理器),在其中导入 MP自定义站点索引配置助手.js
  2. 访问任意 NexusPHP 站点,例如 https://www.example.com
  3. 页面左下角会出现白色悬浮按钮,点击即可打开主面板;再次点击则收起。若需要完全隐藏按钮,可在 Tampermonkey 菜单选择“隐藏/显示悬浮按钮”,脚本会记住上次选择。
  4. 检查面板左侧的站点信息:
    • 架构 Schema 默认 NexusPhp
    • 标识 ID 自动生成,必要时可手动修改。
    • 名称 Name 参考页面标题自动填充。
    • 域名 Domain 默认读取当前页面 location.origin,如站点存在多域名请调整为目标域名。
    • 字符编码 Encoding 默认 UTF-8
  5. 根据需要在右侧的“自定义分类描述”区域补充覆盖规则(每行 键=值,支持 id:cat=desc)。
  6. 点击“生成”按钮,脚本会:
    • 构造 getrss.php 请求 URL(保持原始子域名)。
    • 解析返回 HTML,提取 catXXX 勾选框及所属分组。
    • 输出结构化 JSON 与 域名|Base64 字符串。
  7. 生成完成后,视图会自动切换到 Base64 输出区域,方便立即复制;如需查看 JSON 或返回分类描述,可使用“查看 JSON”“查看 Base64”按钮在同一文本框内切换。
  8. 使用连体按钮中的“复制 JSON”“复制 Base64”即可把当前内容写入剪贴板。
  9. 若需要更大空间查看结果,可双击面板标题栏进入全屏;再次双击或点击关闭按钮后重新打开即可恢复先前尺寸与位置。

输出示例

{
  "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 浮动开关按钮的最新坐标
悬浮按钮显示状态 mp_custom_toggler_visible 记录悬浮按钮是显示还是隐藏
面板位置 mp_custom_panel_position 通过 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() 实现。

版本与许可

  • 当前版本:v1.0.0
  • 授权协议:MIT
  • 作者:wangzijian0 @vip.qq.com