// ==UserScript== // @icon https://github.githubassets.com/favicon.ico // @name GitHub镜像加速访问、克隆和下载 // @namespace RC1844.FastGithub // @author RC1844 // @homepageURL https://github.com/RC1844/FastGithub // @supportURL https://github.com/RC1844/FastGithub/issues // @license MIT License // @description 镜像访问GitHub、加速克隆和下载;适配Github新UI;增加新克隆站点;前往项目Github仓库查看免费搭建Github镜像站点方法 // @include *://github.com/* // @include *://github* // @include *://hub.fastgit.org/* // @require http://cdn.bootcss.com/jquery/1.8.3/jquery.min.js // @version 1.5.0 // @grant GM_addStyle // @downloadURL none // ==/UserScript== (function () { "use strict"; //=true为启用,=false为禁用 var clone = true; // var clone = false; var depth = true; // var depth = false; var mirror_url = new Array(); mirror_url[0] = "https://github.com.cnpmjs.org/"; mirror_url[1] = "https://hub.fastgit.org/"; mirror_url[2] = "https://github.wuyanzheshui.workers.dev"; mirror_url[3] = "https://github.bajins.com/"; mirror_url[4] = "https://download.fastgit.org"; mirror_url[5] = "https://github.rc1844.workers.dev"; mirror_url[6] = "https://gitclone.com/github.com/"; mirror_url[7] = "git@git.zhlh6.cn:"; mirror_url[8] = "https://github-speedup.laiczhang.com/"; //添加对应索引即可使用 var clone_set = [1, 8, 0, 6, 7]; var mirror_set = [1, 8, 0, 3, 2, 5]; var download_set = [4, 8, 2, 5]; var raw_set = [1, 8, 3, 2, 5]; //其他 var other_url = new Array(); other_url = [{ url: "https://github.com/RC1844/FastGithub", name: "脚本Github仓库地址,点个赞谢谢", }, { url: "https://greasyfork.org/zh-CN/scripts/397419", name: "GreasyFork地址,希望可以给我评分收藏", }, { url: "https://minhaskamal.github.io/DownGit", name: "DownGit", }, { url: "https://d.serctl.com/", name: "GitHub中转下载", }, { url: "https://github.zhlh6.cn/", name: "加速你的Github", }, { url: "http://gitd.cc/", name: "GitHub代下载", }, { url: "https://gh.isteed.cc/", name: "gh-proxy部署站点", }, { url: "https://github.zsxwz.workers.dev/", name: "gh-proxy部署站点", }, { url: "https://gh.api.99988866.xyz/", name: "gh-proxy部署站点", }, { url: "https://g.ioiox.com/", name: "gh-proxy部署站点", }, { url: "https://gh.sky-and-poem.fun/", name: "gh-proxy部署站点", }, // { // url: "", // name: "", // }, ]; var str1 = ""; if (clone) { str1 += "git clone "; if (depth) { str1 += "--depth=1 "; } } var a = window.location.href.split("/"); var str2 = a[3] + "/" + a[4] + ".git"; var str3 = window.location.pathname; //镜像列表 // $("div.flex-auto.min-width-0.width-fit.mr-3") $("h1.flex-wrap.break-word.text-normal") .each(function () { var info = `
镜像网站
镜像站点与快速克隆
`; //克隆列表 for (let i in clone_set) { info += `
`; } //浏览列表 for (let i in mirror_set) { info += ` 镜像浏览${i} `; } if (location.hostname != "github.com") { info += ` 返回GitHub `; } info += `
`; $(this).append(info); }); //Fast Download ZIP $("a[data-open-app='link']").each(function () { var span = $(`
  • `); var href = $(this).attr("href"); var clone = $(this).clone().removeAttr("data-hydro-click data-hydro-click-hmac data-ga-click"); clone.addClass("Box-row Box-row--hover-gray"); for (const i in download_set) { if (download_set.hasOwnProperty(i)) { const element = download_set[i]; var span1 = clone.clone(); span1.attr({ "href": mirror_url[element] + href, "title": mirror_url[element] }); span1.html(span1.html().replace("Download ZIP", `Fast Download ZIP${i}`)) span = span.clone().append(span1) } } $(this).parent().after(span); }); //Download Releases $(".Box--condensed").each(function () { $(this).find(".flex-items-center>a").each(function () { var href = $(this).attr("href"); var span = ""; if (!IsPC()) { span = `
    ` + DownloadHref(href) + `
    ` } else { span = `` + DownloadHref(href) + `` } $(this).next().append(span); }); if (!IsPC()) { $(this).find(".d-flex").removeClass("d-flex"); } $(this).find(".d-block.Box-body>a").each(function () { var href = $(this).attr("href"); $(this).after(`` + DownloadHref(href) + ``); $(this).parent().addClass("d-flex flex-justify-between"); }); }); // Raw $("#raw-url").each(function () { var href = $(this).attr("href"); var text = $(this).text() for (const i in raw_set) { if (raw_set.hasOwnProperty(i)) { const element = raw_set[i]; var span = $(this).clone().removeAttr("id"); span.attr({ "href": mirror_url[element] + href, "title": mirror_url[element] }) span.text(text + i) $(this).before(span); } } }); function DownloadHref(href) { var span = ""; for (let i in download_set) { span += `快速下载${i}`; } return span; } function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = [ "Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod", ]; var flag = true; for (var v = 0; v < Agents.length; v++) { if (userAgentInfo.indexOf(Agents[v]) > 0) { flag = false; break; } } return flag; } })();