您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
add btn to download book from IPFS('http://library.lol/') on 3lib.net zlib 无限下载脚本 downloadBookFromIPFS,可以从zlib跳到libgen的ipfs下载页 不用买zlib会员 为Z-Library 添加从IPFS(http://library.lol/)下载的跳转按钮
// ==UserScript== // @name downloadBookFromIPFS_zlib 无限下载脚本-skycloud修改优化 // @version 1.4 // @description add btn to download book from IPFS('http://library.lol/') on 3lib.net zlib 无限下载脚本 downloadBookFromIPFS,可以从zlib跳到libgen的ipfs下载页 不用买zlib会员 为Z-Library 添加从IPFS(http://library.lol/)下载的跳转按钮 // @author xiangzi fang skycloud修改 // @match http*://z-lib.org* // @match http*://b-ok.* // @match http*://4lib.* // @match http*://3lib.* // @match http*://2lib.* // @match http*://1lib.* // @match http*://book4you.org/book* // @match http*://1lib.us/* // @include http*://z-lib.org* // @include http*://b-ok.* // @include http*://4lib.* // @include http*://3lib.* // @include http*://2lib.* // @include http*://1lib.* // @include http*://book4you.org/book* // @include http*://1lib.us/* // @grant none // @namespace https://3lib.net/book* // ==/UserScript== (function () { "use strict"; function findCoverImgUrl() { let coverImgUrl = null; let coverImg = document.querySelector(".z-book-cover.covered>img"); console.log(coverImg); if (coverImg) { coverImgUrl = coverImg.src; } console.log("CoverImgurl", coverImgUrl); return coverImgUrl; } function getBookMD5(coverImgUrl) { let bookMD5 = null; if (coverImgUrl) { bookMD5 = coverImgUrl.split("/").pop().split(".")[0]; } console.log("bookMD5", bookMD5); return bookMD5; } function addbtn2librarydotlol(bookMD5) { let bookDeailsBtns = document.querySelectorAll(".book-details-button"); let saveLaterbtn = bookDeailsBtns[bookDeailsBtns.length - 1]; if (bookMD5) { let btnHTML2add = `<div class="book-details-button"> <a class="btn btn-success" href="http://library.lol/main/${bookMD5}" target="_blank" > Download from IPFS </a> </div>`; saveLaterbtn.insertAdjacentHTML("afterend", btnHTML2add); } } function mainWork() { let _coverImgUrl = findCoverImgUrl(); let _bookMD5 = getBookMD5(_coverImgUrl); addbtn2librarydotlol(_bookMD5); } setTimeout(mainWork, 2000); })();