Skip to content

写源工具

写源工具的重要性在于它极大地简化了开发者在开发源的工作流程。喂饭式工具,可以轻松的调试各个规则,快速完成源的编写流程。

实战教程-阿里云盘

注意

  • 如果存在debugId(即站点中key为debug), 则首次打开写源工具, 默认会加载debug数据。
  • 如果已经打开过写源工具, 删除了debugId的源, 则会报错, 请刷新软件。

说明

  • 该工具深度融合drpy | hipy | drpys项目
  • drpy(以下简称T3)使用该工具需确保软件版本在3.3.4及以上
  • drpys(以下简称T4)使用该工具需确保软件版本在3.3.10及以上
    • 依赖于插件中心
    • 确保已经安装drpys插件并启动
    • 需要注意的是drpys的插件文件名必须要drpy-node
  • 不同模式下执行逻辑不一致, 同时也关联了文件路径等, 请根据实际情况选择模式

1. 顶栏区

1.1. 模板

通过内置模板,可修改部分模板规则完成源的调试,适用于快速开发源。

注意

只适用于T3

内置模板

mxpro mxone5 首图 首图2 默认 vfed 海螺3 海螺2 短视 短视2 采集1

模板

1.2. 文件

1.2.1. 目录

打开对应文件夹。

1.2.2. 导入

注意

特殊目录无法获取权限导入

将外部文件导入渲染到编辑器中。

1.2.3. 导出

注意

  • 需确保编辑器中内容不为空
  • T3与T4默认导出路径不一致

支持将编辑器中的内容导出为文件格式存储到本地磁盘。

2.1.4. 解码

注意

需确保编辑器中内容不为空

将加密数据按要求进行解码, 将还原出的数据渲染到编辑器。

1.3. 调试

查看实际效果

  1. 将编辑器的内容及规则提交到后端api接口存储临时缓存并生成接口
  2. 将默认站点设置为该用例
  3. 跳转至影视页面查看规则完成度和渲染效果,适用于调试用例

2. 编辑区

  • ①: 导航栏[编辑器, 源码]
    • 编辑器: 用于编辑查看js代码
    • 源码: 用于编辑查看html代码
  • ②: 代码活动编辑区,用于编辑源代码。

提示

  • 编辑器支持ctrl+f搜索关键词
  • 拖拽文件可直接展示内容
  • 右键Format Document选项可格式化美化代码
  • 粘贴快捷键不生效, 使用备用快捷键ctrl+shift+v

编辑器

3. 配置区

3.1. 节点

3.1.1. 源码

输入url,通过请求该地址获取源代码,将于源代码中输出,方便查看源代码dom结构,适用于源代码的获取。

请求参数说明

点击 ⬛️ 设置

  • 响应编码: 支持UTF-8 | GBK | GB2312 | GB18030, 默认为UTF-8
  • 地址栏: 需带请求协议, 如https:// | http://
  • 请求头(字典类型)
    json
    { "User-Agent": "zyfun" }
  • 请求方法: 除GET方法外生效,支持application/json | application/x-www-form-urlencoded
  • 请求体(字典类型): 除GET方法外生效
    json
    { "key": "01b97b" }

源码

3.1.2. 列表

输入pdfa规则,匹配源代码内容,将于规则中输出,方便查看匹配结果,输出结果为列表,适用于pdfa调试。

注意

必须先获取源代码,否则不生效

列表

3.1.3. 节点

输入pdfh规则,匹配源代码内容,将于规则中输出,方便查看匹配结果,适用于pdfh调试。

注意

必须先获取源代码,否则不生效

节点

3.2. 数据

3.2.1. 初始化

根据编辑器内容初始化源代码,初始化结果将于调试输出, 同时过程中的日志也会于日志输出, 适用于初始化调试。

事件说明

  1. 点击👋 触发事件: 切换模式[自动 | 手动]

  2. 点击除👋外 触发事件: 初始化

模式说明

  1. 当模式为自动时, 编辑器内容最后修改时间>上次初始化时间, 触发分类、首页、列表、详情、搜索、搜索、代理动作时自动初始化, 无需手动再次初始化。

  2. 当模式为手动时, 编辑器内容每次修改后, 触发分类、首页、列表、详情、搜索、搜索、代理动作之前均需再次手动初始化。

