Jellyfin番号过滤

标记所有番号,并添加跳转链接。支持jellyfin、emby、115、手动输入的番号查重。

Autor
Squirtle07
Dziennych instalacji
1
Wszystkich instalacji
990
Oceny
20 0 0
Wersja
2.2.28
Utworzono
29-05-2024
Zaktualizowano
16-04-2025
Rozmiar
92,8 KB
Licencja
MIT
Dotyczy

功能说明

匹配页面上的所有番号,并添加跳转链接。

支持对匹配的番号进行查重,查重番号来源共三种,可随意搭配:

  1. jellyfin/emby:调用本地或nas上的jellyfin/emby API进行查重。
  2. 115:调用115网盘的API查重,并提供115 Cookie持久化、一键离线、查询影片是否已离线及115在线观看功能。
  3. 手动输入的番号:对于不用jellyfin/emby/115的用户,可手动输入番号

通过快捷键触ee发匹配,也可通过快捷键ss取消匹配,控制权完全在你。

特点是:无hover弹框、响应快、请求少、操作丝滑,就像开手动挡汽车般, everything is under control。

支持常见的老司机网站javbus、javdb、javlibrary,也可自行添加@match,新增任意网站。

使用方法

jellyfin/emby

打开设置,enable设为true,填入apiKey和serverUrl,点击确定

115

要使用115功能,需注意油猴插件必须用测试版,正式版不支持设置httpOnly的cookie。

参考:https://www.tampermonkey.net/documentation.php?ext=dhdg&version=5.3.3#api:GM_cookie.list

打开115设置,enable设为true,并设置cookie,点击确定。

设置cookie有两种方式,任选一种

  • 打开115设置,手动填入cookie字符串
  • 去115官网,手机扫码登录网页端,打开115设置,点击获取cookie

补充本地番号

手动输入番号,如果匹配成功,会显示一个L图标。

首先打开设置,localCodeEnable设为true。

再打开补充本地番号,输入任意番号,番号之间可用空格、换行、逗号、分号分隔,番号命名格式较为宽松,脚本会自动识别并修正,未识别的输入将会被忽略。

新增匹配名称

这是对于非番号类名称的补充,将这类名称也当作番号处理。注意,由于这类名称千奇百怪,所以输入时仅支持换行分隔,而且页面上的名称必须跟你输入的名称完全相同才会匹配。

标签设置

仅支持jellyfin,emby没测过。可以给jellyfin中的合集添加一个标签,当页面中出现该合集中的项目时(比如演员或影片),就会显示该标签。id为合集的id,title即为自定义标签名,color为标签颜色,order为一个数字,表示该标签的排序顺序,仅用来在jellyfin中的演职人员页面进行排序,按ee触发过滤显示出标签之后,再按,,触发排序。 首先添加好标签,然后按!!获取并缓存设置的合集项目, 然后按ee触发过滤。如果合集后面有更新再按!!重新获取。

按键说明

键鼠组合

对于链接:

  • 鼠标左键:打开链接,且焦点跟随新标签页(磁力链接会调用默认下载软件)
  • ctrl+鼠标左键: 打开链接,且焦点留在当前页面
  • shift+鼠标左键:打开备用链接,即secondarySite
  • alt+鼠标左键:仅对番号类型的链接生效,目的是同步该番号在115的状态

对于按钮或图标:

  • 鼠标左键:打开按钮绑定的链接
  • ctrl+鼠标左键:
    • 为防止误触,设置中某些按钮和离线操作,必须按住ctrl才生效。
    • 其他按钮表现等同于链接,即打开链接且焦点留在当前页面
  • alt+鼠标左键:
    • alist图标:表示直接调用浏览器下载文件
    • 115图标: 表示从115中删除该文件

另外无论是链接或按钮,鼠标右键都能复制文本,文本的内容根据实际情况可能是:番号、磁链、播放链接、下载链接等

快捷键

  • ee: 开始匹配
  • ss: 页面恢复原状
  • aa: 复制磁力链接
  • qq: 复制ed2k链接
  • ww: 复制番号
  • cc: 复制匹配userRegexp的番号
  • !!: 获取标签设置中集合中的数据
  • ,,: 在jellyfin中的演职人员页面按标签设置中order进行排序
  • ;;: jellyfin中的心形图标只有当鼠标hover上去才会出现,按;;可以额外显示一个心形

设置项说明

