sourceforge.net 台灣下載加速

在 sourceforge.net 直接顯示下載連結並替換鏡像

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        sourceforge.net 台灣下載加速
// @description 在 sourceforge.net 直接顯示下載連結並替換鏡像
// @namespace   jfcherng
// @match       https://sourceforge.net/projects/*/files/*
// @version     0.0.3
// @grant       none
// @author      jfcherng
// @license     MIT
// @icon        https://www.google.com/s2/favicons?domain=sourceforge.net
// @supportURL  https://github.com/jfcherng/my-user-js
// ==/UserScript==

const mirror_host = 'phoenixnap.dl.sourceforge.net';

// ---------------------------------------------------------------------------

const dl_doms = document.querySelectorAll('a[href$="/download"]');

for (let i = 0; i < dl_doms.length; ++i) {
    let url = dl_doms[i].getAttribute('href');

    url = url.replace(
        /:\/\/sourceforge\.net\/projects\/([^\/]+)\/files\/(.+)\/download/,
        `://${mirror_host}/project/$1/$2`
    );

    dl_doms[i].setAttribute('href', url);
}