// ==UserScript== // @name Github 镜像访问,加速下载 // @icon https://github.githubassets.com/favicon.ico // @namespace https://github.com/jadezi/github-accelerator/ // @version 2.0.9 // @description GitHub 镜像,github 加速 // @author jadezi、wuyuehui // @license GPL License // @match *://github.com/* // @require https://code.jquery.com/jquery-3.4.1.min.js // @resource customStyles https://gitee.com/jadezi/github-accelerator-css/raw/master/index.css // @grant GM_addStyle // @grant GM_setClipboard // @grant GM_getResourceText // @grant GM_getValue // @grant GM_setValue // @grant GM_registerMenuCommand // @grant GM_openInTab // @downloadURL https://update.greasyfork.icu/scripts/398278/Github%20%E9%95%9C%E5%83%8F%E8%AE%BF%E9%97%AE%EF%BC%8C%E5%8A%A0%E9%80%9F%E4%B8%8B%E8%BD%BD.user.js // @updateURL https://update.greasyfork.icu/scripts/398278/Github%20%E9%95%9C%E5%83%8F%E8%AE%BF%E9%97%AE%EF%BC%8C%E5%8A%A0%E9%80%9F%E4%B8%8B%E8%BD%BD.meta.js // ==/UserScript== (function () { const clone_url_list = [ { name: '地址1', url: 'https://kkgithub.com', }, { name: '地址2', url: 'https://github.xiaohei.me', }, ] const download_url = [ 'https://ghp.ci/', 'https://github.moeyy.xyz/', ] function init() { initMirrorUrl() isProjectUrl() setTimeout(addDownload, 2000); addRelease() } // Project页面不添加镜像面板 function isProjectUrl(){ const pathnameArr = window.location.pathname.split('/'); if(pathnameArr.length>3&&pathnameArr[3]=="projects"){ return }else{ addPanel() } } // 初始化镜像地址 function initMirrorUrl() { const _clone_url_list = clone_url_list.map(mirrorItem => { const [clone_url, quick_look_url] = joinCloneMirrorUrl(mirrorItem) return { clone_url, quick_look_url, } }) console.log('%c [ _clone_url_list ]', 'font-size:13px; background:pink; color:#bf2c9f;', _clone_url_list) GM_setValue('clone_url_list', _clone_url_list) } // 拼接克隆地址 const joinCloneMirrorUrl = (mirrorItem) => { const { url } = mirrorItem let commonUrl = '' commonUrl += "git clone "; commonUrl += url; const pathnameArr = window.location.pathname.split('/'); let clone_url = commonUrl + '/' + pathnameArr[1] + '/' + pathnameArr[2] + '.git' let quick_look_url = url + '/' + pathnameArr[1] + '/' + pathnameArr[2] return [clone_url, quick_look_url] } // 初始化镜像面板 function addPanel() { const clone_url_list = GM_getValue('clone_url_list') // 镜像面板模板 const mirror_template = `