点我查看示例数据返回
json
{
  "api": "http://127.0.0.1:5757/api/debug",
  "ext": "",
  "categoryfilter": []
}

初始化

3.2.2. 模式(重要)

由于T3与T4执行逻辑不一致, 同时也关联了文件路径等, 请根据实际情况选择模式。

注意

只适用于T3

模式

3.2.3. 日志

回调后端运行适配器时的相关日志。

日志

3.2.4. 分类

初始化后按分类规则匹配,结果将于调试输出, 同时过程中的日志也会于日志输出, 适用于分类调试。

注意

必须先初始化,否则不生效

点我查看示例数据返回

class中有几对数组, filters也会有几组数组。数组顺序一一对应

json
{
  "class": [
    {
      "type_id": "movies",
      "type_name": "电影"
    }
  ],
  "filters": {}
}

分类

3.2.5. 首页

初始化后按首页规则匹配,结果将于调试输出, 同时过程中的日志也会于日志输出, 适用于首页调试。

注意

必须先初始化,否则不生效

点我查看示例数据返回
json
{
  "page": 1,
  "pagecount": 1,
  "total": 1,
  "list": [
    {
      "vod_id": "/tvshows/yyyx",
      "vod_name": "鱿鱼游戏",
      "vod_pic": "https://www.xxx.org/wp-content/uploads/2025/02/kuQO3bcg17t9wDSUXHF1oBOkZVl-185x278.jpg",
      "vod_remarks": "2021"
    }
  ]
}

首页

3.2.6. 列表

初始化后按列表规则匹配,结果将于调试输出, 同时过程中的日志也会于日志输出, 适用于列表调试。

注意

必须先初始化,否则不生效

参数说明

  • t: 分类标识(根据分类数据class字段的type_id)[必传]
  • f: 筛选条件(根据分类数据filters字段key和value字段中的n)[可选]
  • pg: 页数[仅数字类型]
点我查看示例数据
  • t: "movies"
  • f: "{class: '国产剧', area: '内地', year: '2024'}"
  • pg: 1
点我查看示例数据返回
json
{
  "page": 1,
  "pagecount": 999,
  "total": 1,
  "list": [
    {
      "vod_id": "/movies/hdx",
      "vod_name": "好东西",
      "vod_pic": "https://www.xxx.org/wp-content/uploads/2025/02/kuQO3bcg17t9wDSUXHF1oBOkZVl-185x278.jpg",
      "vod_remarks": "Nov. 09, 2024"
    }
  ]
}

列表

3.2.7. 详情

根据编辑器内容初始化源代码,初始化结果将于调试输出, 同时初始化过程中的日志也会于日志输出, 适用于详情调试。

注意

必须先初始化,否则不生效

参数说明

  • ids: 详情唯一标识(根据列表|搜索|首页数据vod_id字段)[必传]
点我查看示例数据
  • ids: "/movies/hdx"
点我查看示例数据返回
json
{
  "page": 1,
  "pagecount": 1,
  "total": 1,
  "list": [
    {
      "vod_id": "/movies/hdx",
      "vod_name": "好东西",
      "vod_pic": "https://www.xxx.org/wp-content/uploads/2025/02/kuQO3bcg17t9wDSUXHF1oBOkZVl-185x278.jpg",
      "type_name": "剧情,爱情",
      "vod_year": "Nov. 09, 2024",
      "vod_remarks": "",
      "vod_actor": "邵艺辉,宋佳,钟楚曦,曾慕梅,章宇,赵又廷,任彬,张弛,周野芒,王菊,孔连顺",
      "vod_director": "邵艺辉",
      "vod_content": "单亲妈妈王铁梅带小孩王茉莉搬到新家后,结识了邻居小叶,两位性格迥异的女性,一个坚强,一个柔软,一个擅长给人当妈,一个擅长随时撒谎,面对旧创伤和新挑战,她们彼此温暖互相慰藉的故事。",
      "vod_play_from": "alists",
      "vod_play_url": "正片$mvsource=0&id=164720&type=hls"
    }
  ]
}

