加速 github releases 页面的下载
目前為
// ==UserScript==
// @name Speed Github Releases
// @namespace http://tampermonkey.net/
// @version 0.3
// @description 加速 github releases 页面的下载
// @author CBK
// @license GPL-3.0
// @match https://github.com/*
// @icon https://github.githubassets.com/favicons/favicon.svg
// @grant none
// ==/UserScript==
// 模仿块级作用域
// (function() {
// 'use strict';
// // Your code here...
// })();
"use strict";
main();
function main() {
speed();
observe_assets();
}
function speed() {
// 寻找 release 地址
let elems = document.querySelectorAll("[href]");
let mirror_url = "https://github.moeyy.xyz/";
let pattern = /https:\/\/github.com\/.+\/.+\/releases\/download.+/;
for (let elem of elems) {
if (elem.href.match(pattern)) {
// 修改
let url = elem.href.match(pattern)[0];
elem.href = mirror_url + url;
}
}
}
function observe_assets() {
// Observer
let assets_elems = document.querySelectorAll(
'details[data-view-component="true"]',
);
let observer = new MutationObserver((mutationRecords) => {
// console.log("有变化");
// console.log(mutationRecords);
speed();
});
for (let elem of assets_elems) {
observer.observe(elem, {
childList: true,
subtree: true, // 及其更低的后代节点
});
}
}