Github 加速 clone
// ==UserScript==
// @name Github加速clone
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Github 加速 clone
// @author d1y
// @match https://github.com/*
// @grant none
// @require https://cdn.bootcdn.net/ajax/libs/jquery/2.1.4/jquery.min.js
// ==/UserScript==
(function () {
/**
* 非盈利性质机构提供
*
* https://fastgit.org
*
* https://github.com/FastGitORG
*/
const fastgithub_url = "https://hub.fastgit.org";
/*
* 淘宝提供的镜像服务
*
* https://github.com/cnpm
*/
let cnpmjs_url = "https://github.com.cnpmjs.org";
// url
let url = window.location.href;
let url_data = url.split("/");
let github_auth_name = url_data[3];
let git_name = url_data[4];
;(function () {
addCloneButton();
addSiteButton();
})()
/**
* 添加镜像站点按钮
*/
function addSiteButton() {
const title = "淘宝镜像"
let template = `
<details class="get-repo-select-menu js-get-repo-select-menu position-relative details-overlay details-reset">
<summary class="btn ml-2 btn-primary">
<a href="${cnpmjs_url}/${github_auth_name}/${git_name}" style="color:#fff;">${title}</a>
</summary>
</details>
`;
$(".file-navigation").append(template);
}
/**
* 添加克隆按钮
*/
function addCloneButton() {
let template = `<span class="d-flex">
<details class="get-repo-select-menu js-get-repo-select-menu position-relative details-overlay details-reset">
<summary class="btn ml-2 btn-primary">
加速
<span class="dropdown-caret"></span>
</summary>
<div class="position-relative">
<div class="get-repo-modal dropdown-menu dropdown-menu-sw pb-0 js-toggler-container js-get-repo-modal p-3" style="width:352px;">
<div class="get-repo-modal-options">
<div class="clone-options https-clone-options">
<h4 class="mb-1">
使用HTTPS克隆
<a class="muted-link" href="https://docs.github.com/cn/github/using-git/which-remote-url-should-i-use" target="_blank" title="Which remote URL should I use?">
<svg class="octicon octicon-question" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true">
<path fill-rule="evenodd" d="M6 10h2v2H6v-2zm4-3.5C10 8.64 8 9 8 9H6c0-.55.45-1 1-1h.5c.28 0 .5-.22.5-.5v-1c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7H4c0-1.5 1.5-3 3-3s3 1 3 2.5zM7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 011.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7z"></path>
</svg>
</a>
</h4>
<p class="mb-2 get-repo-decription-text">
CNPMJS.ORG加速通道
</p>
<div class="input-group mb-2">
<input type="text" class="form-control input-monospace input-sm" data-autoselect="" value="${cnpmjs_url}/${github_auth_name}/${git_name}.git" readonly="">
<div class="input-group-button">
<clipboard-copy value="${cnpmjs_url}/${github_auth_name}/${git_name}.git" class="btn btn-sm" tabindex="0" role="button"><svg class="octicon octicon-clippy" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true">
<path fill-rule="evenodd" d="M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"></path>
</svg>
</clipboard-copy>
</div>
</div>
<p class="mb-2 get-repo-decription-text">
<a href="https://fastgit.org" target="_blank">FastGit.ORG</a>加速通道
</p>
<div class="input-group mb-2">
<input type="text" class="form-control input-monospace input-sm" data-autoselect="" value="${fastgithub_url}/${github_auth_name}/${git_name}.git" readonly="">
<div class="input-group-button">
<clipboard-copy value="${fastgithub_url}/${github_auth_name}/${git_name}.git" class="btn btn-sm" tabindex="0" role="button"><svg class="octicon octicon-clippy" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true">
<path fill-rule="evenodd" d="M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"></path>
</svg>
</clipboard-copy>
</div>
</div>
</div>
</div>
</div>
</details>
</span>`;
$(".file-navigation").append(template);
}
})();