怎样在网站做友情链接,六安网站建设电话,网站建设公司的经营范围,厦门百度seo前言#xff1a;
在整理各类资源的时候#xff0c;可能会面临资源非常多的情况#xff0c;这个时候我们就需要一款能够一键打开多个URL的浏览器插件了
说简单点#xff0c;其实#xff0c;迅雷就是这样的#xff0c;但是迅雷是基于内置nginx浏览器实现的#xff0c;并…前言
在整理各类资源的时候可能会面临资源非常多的情况这个时候我们就需要一款能够一键打开多个URL的浏览器插件了
说简单点其实迅雷就是这样的但是迅雷是基于内置nginx浏览器实现的并且一次打开的数量是有限制的好像是会员只能一次性打开50个URL 当然了除了迅雷其实其它各类资源都有各种各样的限制这些无疑是极大的降低了我们的资料整理效率而如果使用Open-Multiple-URLs这样的浏览器插件将会很容易的突破每次打开URL数量的限制不管有没有验证码这样的安全类措施我就问是不是突破了多开URL的限制虽然还有验证码等等需要去处理但效率是不是已经有所提升
下面是Google浏览器使用Open-Multiple-URLs 输入框可以黏贴很多很多URL当然前提是你的机器足够强悍我的i713代cpu大概应该可以打开200多个URL到底多少没有测算不过和自身机器的cpu内存是有关系这个是一定的
那么如何安装这个插件呢
下面将就这个问题做一个简单的描述
一、
Open-Multiple-URLs的源码下载
https://github.com/htrinter/Open-Multiple-URLs
这里需要注意该项目是js项目因此源码编译需要node和npmnpm是node的包管理器应该是类似python和pip的关系
在github上面的项目主页上显示编译需要node版本大于18因此该项目的源码编译是有一定的难度的后面我将会讲到这个问题
二、
Open-Multiple-URLs编译环境的处理
前面提到了Open-Multiple-URLs的编译需要node版本大于18而node安装yum并没有高于18版本的因此需要源码编译node但这里是有一个巨大的坑的那就是npm需要高版本的glibc库以及gcc库和高版本python环境这个就非常困难了
因此稍作总结Open-Multiple-URLs编译需要高版本python至少是3.6版本高版本的glibc至少2.23版本高版本的gcc编译器至少是gcc9
gcc9这个是最好处理的只需要使用gcc的开发包就可以了因此安装devtoolset-9这个就可以了rpm或者yum随便什么形式都可以安装完devtoolset-9后激活一下gcc的变量就可以了
python版本和node的对应关系大概是
python3.6-----node18---glibc2.17
python3.8-----node19---glibc2.23
python3.11----node22---glibc2.28
仅仅是编译一个Open-Multiple-URLs因此我选择python3.6-----node18---glibc2.17这个编译路线python3.6可以使用yum安装这个比较简单yum源配置好就可以了
glibc也可以使用yum源配置好相应的yum源安装就完事了glibc选择使用2.17版本就可以了当然也可以用高一点的这个无所谓 要求glibc版本不低于2.22但是不宜安装过高版本的glibc因为较高版本的glibc依赖于python去整python环境又得费一番功夫所以弄个比2.22稍高一点的2.23版就够了 glibc下载地址http://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gz 下载完毕后将该文件上传到服务器并解压解压后进入解压目录执行以下命令开始编译但编译前最好使用高版本的gcc例如gcc9 [rootcentos10 glibc-2.23]# mkdir build [rootcentos10 glibc-2.23]# cd build/ [rootcentos10 build]# pwd /root/glibc-2.23/build ../configure --prefix/usr --disable-werror make make install ###最终编译成功的最后日志如下 LD_SOld-linux-x86-64.so.2 CCgcc /usr/bin/perl scripts/test-installation.pl /root/glibc-2.23/build/ Your new glibc installation seems to be ok. make[1]: Leaving directory /root/glibc-2.23 [rootcentos10 build]# echo $? 0 中间有两个报错第一个是这个报错(../configure --prefix/usr --disable-werror的时候报的这个哦) Error: loc1GLIBC_2.2.5 cant be versioned to common symbol loc1 Error: loc2GLIBC_2.2.5 cant be versioned to common symbol loc2 Error: locsGLIBC_2.2.5 cant be versioned to common symbol locs 解决方案为 vim ../misc/regexp.c char *loc1 __attribute__ ((nocommon)); char *loc2 __attribute__ ((nocommon)); compat_symbol (libc, loc1, loc1, GLIBC_2_0); compat_symbol (libc, loc2, loc2, GLIBC_2_0); /* Although we do not support the use we define this variable as well. */ char *locs __attribute__ ((nocommon)); loc1loc2locs 后面添加__attribute__ ((nocommon)) 第二个是make install的时候报错等make这个命令 执行完了在执行下面这个解决方案如果不执行下面的解决方案就是下面这个错了~~~~~~~make的时间比较长耐心等待哦 gawk /\.gnu\.glibc-stub\./ { \ sub(/\.gnu\.glibc-stub\./, , $2); \ stubs[$2] 1; } \ END { for (s in stubs) print #define __stub_ s } /opt/glibc-2.23/build/math/stubsT gawk: error while loading shared libraries: /lib64/libm.so.6: invalid ELF header make[2]: *** [/opt/glibc-2.23/build/math/stubs] Error 127 解决方案为 cd /lib64 ###确认一下是否确实make出来了libm-2.23.so [rootcentos10 build]# ls -al /lib64/libm-2.23.so -rwxr-xr-x 1 root root 4218304 Feb 16 23:50 /lib64/libm-2.23.so ###绝对路径 强制链接 [rootcentos10 build]# ln -sf /lib64/libm-2.23.so /lib64/libm.so.6 最终编译成功成功的日志末尾如下 LD_SOld-linux-x86-64.so.2 CCgcc /usr/bin/perl scripts/test-installation.pl /root/glibc-2.23/build/ Your new glibc installation seems to be ok. make[1]: Leaving directory /root/glibc-2.23 [rootcentos10 build]# echo $? 0 等node和npm编译完成后命令输出两者的版本如果正常输出表示环境准备完毕
[rootcentos1 Open-Multiple-URLs-develop]# npm -v
8.8.0
[rootcentos1 Open-Multiple-URLs-develop]# node -v
v18.1.0如果有任何报错那么表示编译不成功需要找到原因重新编译node
假设打印node版本的时候。报错Error: /lib64/libstdc.so.6: version CXXABI_1.3.9‘ not found这个时候先把glibc高版本编译完成后按如下解决
更新libstdc.so.6.0.26
依次执行以下命令下载新lib库文件拷贝到报错的目录当前目录做强制链接wget https://cdn.frostbelt.cn/software/libstdc%2B%2B.so.6.0.26
cp libstdc.so.6.0.26 /usr/lib64/
cd /usr/lib64/
ln -snf ./libstdc.so.6.0.26 libstdc.so.6
二、
Open-Multiple-URLs的编译
以上都准备好后就非常简单了把Open-Multiple-URLs的源码放到服务器上解压后进入解压目录后
先将npm的源更换为国内的淘宝源并稍作验证
npm config set registry https://registry.npmmirror.com/
验证
输出为淘宝源即可
[rootcentos1 ~]# npm config get registry
https://registry.npmmirror.com/开始编译
npm run build:all
输出如下: open-multiple-urls1.6.0 build:allnpm run build:chrome npm run build:firefox open-multiple-urls1.6.0 build:chromeexport TARGETchrome run-p type-check build {} -- open-multiple-urls1.6.0 type-checkvue-tsc --noEmit -p tsconfig.vitest.json --composite false open-multiple-urls1.6.0 buildvite build --sourcemap truevite v4.5.2 building for production...
✓ 31 modules transformed.
dist-chrome/lazyloading.html 0.56 kB │ gzip: 0.34 kB
dist-chrome/browseraction.html 0.64 kB │ gzip: 0.37 kB
dist-chrome/assets/browseraction-c92649d4.css 0.91 kB │ gzip: 0.46 kB
dist-chrome/assets/LazyLoading-c0cd47d9.js 0.86 kB │ gzip: 0.49 kB │ map: 1.33 kB
dist-chrome/assets/_plugin-vue_export-helper-8461c927.js 1.54 kB │ gzip: 0.65 kB │ map: 0.17 kB
dist-chrome/assets/BrowserAction-4e465abe.js 13.22 kB │ gzip: 3.20 kB │ map: 17.70 kB
dist-chrome/assets/vendor-e74b1f13.js 178.56 kB │ gzip: 38.47 kB │ map: 511.31 kB
[vite-plugin-static-copy] Copied 4 items.
✓ built in 1.31s open-multiple-urls1.6.0 build:firefoxexport TARGETfirefox run-p type-check build {} -- open-multiple-urls1.6.0 type-checkvue-tsc --noEmit -p tsconfig.vitest.json --composite false open-multiple-urls1.6.0 buildvite build --sourcemap truevite v4.5.2 building for production...
✓ 31 modules transformed.
dist-firefox/lazyloading.html 0.56 kB │ gzip: 0.34 kB
dist-firefox/browseraction.html 0.64 kB │ gzip: 0.37 kB
dist-firefox/assets/browseraction-c92649d4.css 0.91 kB │ gzip: 0.46 kB
dist-firefox/assets/LazyLoading-c0cd47d9.js 0.86 kB │ gzip: 0.49 kB │ map: 1.33 kB
dist-firefox/assets/_plugin-vue_export-helper-8461c927.js 1.54 kB │ gzip: 0.65 kB │ map: 0.17 kB
dist-firefox/assets/BrowserAction-4e465abe.js 13.22 kB │ gzip: 3.20 kB │ map: 17.70 kB
dist-firefox/assets/vendor-e74b1f13.js 178.56 kB │ gzip: 38.47 kB │ map: 511.31 kB
[vite-plugin-static-copy] Copied 4 items.
✓ built in 1.23s此时当前目录下会编译产出两个文件夹这两个文件夹一个是火狐的插件一个是chrome谷歌的插件谷歌的插件可以用于QQ浏览器这样的chrome内核类型的浏览器
[rootcentos1 Open-Multiple-URLs-develop]# ls -alh dist-*
dist-chrome:
total 48K
drwxr-xr-x 3 root root 164 Jan 5 05:28 .
drwxr-xr-x 7 root root 4.0K Jan 5 03:16 ..
drwxr-xr-x 2 root root 326 Jan 5 05:28 assets
-rw-r--r-- 1 root root 639 Jan 5 05:28 browseraction.html
-rw-r--r-- 1 root root 14K Jan 5 05:28 icon128.png
-rw-r--r-- 1 root root 1.9K Jan 5 05:28 icon16.png
-rw-r--r-- 1 root root 2.0K Jan 5 05:28 icon19.png
-rw-r--r-- 1 root root 4.4K Jan 5 05:28 icon48.png
-rw-r--r-- 1 root root 557 Jan 5 05:28 lazyloading.html
-rw-r--r-- 1 root root 509 Jan 5 05:28 manifest.jsondist-firefox:
total 48K
drwxr-xr-x 3 root root 164 Jan 5 05:28 .
drwxr-xr-x 7 root root 4.0K Jan 5 03:16 ..
drwxr-xr-x 2 root root 326 Jan 5 05:28 assets
-rw-r--r-- 1 root root 639 Jan 5 05:28 browseraction.html
-rw-r--r-- 1 root root 14K Jan 5 05:28 icon128.png
-rw-r--r-- 1 root root 1.9K Jan 5 05:28 icon16.png
-rw-r--r-- 1 root root 2.0K Jan 5 05:28 icon19.png
-rw-r--r-- 1 root root 4.4K Jan 5 05:28 icon48.png
-rw-r--r-- 1 root root 557 Jan 5 05:28 lazyloading.html
-rw-r--r-- 1 root root 442 Jan 5 05:28 manifest.json将以上两个文件夹传到服务器外在Windows环境下就可以导入浏览器插件使用了
三、
浏览器插件的配置
查看浏览器版本 找到浏览器的插件管理 必须进入开发者模式 现在就可以愉快的使用此插件了
附录
本次编译所使用的源码包主要包括Open-Multiple-URLs源码node三个版本glibc的两个版本以及编译生成的可用的火狐和chrome浏览器插件如果有不想编译的同学自己取用
编译工作成功在centos7 x86_64服务器下通过
通过网盘分享的文件浏览器插件Open-Multiple-URLs 链接: https://pan.baidu.com/s/1Z28J4Mbqf8ieaf25xVvQ-Q?pwdnze4 提取码: nze4 --来自百度网盘超级会员v6的分享