功能说明
匹配页面上的所有番号,并添加跳转链接。
支持对匹配的番号进行查重,查重番号来源共三种,可随意搭配:
- jellyfin/emby:调用本地或nas上的jellyfin/emby API进行查重。
- 115:调用115网盘的API查重,并提供115 Cookie持久化、一键离线、查询影片是否已离线及115在线观看功能。
- 手动输入的番号:对于不用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: ''
}