Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
GitHub Clone or download、releases 下载加速
// ==UserScript==
// @name FastGit
// @version 0.8
// @description GitHub Clone or download、Releases 下载加速
// @author Vhxubo
// @license MIT
// @icon
// @homepage
// @namespace
// @match*/*
// @match*/*
// @grant none
// @note 2020.07.02_V0.8 适配新版 UI(Code);修改 Releases 下载方式(更直观);支持
// @note 2020.06.30_V0.7 修改 Releases 下载接口
// @note 2020.06.29_V0.6 Releases 界面点击文件体积下载,不支持 Source code 下载
// @note 2020.06.27_V0.5 适配新版 UI
// @note 2020.05.06_V0.4 新增: zipProxy - zip 下载链接
// ==/UserScript==
(function () {
'use strict';
var gitProxy = '';
var sshProxy = '';
var releaseProxy = '';
if (window.location.href.indexOf('releases') === -1) {
var regex = /"((\/.*)+\.zip)"/;
var domDownload = document.querySelector('span.d-flex')||document.querySelector('get-repo-controller')||document.querySelector('get-repo');
if (domDownload !== null) {
var oldHtml = domDownload.outerHTML;
var zipLink = gitProxy + regex.exec(oldHtml)[1];
var outHtml = oldHtml
.replace('Clone or download', 'FastGit')
.replace('Clone', 'FastGit')
.replace('Code', 'FastGit')
.replace(/https:\/\/, gitProxy)
.replace(regex, zipLink)
.replace(/, sshProxy)
.replace('', '');
domDownload.insertAdjacentHTML('afterend', outHtml);
} else {
var resDownload = document.querySelectorAll('.Box--condensed small');
if (resDownload !== null) {
var i;
for (i = 0; i < resDownload.length; i++) {
var resHref = resDownload[i].previousElementSibling.getAttribute('href');
`<a title="FastGit 加速" class="pl-2 text-bold" href="${
releaseProxy + resHref
Copy link

vhxubo commented May 6, 2020

I have another issue. That provides zip booster using domain, but not give redirect signal by nginx. So you should also give a replacer to replace the Download ZIP button.
And we are considering that replace to

We finished the changes. See more ->

Get it! Please update to V0.4,and just try it.

Copy link

Hi there, can FastGit download be aligned? It's so weird now, QwQ


Copy link

vhxubo commented Jun 28, 2020

Update, pls.

Copy link

Update, pls.

LGTM, but releaseProxy is now the same with zipProxy. (release. will give a 301 redirect to download, and the api is not stable), so I think combine it into one is better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment