Skip to content

Commit 1a71767

Browse files
committed
优化 代码(数组变量改为多维数组);移除 调试代码(我忘删了)
1 parent cead761 commit 1a71767

1 file changed

Lines changed: 69 additions & 79 deletions

File tree

GithubEnhanced-High-Speed-Download.user.js

Lines changed: 69 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// ==UserScript==
22
// @name Github 增强 - 高速下载
3-
// @version 1.2.4
3+
// @version 1.2.5
44
// @author X.I.U
55
// @description 高速下载 Clone、Release、Raw、Code(ZIP) 等文件、项目列表单文件快捷下载 (☁)
66
// @match https://github.com/*/*
@@ -21,30 +21,23 @@
2121

2222
(function() {
2323
var download_url = [
24-
'https://gh.con.sh',
25-
'https://gh.api.99988866.xyz',
26-
'https://download.fastgit.org',
27-
'https://pd.zwc365.com/seturl',
28-
'https://g.ioiox.com',
29-
'https://git.yumenaka.net'
24+
['https://gh.con.sh','美国'],
25+
['https://gh.api.99988866.xyz','美国'],
26+
['https://download.fastgit.org','日本东京'],
27+
['https://pd.zwc365.com/seturl','中国香港'],
28+
['https://g.ioiox.com','中国香港'],
29+
['https://git.yumenaka.net','美国洛杉矶']
3030
],
31-
download_url_name = ['美国','美国','日本东京','中国香港','中国香港','美国洛杉矶'],
3231
clone_url = [
3332
'https://hub.fastgit.org',
3433
'https://gitclone.com',
3534
'https://ghp.lvmhsh.cn.cnpmjs.org'
3635
],
3736
raw_url = [
38-
'https://raw.githubusercontent.com',
39-
'https://cdn.jsdelivr.net',
40-
'https://raw.fastgit.org'
41-
],
42-
raw_url_name = ['Github 原生','中国国内','中国香港','美国洛杉矶'],
43-
raw_url_tip = [
44-
'',
45-
'注意:该加速源存在缓存机制(24小时),所以文件可能不是最新。
注意:当前分支所有文件总文件大小超过 50MB 时,该加速源不可用。
注意:当前分支名为版本号格式时(如 v1.2.3),该高速下载链接因格式限制不可用。

',
46-
'注意:单个文件太大时可能会提示超时(实时获取中),请重试。

',
47-
'注意:经过测试,该加速源存在文件格式限制,如果无法下载说明不支持该文件格式。

'
37+
['https://raw.githubusercontent.com','Github 原生',''],
38+
['https://cdn.jsdelivr.net','中国国内','注意:该加速源存在缓存机制(24小时),所以文件可能不是最新。
注意:当前分支所有文件总文件大小超过 50MB 时,该加速源不可用。
注意:当前分支名为版本号格式时(如 v1.2.3),该高速下载链接因格式限制不可用。

'],
39+
['https://raw.fastgit.org','中国香港','注意:单个文件太大时可能会提示超时(实时获取中),请重试。

'],
40+
['https://git.yumenaka.net','美国洛杉矶','注意:经过测试,该加速源存在文件格式限制,如果无法下载说明不支持该文件格式。

']
4841
],
4942
svg = [
5043
'<svg class="octicon octicon-file-zip mr-3" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.5 1.75a.25.25 0 01.25-.25h3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h2.086a.25.25 0 01.177.073l2.914 2.914a.25.25 0 01.073.177v8.586a.25.25 0 01-.25.25h-.5a.75.75 0 000 1.5h.5A1.75 1.75 0 0014 13.25V4.664c0-.464-.184-.909-.513-1.237L10.573.513A1.75 1.75 0 009.336 0H3.75A1.75 1.75 0 002 1.75v11.5c0 .649.353 1.214.874 1.515a.75.75 0 10.752-1.298.25.25 0 01-.126-.217V1.75zM8.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM6 5.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5A.75.75 0 016 5.25zm2 1.5A.75.75 0 018.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 6.75zm-1.25.75a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM8 9.75A.75.75 0 018.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 9.75zm-.75.75a1.75 1.75 0 00-1.75 1.75v3c0 .414.336.75.75.75h2.5a.75.75 0 00.75-.75v-3a1.75 1.75 0 00-1.75-1.75h-.5zM7 12.25a.25.25 0 01.25-.25h.5a.25.25 0 01.25.25v2.25H7v-2.25z"></path></svg>',
@@ -65,24 +58,21 @@
6558
GM_unregisterMenuCommand(menu_feedBack_ID);
6659
menu_raw_fast = GM_getValue('xiu2_menu_raw_fast');
6760
}
68-
menu_menu_raw_fast_ID = GM_registerMenuCommand(`🔄 [ ${raw_url_name[menu_raw_fast]} ] 加速源 (☁) - 点击切换`, menu_toggle_raw_fast);
61+
menu_menu_raw_fast_ID = GM_registerMenuCommand(`🔄 [ ${raw_url[menu_raw_fast][1]} ] 加速源 (☁) - 点击切换`, menu_toggle_raw_fast);
6962
menu_feedBack_ID = GM_registerMenuCommand('💬 反馈 & 建议 [Github]', function () {window.GM_openInTab('https://github.com/XIU2/UserScript', {active: true,insert: true,setParent: true});});
7063
}
7164

7265
// 切换加速源
7366
function menu_toggle_raw_fast() {
74-
if (menu_raw_fast >= raw_url_name.length - 1){ // 如果当前加速源位置大于等于加速源总数,则改为第一个加速源,反之递增下一个加速源
67+
if (menu_raw_fast >= raw_url.length - 1){ // 如果当前加速源位置大于等于加速源总数,则改为第一个加速源,反之递增下一个加速源
7568
menu_raw_fast = 0;
7669
}else{
7770
menu_raw_fast += 1;
7871
}
7972
GM_setValue('xiu2_menu_raw_fast', menu_raw_fast);
80-
console.log(11111)
8173
delDownLink(); // 删除旧加速源
82-
console.log(22222)
8374
addDownLink(); // 添加新加速源
84-
console.log(33333)
85-
GM_notification(`已切换加速源为:${raw_url_name[menu_raw_fast]}`); // 提示消息
75+
GM_notification(`已切换加速源为:${raw_url[menu_raw_fast][1]}`); // 提示消息
8676
registerMenuCommand(); // 重新注册脚本菜单
8777
};
8878

@@ -107,20 +97,20 @@
10797
$(this).find(".d-flex.Box-body>a").each(function () {
10898
var href = $(this).attr("href"),
10999
url = [
110-
download_url[0] + '/https://github.com' + href,
111-
download_url[1] + '/https://github.com' + href,
112-
download_url[2] + href,
113-
download_url[3] + '/https://github.com' + href,
114-
download_url[4] + '/https://github.com' + href,
115-
download_url[5] + '/https://github.com' + href
100+
download_url[0][0] + '/https://github.com' + href,
101+
download_url[1][0] + '/https://github.com' + href,
102+
download_url[2][0] + href,
103+
download_url[3][0] + '/https://github.com' + href,
104+
download_url[4][0] + '/https://github.com' + href,
105+
download_url[5][0] + '/https://github.com' + href
116106
],
117107
html = `<div style="display: flex;justify-content: flex-end;">
118-
<div><a style="${style[0]}" class="btn" href="${url[0]}" rel="noreferrer noopener nofollow">${download_url_name[0]}</a></div>
119-
<div><a style="${style[0]}" class="btn" href="${url[1]}" rel="noreferrer noopener nofollow">${download_url_name[1]}</a></div>
120-
<div><a style="${style[0]}" class="btn" href="${url[2]}" rel="noreferrer noopener nofollow">${download_url_name[2]}</a></div>
121-
<div><a style="${style[0]}" class="btn" href="${url[3]}" rel="noreferrer noopener nofollow">${download_url_name[3]}</a></div>
122-
<div><a style="${style[0]}" class="btn" href="${url[4]}" rel="noreferrer noopener nofollow">${download_url_name[4]}</a></div>
123-
<div><a style="${style[0]}" class="btn" href="${url[5]}" rel="noreferrer noopener nofollow">${download_url_name[5]}</a></div>
108+
<div><a style="${style[0]}" class="btn" href="${url[0]}" rel="noreferrer noopener nofollow">${download_url[0][1]}</a></div>
109+
<div><a style="${style[0]}" class="btn" href="${url[1]}" rel="noreferrer noopener nofollow">${download_url[1][1]}</a></div>
110+
<div><a style="${style[0]}" class="btn" href="${url[2]}" rel="noreferrer noopener nofollow">${download_url[2][1]}</a></div>
111+
<div><a style="${style[0]}" class="btn" href="${url[3]}" rel="noreferrer noopener nofollow">${download_url[3][1]}</a></div>
112+
<div><a style="${style[0]}" class="btn" href="${url[4]}" rel="noreferrer noopener nofollow">${download_url[4][1]}</a></div>
113+
<div><a style="${style[0]}" class="btn" href="${url[5]}" rel="noreferrer noopener nofollow">${download_url[5][1]}</a></div>
124114
</div>`;
125115
$(this).next().after(html);
126116
});
@@ -132,20 +122,20 @@
132122
$(this).find(".d-block.Box-body>a").each(function () {
133123
var href = $(this).attr("href"),
134124
url = [
135-
download_url[0] + '/https://github.com' + href,
136-
download_url[1] + '/https://github.com' + href,
137-
download_url[2] + href,
138-
download_url[3] + '/https://github.com' + href,
139-
download_url[4] + '/https://github.com' + href,
140-
download_url[5] + '/https://github.com' + href
125+
download_url[0][0] + '/https://github.com' + href,
126+
download_url[1][0] + '/https://github.com' + href,
127+
download_url[2][0] + href,
128+
download_url[3][0] + '/https://github.com' + href,
129+
download_url[4][0] + '/https://github.com' + href,
130+
download_url[5][0] + '/https://github.com' + href
141131
],
142132
html = `<div style="display: flex;justify-content: flex-end;flex-grow: 1;">
143-
<div><a style="${style[0]}" class="btn" href="${url[0]}" rel="noreferrer noopener nofollow">${download_url_name[0]}</a></div>
144-
<div><a style="${style[0]}" class="btn" href="${url[1]}" rel="noreferrer noopener nofollow">${download_url_name[1]}</a></div>
145-
<div><a style="${style[0]}" class="btn" href="${url[2]}" rel="noreferrer noopener nofollow">${download_url_name[2]}</a></div>
146-
<div><a style="${style[0]}" class="btn" href="${url[3]}" rel="noreferrer noopener nofollow">${download_url_name[3]}</a></div>
147-
<div><a style="${style[0]}" class="btn" href="${url[4]}" rel="noreferrer noopener nofollow">${download_url_name[4]}</a></div>
148-
<div><a style="${style[0]}" class="btn" href="${url[5]}" rel="noreferrer noopener nofollow">${download_url_name[5]}</a></div>
133+
<div><a style="${style[0]}" class="btn" href="${url[0]}" rel="noreferrer noopener nofollow">${download_url[0][1]}</a></div>
134+
<div><a style="${style[0]}" class="btn" href="${url[1]}" rel="noreferrer noopener nofollow">${download_url[1][1]}</a></div>
135+
<div><a style="${style[0]}" class="btn" href="${url[2]}" rel="noreferrer noopener nofollow">${download_url[2][1]}</a></div>
136+
<div><a style="${style[0]}" class="btn" href="${url[3]}" rel="noreferrer noopener nofollow">${download_url[3][1]}</a></div>
137+
<div><a style="${style[0]}" class="btn" href="${url[4]}" rel="noreferrer noopener nofollow">${download_url[4][1]}</a></div>
138+
<div><a style="${style[0]}" class="btn" href="${url[5]}" rel="noreferrer noopener nofollow">${download_url[5][1]}</a></div>
149139
</div>`;
150140
$(this).after(html);
151141
});
@@ -160,20 +150,20 @@
160150
$(".dropdown-menu.dropdown-menu-sw.p-0 ul li:last-child").each(function () {
161151
var href = $(this).children("a").attr("href"),
162152
url = [
163-
download_url[0] + "/https://github.com" + href,
164-
download_url[1] + "/https://github.com" + href,
165-
download_url[2] + href,
166-
download_url[3] + "/https://github.com" + href,
167-
download_url[4] + "/https://github.com" + href,
168-
download_url[5] + '/https://github.com' + href
153+
download_url[0][0] + "/https://github.com" + href,
154+
download_url[1][0] + "/https://github.com" + href,
155+
download_url[2][0] + href,
156+
download_url[3][0] + "/https://github.com" + href,
157+
download_url[4][0] + "/https://github.com" + href,
158+
download_url[5][0] + '/https://github.com' + href
169159
],
170160
html = `
171-
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[0]}">${svg[0]}Download ZIP ${download_url_name[0]}</a></li>
172-
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[1]}">${svg[0]}Download ZIP ${download_url_name[1]}</a></li>
173-
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[2]}">${svg[0]}Download ZIP ${download_url_name[2]}</a></li>
174-
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[3]}">${svg[0]}Download ZIP ${download_url_name[3]}</a></li>
175-
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[4]}">${svg[0]}Download ZIP ${download_url_name[4]}</a></li>
176-
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[5]}">${svg[0]}Download ZIP ${download_url_name[5]}</a></li>
161+
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[0]}">${svg[0]}Download ZIP ${download_url[0][1]}</a></li>
162+
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[1]}">${svg[0]}Download ZIP ${download_url[1][1]}</a></li>
163+
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[2]}">${svg[0]}Download ZIP ${download_url[2][1]}</a></li>
164+
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[3]}">${svg[0]}Download ZIP ${download_url[3][1]}</a></li>
165+
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[4]}">${svg[0]}Download ZIP ${download_url[4][1]}</a></li>
166+
<li class="Box-row Box-row--hover-gray p-0"><a class="d-flex flex-items-center text-gray-dark text-bold no-underline p-3" rel="noreferrer noopener nofollow" href="${url[5]}">${svg[0]}Download ZIP ${download_url[5][1]}</a></li>
177167
`;
178168
$(this).after(html);
179169
});
@@ -205,14 +195,14 @@
205195
var href = location.href.replace('https://github.com',''),
206196
href2 = href.replace('/blob/','/'),
207197
url = [
208-
raw_url[1] + "/gh" + href.replace('/blob/','@'),
209-
raw_url[2] + href2,
210-
download_url[5] + "/" + raw_url[0] + href2
198+
raw_url[1][0] + "/gh" + href.replace('/blob/','@'),
199+
raw_url[2][0] + href2,
200+
download_url[5] + "/" + raw_url[0][0] + href2
211201
],
212202
html = `
213-
<a href="${url[0]}" title="${raw_url_tip[1]}" role="button" rel="noreferrer noopener nofollow" class="btn btn-sm BtnGroup-item">${raw_url_name[1]}</a>
214-
<a href="${url[1]}" title="${raw_url_tip[2]}" role="button" rel="noreferrer noopener nofollow" class="btn btn-sm BtnGroup-item">${raw_url_name[2]}</a>
215-
<a href="${url[2]}" title="${raw_url_tip[3]}" role="button" rel="noreferrer noopener nofollow" class="btn btn-sm BtnGroup-item">${raw_url_name[3]}</a>
203+
<a href="${url[0]}" title="${raw_url[1][2]}" role="button" rel="noreferrer noopener nofollow" class="btn btn-sm BtnGroup-item">${raw_url[1][1]}</a>
204+
<a href="${url[1]}" title="${raw_url[2][2]}" role="button" rel="noreferrer noopener nofollow" class="btn btn-sm BtnGroup-item">${raw_url[2][1]}</a>
205+
<a href="${url[2]}" title="${raw_url[3][2]}" role="button" rel="noreferrer noopener nofollow" class="btn btn-sm BtnGroup-item">${raw_url[3][1]}</a>
216206
`;
217207
$(this).after(html);
218208
});
@@ -256,27 +246,27 @@
256246
switch(menu_raw_fast)
257247
{
258248
case 0:
259-
url = raw_url[0] + href2;
260-
url_name = raw_url_name[0];
261-
url_tip = raw_url_tip[0];
249+
url = raw_url[0][0] + href2;
250+
url_name = raw_url[0][1];
251+
url_tip = raw_url[0][2];
262252
break;
263253
case 1:
264-
url = raw_url[1] + '/gh' + href.replace('/blob/','@');
265-
url_name = raw_url_name[1];
266-
url_tip = raw_url_tip[1];
254+
url = raw_url[1][0] + '/gh' + href.replace('/blob/','@');
255+
url_name = raw_url[1][1];
256+
url_tip = raw_url[1][2];
267257
break;
268258
case 2:
269-
url = raw_url[2] + href2;
270-
url_name = raw_url_name[2];
271-
url_tip = raw_url_tip[2];
259+
url = raw_url[2][0] + href2;
260+
url_name = raw_url[2][1];
261+
url_tip = raw_url[2][2];
272262
break;
273263
case 3:
274-
url = download_url[5] + '/' + raw_url[0] + href2;
275-
url_name = download_url_name[5];
276-
url_tip = raw_url_tip[3];
264+
url = raw_url[3][0] + '/' + raw_url[0][0] + href2;
265+
url_name = raw_url[3][1];
266+
url_tip = raw_url[3][2];
277267
break;
278268
}
279-
var html = ` <a href="${url}" download="${Name}" target="_blank" rel="noreferrer noopener nofollow" class="fileDownLink" style="display: none;" title="「${url_name}」&#10;&#10;[Alt + 左键] 或 [右键 - 另存为...] 下载文件。&#10;注意:鼠标点击 [☁] 图标,而不是左侧的文件名!&#10;&#10;${url_tip}提示:点击浏览器右上角 Tampermonkey 扩展图标 - [ ${raw_url_name[menu_raw_fast]} ] 加速源 (☁) 即可切换。">${svg[2]}</a>`;
269+
var html = ` <a href="${url}" download="${Name}" target="_blank" rel="noreferrer noopener nofollow" class="fileDownLink" style="display: none;" title="「${url_name}」&#10;&#10;[Alt + 左键] 或 [右键 - 另存为...] 下载文件。&#10;注意:鼠标点击 [☁] 图标,而不是左侧的文件名!&#10;&#10;${url_tip}提示:点击浏览器右上角 Tampermonkey 扩展图标 - [ ${raw_url[menu_raw_fast][1]} ] 加速源 (☁) 即可切换。">${svg[2]}</a>`;
280270
$(cntElm_svg).after(html);
281271
// 绑定鼠标事件
282272
trElm.onmouseover=mouseOverHandler;

0 commit comments

Comments
 (0)