Skip to content

Commit 24bd283

Browse files
committed
feat: 新增ed2k识别
+ 修改新标签打开链接的调用方式为通过创建元素模拟打开
1 parent a80283d commit 24bd283

9 files changed

+447
-348
lines changed
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"time": 1744883077907,
3-
"version": "2025.4.17"
2+
"time": 1746381451869,
3+
"version": "2025.5.5"
44
}

scripts-vite/网盘链接识别/dist/网盘链接识别.meta.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// ==UserScript==
22
// @name 网盘链接识别
33
// @namespace https://greasyfork.org/zh-CN/scripts/445489
4-
// @version 2025.4.17
4+
// @version 2025.5.5
55
// @author WhiteSevs
66
// @description 识别网页中显示的网盘链接,目前包括百度网盘、蓝奏云、天翼云、中国移动云盘(原:和彩云)、阿里云、文叔叔、奶牛快传、123盘、腾讯微云、迅雷网盘、115网盘、夸克网盘、城通网盘(部分)、坚果云、UC网盘、BT磁力,支持蓝奏云、天翼云(需登录)、123盘、奶牛、UC网盘(需登录)、坚果云(需登录)和阿里云盘(需登录,且限制在网盘页面解析)直链获取下载,页面动态监控加载的链接,可自定义规则来识别小众网盘/网赚网盘或其它自定义的链接。
77
// @license GPL-3.0-only
@@ -11,8 +11,8 @@
1111
// @require https://fastly.jsdelivr.net/gh/WhiteSevs/TamperMonkeyScript@86be74b83fca4fa47521cded28377b35e1d7d2ac/lib/CoverUMD/index.js
1212
// @require https://fastly.jsdelivr.net/gh/WhiteSevs/TamperMonkeyScript@11f749fc58f5674c1b4db129731403b77d97f7eb/scripts-vite/%E7%BD%91%E7%9B%98%E9%93%BE%E6%8E%A5%E8%AF%86%E5%88%AB/%E7%BD%91%E7%9B%98%E9%93%BE%E6%8E%A5%E8%AF%86%E5%88%AB-%E5%9B%BE%E6%A0%87.js
1313
// @require https://fastly.jsdelivr.net/npm/@whitesev/utils@2.6.5/dist/index.umd.js
14-
// @require https://fastly.jsdelivr.net/npm/@whitesev/domutils@1.5.2/dist/index.umd.js
15-
// @require https://fastly.jsdelivr.net/npm/@whitesev/pops@2.0.2/dist/index.umd.js
14+
// @require https://fastly.jsdelivr.net/npm/@whitesev/domutils@1.5.3/dist/index.umd.js
15+
// @require https://fastly.jsdelivr.net/npm/@whitesev/pops@2.0.3/dist/index.umd.js
1616
// @require https://fastly.jsdelivr.net/npm/qmsg@1.3.1/dist/index.umd.js
1717
// @require https://fastly.jsdelivr.net/gh/WhiteSevs/TamperMonkeyScript@886625af68455365e426018ecb55419dd4ea6f30/lib/CryptoJS/index.js
1818
// @connect *

scripts-vite/网盘链接识别/dist/网盘链接识别.min.meta.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// ==UserScript==
22
// @name 网盘链接识别
33
// @namespace https://greasyfork.org/zh-CN/scripts/445489
4-
// @version 2025.4.17
4+
// @version 2025.5.5
55
// @author WhiteSevs
66
// @description 识别网页中显示的网盘链接,目前包括百度网盘、蓝奏云、天翼云、中国移动云盘(原:和彩云)、阿里云、文叔叔、奶牛快传、123盘、腾讯微云、迅雷网盘、115网盘、夸克网盘、城通网盘(部分)、坚果云、UC网盘、BT磁力,支持蓝奏云、天翼云(需登录)、123盘、奶牛、UC网盘(需登录)、坚果云(需登录)和阿里云盘(需登录,且限制在网盘页面解析)直链获取下载,页面动态监控加载的链接,可自定义规则来识别小众网盘/网赚网盘或其它自定义的链接。
77
// @license GPL-3.0-only
@@ -11,8 +11,8 @@
1111
// @require https://fastly.jsdelivr.net/gh/WhiteSevs/TamperMonkeyScript@86be74b83fca4fa47521cded28377b35e1d7d2ac/lib/CoverUMD/index.js
1212
// @require https://fastly.jsdelivr.net/gh/WhiteSevs/TamperMonkeyScript@11f749fc58f5674c1b4db129731403b77d97f7eb/scripts-vite/%E7%BD%91%E7%9B%98%E9%93%BE%E6%8E%A5%E8%AF%86%E5%88%AB/%E7%BD%91%E7%9B%98%E9%93%BE%E6%8E%A5%E8%AF%86%E5%88%AB-%E5%9B%BE%E6%A0%87.js
1313
// @require https://fastly.jsdelivr.net/npm/@whitesev/utils@2.6.5/dist/index.umd.js
14-
// @require https://fastly.jsdelivr.net/npm/@whitesev/domutils@1.5.2/dist/index.umd.js
15-
// @require https://fastly.jsdelivr.net/npm/@whitesev/pops@2.0.2/dist/index.umd.js
14+
// @require https://fastly.jsdelivr.net/npm/@whitesev/domutils@1.5.3/dist/index.umd.js
15+
// @require https://fastly.jsdelivr.net/npm/@whitesev/pops@2.0.3/dist/index.umd.js
1616
// @require https://fastly.jsdelivr.net/npm/qmsg@1.3.1/dist/index.umd.js
1717
// @require https://fastly.jsdelivr.net/gh/WhiteSevs/TamperMonkeyScript@886625af68455365e426018ecb55419dd4ea6f30/lib/CryptoJS/index.js
1818
// @connect *

scripts-vite/网盘链接识别/dist/网盘链接识别.min.user.js

Lines changed: 63 additions & 63 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scripts-vite/网盘链接识别/dist/网盘链接识别.user.js

Lines changed: 302 additions & 255 deletions
Large diffs are not rendered by default.

scripts-vite/网盘链接识别/src/main/link-click-mode/NetDiskLinkClickMode.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { $, httpx, log, utils } from "@/env";
1+
import { $, DOMUtils, httpx, log, utils } from "@/env";
22
import { NetDiskParse } from "../parse/NetDiskParse";
33
import Qmsg from "qmsg";
44
import { NetDiskAutoFillAccessCode } from "../auto-fill-accesscode/NetDiskAutoFillAccessCode";
@@ -235,9 +235,18 @@ export const NetDiskLinkClickMode = {
235235
});
236236
} else {
237237
// 新标签页打开(自动获取焦点)
238-
let blankWindow = window.open(url, "_blank");
239-
if (blankWindow) {
240-
blankWindow.focus();
238+
try {
239+
let blankWindow = window.open(url, "_blank");
240+
if (blankWindow) {
241+
blankWindow.focus();
242+
}
243+
} catch (error) {
244+
log.error(error, url);
245+
let $blank = DOMUtils.createElement("a");
246+
$blank.setAttribute("href", url);
247+
$blank.setAttribute("target", "_blank");
248+
$blank.click();
249+
$blank.remove();
241250
}
242251
}
243252
};

scripts-vite/网盘链接识别/src/main/rule/NetDiskRule.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import {
3737
NetDiskUserRuleReplaceParam_matchRange_text,
3838
} from "./user-rule/NetDiskUserRuleReplaceParam";
3939
import { NetDiskRule_115pan } from "./netdisk/115pan/rule";
40+
import { NetDiskRule_ed2k } from "./netdisk/ed2k/rule";
4041

4142
/** 匹配范围 */
4243
export type NetDiskRuleSettingConfigurationInterface_MatchRange = {
@@ -167,6 +168,7 @@ export const NetDiskRule = {
167168
NetDiskRule_chengtong,
168169
NetDiskRule_kuake,
169170
NetDiskRule_magnet,
171+
NetDiskRule_ed2k,
170172
NetDiskRule_jianguoyun,
171173
NetDiskRule_onedrive,
172174
NetDiskRule_uc,
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import type { NetDiskRuleConfig, NetDiskRuleSetting } from "../../NetDiskRule";
2+
3+
// ed2k://|file|zh-cn_windows_11_business_editions_version_24h2_updated_april_2025_x64_dvd_f8fe2e2c.iso|6527498240|7FAF49D81EF04A702B793A72A3B7A2AA|/
4+
export const NetDiskRule_ed2k: NetDiskRuleConfig = {
5+
/** 规则 */
6+
rule: <NetDiskMatchRuleOption[]>[
7+
{
8+
link_innerText: `ed2k:\/\/\\|file\\|[^\\|]+\\|\\d+\\|[a-fA-F0-9]{32}\\|`,
9+
link_innerHTML: `ed2k:\/\/\\|file\\|[^\\|]+\\|\\d+\\|[a-fA-F0-9]{32}\\|`,
10+
shareCode: /ed2k:\/\/\\|file\\|[^\\|]+\\|\\d+\\|([a-fA-F0-9]{32})\|/gi,
11+
shareCodeNeedRemoveStr: / /gi,
12+
checkAccessCode: /(||访)[\s\S]+/gi,
13+
accessCode: /([0-9a-zA-Z]{4})/gi,
14+
paramMatch: /ed2k:\/\/\|file\|([^\|]+)\|(\d+)\|([a-fA-F0-9]{32})\|/i,
15+
uiLinkShow: "ed2k://|file|{#$1#}|{#$2#}|{#$3#}|/",
16+
blank: "ed2k://|file|{#$1#}|{#$2#}|{#$3#}|/",
17+
copyUrl: "ed2k://|file|{#$1#}|{#$2#}|{#$3#}|/",
18+
},
19+
],
20+
/** 设置项 */
21+
setting: <NetDiskRuleSetting>{
22+
name: "ed2k",
23+
key: "ed2k",
24+
configurationInterface: {
25+
function: {
26+
enable: true,
27+
linkClickMode: {
28+
openBlank: {
29+
default: true,
30+
},
31+
},
32+
},
33+
schemeUri: {
34+
enable: false,
35+
isForwardBlankLink: true,
36+
uri: "",
37+
},
38+
},
39+
},
40+
};

scripts-vite/网盘链接识别/网盘链接识别-图标.js

Lines changed: 19 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)