详情

3.2.8. 搜索

根据编辑器内容初始化源代码,初始化结果将于调试输出, 同时初始化过程中的日志也会于日志输出, 适用于搜索调试。

注意

必须先初始化,否则不生效

参数说明

  • wd: 搜索关键词[必传]
  • pg: 页数[仅数字类型]
点我查看示例数据
  • wd: "鱿鱼"
  • pg: 1
点我查看示例数据返回
json
{
  "page": 1,
  "pagecount": 10,
  "total": 100,
  "list": [
    {
      "vod_id": "/tvshows/yyyx",
      "vod_name": "鱿鱼游戏",
      "vod_pic": "https://www.xxx.org/wp-content/uploads/2025/02/kuQO3bcg17t9wDSUXHF1oBOkZVl-185x278.jpg",
      "vod_remarks": "电视"
    }
  ]
}

搜索

3.2.9. 播放

根据编辑器内容初始化源代码,初始化结果将于调试输出, 同时初始化过程中的日志也会于日志输出, 适用于播放调试。

注意

必须先初始化,否则不生效

参数说明

  • flag: 线路(根据详情数据vod_play_from字段, 其中多条线路时$分隔)[必传]
  • play: 选集(根据详情数据vod_play_url字段集数链接, 其中多条线路时$$$分隔,不同集数#分隔前面时集数名称后面是链接)[必传]
点我查看示例数据
- flag: "alists"
- play: "mvsource=0&id=164720&type=hls"
点我查看示例数据返回
json
{
  "parse": 0,
  "url": "https://play.xxx.life/m3/df635771739396055/42NjdhYzZiMTcyZWE5OSQyNTI4JDEkMTczOTM1Mjg1NQ67ac6b172ea95.m3u8"
}

播放

3.2.10. 代理

根据编辑器内容初始化源代码,初始化结果将于调试输出, 同时初始化过程中的日志也会于日志输出, 适用于代理调试。

注意

必须先初始化,否则不生效

参数说明

url: 本地代理(必须以 http://127.0.0.1:9978/proxy 开头)[必传]

点我查看示例数据
点我查看示例数据返回
json
[
  200,
  "application/vnd.apple.mpegurl",
  "
  #EXTM3U
  #EXT-X-VERSION:3
  #EXT-X-ALLOW-CACHE:YES
  #EXT-X-MEDIA-SEQUENCE:170471784
  #EXT-X-TARGETDURATION:10
  #EXT-X-PROGRAM-DATE-TIME:2024-01-11T20:43:53+08:00
  #EXTINF:10.000, no desc
  http://gctxyc.liveplay.xxx.com/gc/gllj01_1_md-170471784.ts
  #EXT-X-PROGRAM-DATE-TIME:2024-01-11T20:44:03+08:00
  #EXTINF:10.000, no desc
  http://gctxyc.liveplay.xxx.com/gc/gllj01_1_md-170471785.ts
  #EXT-X-PROGRAM-DATE-TIME:2024-01-11T20:44:13+08:00
  #EXTINF:10.000, no desc
  http://gctxyc.liveplay.xxx.com/gc/gllj01_1_md-170471786.ts
  #EXT-X-PROGRAM-DATE-TIME:2024-01-11T20:44:23+08:00
  #EXTINF:10.000, no desc
  http://gctxyc.liveplay.xxx.com/gc/gllj01_1_md-170471787.ts
  "
]

代理

3.2.10.1. 代理上传

将编辑完的内容通过后端api接口存储临时缓存并生成接口,便于本地代理调试。

参数说明

  • 下标0: 返回状态码
  • 下标1: 返回Content-Type
  • 下标2: 返回Response
点我查看示例数据

代理上传

3.3. 预览

集成了一个小型浏览器, 便于用户不用再打开一个浏览器, 便于调试。

请求参数说明

  • 地址栏: 需带请求协议, 如https:// http://

预览

4. 输出区

类似f12开发者工具的调试工具。

4.1. 清除

删除输出区所有调试信息。

注意

开发者工具中调试历史也会被清除

清除

Released under the MIT License.