Github-speed-up

Github加速下载release,源代码

  1. // ==UserScript==
  2. // @name Github-speed-up
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.3
  5. // @description Github加速下载release,源代码
  6. // @author GallenHu
  7. // @match https://github.com/*/*
  8. // @match https://github.com/*/*/releases
  9. // @grant none
  10. // @require https://cdn.staticfile.org/jquery/1.12.2/jquery.min.js
  11. // ==/UserScript==
  12.  
  13. (function () {
  14. 'use strict';
  15.  
  16. const speedupHOST = 'https://ghproxy.com/';
  17.  
  18. const speedupRelease = () => {
  19. var ass = $('details.details-reset a.d-flex')
  20. $(ass).each(function (i, a) {
  21. var link = $(a).attr('href');
  22. var speedLink = `${speedupHOST}https://github.com${link}`;
  23. var btnHtml = `<a href="${speedLink}">加速下载</a>`;
  24. $(a).after(btnHtml);
  25.  
  26. if ($(a).parent().hasClass('d-block')) {
  27. $(a).parent().removeClass('d-block').addClass('d-flex').addClass('flex-justify-between');
  28. }
  29. });
  30. };
  31.  
  32. const speedupSourceCodeDownload = () => {
  33. var list = $('div[data-target="get-repo.modal"] ul li')
  34. var lastLIClone = $.clone(list[1]);
  35. var btnText = $(lastLIClone).text().trim();
  36. var newBtnText = '加速 ' + btnText;
  37. var $lastDomA = $(lastLIClone).find('a');
  38. var innerAHtml = $lastDomA.html().replace(btnText, newBtnText);
  39. var link = $lastDomA.attr('href');
  40. var newLink = `${speedupHOST}https://github.com${link}`;
  41.  
  42. $lastDomA.html(innerAHtml).attr('href', newLink);
  43.  
  44. $('div[data-target="get-repo.modal"] ul').append(lastLIClone);
  45. };
  46.  
  47. const addSpeedUpLink = () => {
  48. var $nav = $('nav.d-flex');
  49. $nav.append(`<a href="${speedupHOST}" class="Header-link" target="_blank">Github 加速</a>`)
  50. };
  51.  
  52. const URL = window.location.href;
  53. if (URL.includes('/release')) {
  54. speedupRelease();
  55. } else {
  56. speedupSourceCodeDownload();
  57. }
  58.  
  59. if ($('nav.d-flex').length) {
  60. addSpeedUpLink();
  61. }
  62. })();