// 默认设置项
const defaultSettings = {
    // 是否开启jellyfin/emby功能
    enable: true,
    // 是否开启本地番号填写功能
    localCodeEnable: false,
    // 在其他图标已存在时,是否依然显示本地图标
    forceShowLocalBtn: false,
    // 从jellyfin/emby 控制台获取
    apiKey: '',
    // 服务器地址
    serverUrl: 'http://127.0.0.1:8096',
    // jellyfin用户保持为false,emby用户需设置为true
    isEmby: false,
    // 额外的搜索参数,格式为:parentId=xxx;isFavorite=true
    extraSearchParams: '',
    // 若为true,则在页面加载完成后自动触发一次过滤
    triggerOnload: false,
    // 是否显示收藏按钮
    showFavoriteBtn: false,
    // 如果要显示收藏按钮,则必须填写userId
    userId: '',
    // 自定义快捷键,可以是任意长度的字母或数字
    hotKeys: 'ee',
    // 脚本会改变页面的原有结构,此处定义可使页面恢复原状的快捷键
    recoverHotKeys: 'ss',
    // 复制所有磁力链接快捷键
    copyMagnetHotKeys: 'aa',
    // 复制所有ed2k链接快捷键
    copyEd2kHotKeys: 'qq',
    // 复制所有番号快捷键
    copyCodeHotKeys: 'ww',
    // 复制与用户自定义正则匹配的字符串
    copyUserRegHotKeys: 'cc',
    // 在jellyfin的卡片上显示一个心形图标
    addFavBtnHotKeys: ';;',
    // 获取jellyfin合集信息
    getCollectionHotKeys: '!!',
    // 根据标签的order进行排序,仅在jellyfin中生效
    sortLabelHotKeys: ',,',
    // 默认从小到大排序
    sortLabelAsc: true,
    // 点击番号时的默认跳转链接,${code}会被替换为真正的番号
    openSite: 'https://www.javbus.com/${code}',
    // 点击番号时按住shift键时的跳转链接
    secondarySite: 'https://javdb.com/search?q=${code}',
    // 若番号被识别为fc2,默认会跳转到的链接
    fc2Site: 'https://sukebei.nyaa.si/user/offkab?q=${code}',
    // 设为true时浏览器控制台会输出log
    debug: false,
    // 定义生成链接的默认颜色
    linkColor: '#236ED0FF',
    // 定义被访问过的链接颜色
    linkVisitedColor: 'brown',
    // 番号在jellyfin/115/本地中存在时显示的链接颜色
    linkExistColor: '#2A7B5FFF',
    // 定义磁力和ed2k链接的颜色
    magnetColor: 'indianred',
    // 高亮卡片边框样式
    emphasisOutlineStyle: '2px solid red',
    // 默认会高亮不存在的番号,设置为true则反之
    reverseEmphasis: false,
    // 是否尽量复用窗口,可以加快打开速度
    openLinkInSameTab: false,
    // 自定义正则,匹配优先级最低
    // \d*[a-z]+\d*[-_]s*\d{2,}
    userRegexp: '',
    // 自定义正则匹配的高亮颜色
    userRegColor: 'orange',
    // 在jellyfin的movies页面是否自动触发过滤
    jellyfinAutoTrigger: false,
    // 在jellyfin页面中是否开启过滤,默认不开启
    enableInJellyfin: false
}

// 默认115设置项
const defaultOOFSettings = {
    // 是否开启115相关功能
    enable: false,
    // 115的cookie,可自行输入或点击自动获取,任选其一
    cookie: '',
    // 自定义cookie过期时间,单位为天
    expiresIn: '30',
    // 一个番号如果在jellyfin和115中都存在,默认只显示一个jellyfin图标,若设置为true,则也会显示115图标
    forceShowOOFBtn: false,
    // 115在线观看链接
    openSite: 'https://115vod.com/?pickcode=${pickcode}',
    // 搭配115Master插件使用时,可使用以下链接,按住shift键再点击
    secondarySite: 'https://dl.115cdn.net/master/video/?pick_code=${pickcode}&avNumber=${code}&title=${text}',
    // 首次匹配115网盘文件时,需要批次获取全量数据
    // limit定义每次获取条数,根据实际情况谨慎填写,过大可能导致服务器返回缓慢,过小请求次数过多可能触发115风控
    limit: '500',
    // 离线目录id, 留空则115会保存在云下载目录
    offlineCid: '',
    // 获取该目录下的文件来更新缓存缓存,包括点击刷新按钮时
    fetchCid: '0',
    // 是否开启alist功能
    alistEnable: false,
    // alist地址: http://127.0.0.1:5244/d/115/${dir}/${file}
    alistUrl: '',
    // cid与目录名的对应关系: 1111:目录1; 2222:目录2; *:目录3 用来匹配alistUrl
    // 可以使用*通配符,表示匹配所有,比如 *:目录3
    cidPair: '',
    // 将115中某个目录中所有匹配番号规则的视频文件移动到另一个目录
    // 格式为cid对,比如 1111:2222 会将目录1中的文件移动到目录2
    move: ''
}