🔨工具:国内加速访问arxiv
注意:arxiv读音与archive一样,英[ˈɑːkaɪv],美[ˈɑːrkaɪv]
国内访问论文预发布平台arxiv巨慢无比,让人闹心!网上找了一个很好用的方法,按照这个方法配置之后arxiv就秒开了。原理就是将arxiv重定向到xxx.itp.ac.cn(中科院理论物理研究所镜像)。 如果此时你找到了一篇文章,地址是arxiv.org/abs/1911.11763,只需要把arxiv.org换成xxx.itp.ac.cn即可。但每次都手动配置就很麻烦,为了贯彻将懒惰进行到底的精神,我们需要将上述过程自动化。配置如下:
-
安装Tampermonkey油猴插件,自行google。
-
添加如下脚本
// ==UserScript==
// @name redirect_arxiv
// @namespace redirect_arxiv
// @include *
// @include https://*github.io*
// @include https://*arxiv.org/*
// @include https://*google.c*
// @include https://*semanticscholar.org/*
// @include https://*github.com*
// @include https://*zhihu.com*
// @include https://*brainpp.cn*
// @include https://*outlook.cn*
// @version 1.0
// @grant none
// ==/UserScript==
// 重定向 arxiv.org 到 xxx.itp.ac.cn(中科院理论物理研究所镜像)
function findFatherNode(node, nodeName='A', maxDeep=1000){
for (var i = 0; i < maxDeep; i++) {
if (! node){return node}
if (node.nodeName == nodeName){
return node
}else{
node = node.parentElement
}
};
}
document.body.addEventListener('mousedown', function(e){
var targ = e.target || e.srcElement;
var aTag = findFatherNode(targ, 'A', 10);
if (!aTag || !(aTag.href)){return};
var headN = 17;
var hrefHead = aTag.href.slice(0, headN);
var hrefTail = aTag.href.slice(headN);
if ( (hrefHead.indexOf('arxiv.org')==-1)){return};
if ( hrefHead.match(/https?:\/\/arxiv\.org/) ) {
hrefHead = hrefHead.replace(/https?:\/\/arxiv\.org/, 'https://arxiv.org');
}
aTag.href = hrefHead + hrefTail
// console.log(targ, targ.href);
});