NUS e-journals download redirect

e-journals download redirect for NUS students V1.3.1 (fixed overlap & delay only for AIP sites)

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         NUS e-journals download redirect
// @version      1.3.1
// @description  e-journals download redirect for NUS students V1.3.1 (fixed overlap & delay only for AIP sites)
// @namespace    https://greasyfork.org/users/741351
// @include      *://advanced.onlinelibrary.wiley.com/*
// @include      *://onlinelibrary.wiley.com/*
// @include      *://www.nature.com/*
// @include      *://www.science.org/*
// @include      *://aip.scitation.org/*
// @include      *://journals.aps.org/*
// @include      *://pubs.acs.org/*
// @include      *://link.springer.com/*
// @include      *://www.sciencedirect.com/*
// @include      *://www.osapublishing.org/*
// @include      *://ieeexplore.ieee.org/*
// @include      *://pubs.rsc.org/*
// @include      *://iopscience.iop.org/*
// @include      *://science.sciencemag.org/*
// @include      *://www.spiedigitallibrary.org/*
// @include      *://www.cambridge.org/*
// @include      *://www.pnas.org/*
// @include      *://royalsocietypublishing.org/*
// @include      *://opg.optica.org/*
// @include      *://pubs.aip.org/*
// @author       SAPEREAUDE&ChatGPT
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function () {
    const href = document.location.href;
    
    const redirect = () => {
    document.location.href = href
        .replace('advanced.onlinelibrary.wiley.com', 'advanced-onlinelibrary-wiley-com.libproxy1.nus.edu.sg')
        .replace('onlinelibrary.wiley.com', 'onlinelibrary-wiley-com.libproxy1.nus.edu.sg')
        .replace('www.nature.com', 'www-nature-com.libproxy1.nus.edu.sg')
        .replace('www.science.org', 'www-science-org.libproxy1.nus.edu.sg')
        .replace('aip.scitation.org', 'aip-scitation-org.libproxy1.nus.edu.sg')
        .replace('journals.aps.org', 'journals-aps-org.libproxy1.nus.edu.sg')
        .replace('pubs.acs.org', 'pubs-acs-org.libproxy1.nus.edu.sg')
        .replace('link.springer.com', 'link-springer-com.libproxy1.nus.edu.sg')
        .replace('www.sciencedirect.com', 'www-sciencedirect-com.libproxy1.nus.edu.sg')
        .replace('www.osapublishing.org', 'www-osapublishing-org.libproxy1.nus.edu.sg')
        .replace('ieeexplore.ieee.org', 'ieeexplore-ieee-org.libproxy1.nus.edu.sg')
        .replace('pubs.rsc.org', 'pubs-rsc-org.libproxy1.nus.edu.sg')
        .replace('iopscience.iop.org', 'iopscience-iop-org.libproxy1.nus.edu.sg')
        .replace('science.sciencemag.org', 'science-sciencemag-org.libproxy1.nus.edu.sg')
        .replace('www.spiedigitallibrary.org', 'www-spiedigitallibrary-org.libproxy1.nus.edu.sg')
        .replace('www.cambridge.org', 'www-cambridge-org.libproxy1.nus.edu.sg')
        .replace('www.pnas.org', 'www-pnas-org.libproxy1.nus.edu.sg')
        .replace('royalsocietypublishing.org', 'royalsocietypublishing-org.libproxy1.nus.edu.sg')
        .replace('opg.optica.org', 'opg-optica-org.libproxy1.nus.edu.sg')
        .replace('pubs.aip.org', 'pubs-aip-org.libproxy1.nus.edu.sg');
    };

    // Apply delay only for AIP sites
    if (href.includes('aip.scitation.org') || href.includes('pubs.aip.org')) {
        const delay = Math.random() * (1867 - 1239) + 1239; // 1239 ms to 1867 ms
        setTimeout(redirect, delay);
    } else {
        redirect();
    }
})();