From df0fa699fd04f0bc62309aa1d9fae1709adee981 Mon Sep 17 00:00:00 2001
From: xiu2 <54703944+XIU2@users.noreply.github.com>
Date: Thu, 22 Oct 2020 20:46:40 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20Raw=20=E5=BF=AB=E6=8D=B7?=
=?UTF-8?q?=E4=B8=8B=E8=BD=BD(=E2=98=81)=E5=BF=AB=E9=80=9F=E5=88=87?=
=?UTF-8?q?=E6=8D=A2=E5=8A=A0=E9=80=9F=E6=BA=90=E9=80=89=E9=A1=B9=EF=BC=88?=
=?UTF-8?q?=E4=BD=8D=E4=BA=8E=E5=8F=B3=E4=B8=8A=E8=A7=92=E7=9A=84=20Tamper?=
=?UTF-8?q?monkey=20=E6=89=A9=E5=B1=95=E5=9B=BE=E6=A0=87=E4=B8=AD=EF=BC=89?=
=?UTF-8?q?=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
GithubEnhanced-High-Speed-Download.user.js | 56 ++++++++++++++++------
README.md | 2 +-
2 files changed, 43 insertions(+), 15 deletions(-)
diff --git a/GithubEnhanced-High-Speed-Download.user.js b/GithubEnhanced-High-Speed-Download.user.js
index 1203ef5..3e7671b 100644
--- a/GithubEnhanced-High-Speed-Download.user.js
+++ b/GithubEnhanced-High-Speed-Download.user.js
@@ -1,6 +1,6 @@
-// ==UserScript==
+ // ==UserScript==
// @name Github 增强 - 高速下载
-// @version 1.1.5
+// @version 1.1.6
// @author X.I.U
// @description 为 Github 的 Clone、Release、Raw、Code(ZIP) 添加高速下载
// @match https://github.com/*/*
@@ -10,6 +10,9 @@
// @require https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js
// @grant GM_registerMenuCommand
// @grant GM_openInTab
+// @grant GM_getValue
+// @grant GM_setValue
+// @grant GM_notification
// @license GPL-3.0 License
// @run-at document-end
// @namespace https://greasyfork.org/scripts/412245
@@ -31,24 +34,43 @@
var clone_url2 = "https://gitclone.com"; // 中国浙江杭州
var clone_url3 = "https://github.com.cnpmjs.org"; // 新加坡
- // 这里这里~~
- var raw_fast = "中国国内"; // 指定各个文件名后的云朵使用的高速下载链接,选择范围:[Github、中国国内、中国香港、美国洛杉矶],各加速源注意事项看下面,自行选择~~
- // 这里这里~~
+ var raw_fast_arr = ['Github 原生','中国国内','中国香港','美国洛杉矶']; // Raw ☁ 加速源数组
+ var raw_fast = GM_getValue('xiu2_raw_fast'); // 先获取加速源,如果没有就指定为 [中国国内]
+ if (!raw_fast){
+ raw_fast = "中国国内";
+ GM_setValue('xiu2_raw_fast', raw_fast_arr[1]);
+ }
var raw_url0 = "https://raw.githubusercontent.com";
- var raw_url0_name = "Github"; // 原生链接
+ var raw_url0_name = "Github 原生";
var raw_url1 = "https://cdn.jsdelivr.net";
var raw_url1_name = "中国国内";
- var raw_url1_tip = "注意:该项目当前分支总文件大小超过 50MB 时,此高速下载链接不可用。
注意:当前分支名为版本号格式时(如 v1.2.3),此高速下载链接因格式限制不可用。
";
+ var raw_url1_tip = "注意:当前分支总文件大小超过 50MB 时,该高速下载链接不可用。
注意:当前分支名为版本号格式时(如 v1.2.3),该高速下载链接因格式限制不可用。
";
var raw_url2 = "https://raw.fastgit.org";
var raw_url2_name = "中国香港";
- var raw_url2_tip = "注意:单个文件太大时可能会提示超时,可以重试。
";
+ var raw_url2_tip = "注意:单个文件太大时可能会提示超时,请重试。
";
var download_zip_svg = ``;
var download_clone_svg = ``
var raw_svg = ``
var download_release_style = `padding:0 4px;margin-right: -1px;border-radius: 2px;background-color: #ffffff;border-color: rgba(27, 31, 35, 0.1);font-size: 12px;`
+ // 注册脚本菜单
+ GM_registerMenuCommand('切换加速源 (☁)', function () {
+ var raw_fast_now_index = raw_fast_arr.indexOf(raw_fast); // 获取当前加速源位置
+ var raw_fast_new_index;
+ if (raw_fast_now_index >= raw_fast_arr.length - 1){ // 如果当前加速源位置大于等于加速源总数,则改为第一个加速源,反之递增下一个加速源
+ raw_fast_new_index = 0;
+ }else{
+ raw_fast_new_index = raw_fast_now_index + 1;
+ }
+ raw_fast = raw_fast_arr[raw_fast_new_index];
+ GM_setValue('xiu2_raw_fast', raw_fast_arr[raw_fast_new_index]);
+
+ delDownLink(); // 删除旧加速源
+ addDownLink(); // 添加新加速源
+ GM_notification(`已切换加速源为:${raw_fast_arr[raw_fast_new_index]}`); // 提示消息
+ });
GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});});
addRelease(); // Release 加速
@@ -168,7 +190,7 @@
}
- // 添加 Raw 下载链接(添加到项目页文件名称后面)
+ // 添加 Raw 下载链接(云朵图标,添加到项目页文件名称后面)
function addDownLink(){
// 如果不是项目文件页面,就返回
var files = $('.octicon.octicon-file');
@@ -197,10 +219,7 @@
Name = cntElm.innerText,
href = cntElm.attributes["href"].nodeValue.replace('https://github.com','');
// 如果 raw_fast 为 true 则下载链接为高速下载链接,反之为 Github 原生下载链接
- var href2 = href.replace('/blob/','/'),
- url,
- url_name,
- url_tip = "";
+ var href2 = href.replace('/blob/','/'), url, url_name, url_tip = "";
switch(raw_fast)
{
case raw_url0_name:
@@ -222,11 +241,20 @@
url_name = download_url5_name;
break;
}
- var html1 = ` ${raw_svg}`;
+ var html1 = ` ${raw_svg}`;
$(cntElm).after(html1);
// 绑定鼠标事件
trElm.onmouseover=mouseOverHandler;
trElm.onmouseout=mouseOutHandler;
});
}
+
+
+ // 删除 Raw 下载链接(云朵图标)
+ function delDownLink(){
+ var aElm = document.querySelectorAll('.fileDownLink');
+ for(var num = 0;num 其他基于 Chromium 内核的浏览器(如国内各大浏览器)都可以使用 Chrome 的扩展。