Greasy Fork

来自缓存

Greasy Fork is available in English.

找学习资料大师[电子书搜索神器]支持豆瓣/鸠摩搜书

帮你找到你想要的学习资料,搜索到绝大部分的电子书,支持豆瓣电脑端/手机端,支持鸠摩搜书扩展搜索结果

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name        找学习资料大师[电子书搜索神器]支持豆瓣/鸠摩搜书
// @namespace   ilovexuexi
// @match       *://www.jiumodiary.com/*
// @match       *://m.douban.com/book/subject/*
// @match       *://book.douban.com/subject/*
// @match       *://www.forkdoc.com/Center/prev.asp
// @grant       GM_xmlhttpRequest 
// @connect     *
// @connect     *://*.886889.xyz
// @version     1.6
// @author      -
// @description 帮你找到你想要的学习资料,搜索到绝大部分的电子书,支持豆瓣电脑端/手机端,支持鸠摩搜书扩展搜索结果
// @require     https://cdn.staticfile.org/jquery/1.10.0/jquery.js
// @require     https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/sweetalert2.all.min.js
// @icon        https://www.xuexi.cn/favicon.ico
// ==/UserScript==
(function() {
  var ver = '1.6';
 
  function tips(title,content,force=false){
 

    key = md5(content+ver);
    
    if(force == false){
      
      if(getStorage(key) != 'ok'){

        Swal.fire({
            title: title,
            width:'800px',
            html: content,
            allowOutsideClick:false,
            confirmButtonText: '关闭'
        });

      }  
    }else{
      
        Swal.fire({
            title: title,
            width:'800px',
            html: content,
            allowOutsideClick:false,
            confirmButtonText: '关闭'
        });
      
    }
    
    
    
    setStorage(key, 'ok');
    
  }
  function getStorage(key) {
      return localStorage.getItem(key)
  }

  function setStorage(key, value) {
      return localStorage.setItem(key, value)
  }
  
  function get_book_id(url) {
    let re = /\/subject\/(\d+)/g;
    let matches = re.exec(url);

    if (matches && matches.length > 1) {
      return parseInt(matches[1]);
    }
  }
  function getExt(fileName) {
    var fileExtension = fileName.split('.').pop().toUpperCase();
    return fileExtension;
  }

  function formatBytes($size) {
    $units = new Array(' B', ' KB', ' MB', ' GB', ' TB');
    for ($i = 0; $size >= 1024 && $i < 4; $i++) {
      $size /= 1024;
    }
    return $size.toFixed(2) + $units[$i];
  }
 
  function getNowFormatDate() {
    var date = new Date();
    var seperator1 = "-";
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
      month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
      strDate = "0" + strDate;
    }
    var currentdate = year + seperator1 + month + seperator1 + strDate;
    return currentdate;
  }
  
 
  
  $(document).on('click', '#addnew', function() {

 

    url = "https://ops.886889.xyz/addnew.php?ver=" + ver;
    
    //console.log($("#addnewform").serialize());

    GM_xmlhttpRequest({

      method: "POST",

      url: url,
      
      data :$("#addnewform").serialize(),

      headers: {

        "Referer": "https://www.baidu.com/"

      },

      onload: function(res) {
 
      console.log($("#addnewform").serialize());
        if (res.status == 200) {

          $res = $.parseJSON(res.response);
          
          console.log($res);
          
          if($res.status == 'success'){
            
            $('[name="md5"]').val('');
            //$('[name="name"]').val('');
            $('[name="ext"]').val('');
            
          }
          
          alert($res.msg);


        } else {

          alert('无响应');

        }
      }

    });

  });
  
  
  
  var urlstr = decodeURI(location.href);
  
  n = urlstr.search("//www.forkdoc.com/Center/prev.asp");
  
  
  if(n !== -1){
    
    $result = $.parseJSON($('body').html());
    
    if($result.type == 200){
      
      if(confirm('转存成功需要跳转到你的主页查看吗?')){
         
         window.location.href= "//www.forkdoc.com/Center/ownfiles.asp";

      }
      
    }else{
      
      alert('啊哦,转存失败了,自己看看错误代码吧,如果是未登录请重新登录后重试')
    }
    
  }else{
    
    GM_xmlhttpRequest({

      method: "POST",

      url: 'https://ops.886889.xyz/tips.php?ver='+ver,
      
      data :$("#addnewform").serialize(),

      headers: {

        "Referer": "https://www.baidu.com/"

      },

      onload: function(res) {
 
        if (res.status == 200) {

          $res = $.parseJSON(res.response);
          
          if($res.ver > ver){
            
            $message = '不能使用的版本,正在使用的版本为'+ver+',已发布的最新版本为'+$res.ver+'。请尽快升级到最新版本。点击确定或取消均会跳转至最新的下载页面';
            
            if(confirm($message)){
              
              window.location.href=$res.update_url;
              
            }else{
              
              window.location.href=$res.update_url;

            }

            return false;
          }
          
          //console.log($res);
          
          if($res.status == 'success'){
            
             n = urlstr.search("//m.douban.com/book/subject/");

            if(n !== -1){
              
 
      
               $template = 

               '<div id="">'+
                 '<section data-reactroot="" class="sub-vendor">'+
                   '<span class="vendor-text" style="font-size:12px;color:white;">' + $res.msg + '</span>'+
                   '<span class="vendor-go-app"></span>'+
                 '</section>'+
              '</div>';

               $('#subject-rating-root').after($template);
             }else{
              tips($res.title,$res.msg,$res.force);
              
            }
            
            
            
            
            
            if($res.share == true){
              $('#share_tips').css('display','block');
              $('#addnewform').css('display','block');
              
            }

          }
          
        } else {

          console.log('无响应');

        }
      }

    });
  }
  ///手机版
  n = urlstr.search("//m.douban.com/book/subject/");
  
  if(n !== -1){
 
    
    id = get_book_id(urlstr);

    //console.log(id)

    $('#tips').remove();

    if (id != undefined) {
//       $name = $.trim($(".sub-detail").find('.sub-title').text());
//       var $insertHtml =
//         '<div class="gray_ad buyinfo" id="downinfo">' +
//         '<div class="buyinfo-printed" id="buyinfo-printed">' +
//         '<h2><span>在哪儿下载这本书</span>&nbsp;·&nbsp;·&nbsp;·&nbsp;·&nbsp;·&nbsp;·</h2>' +
//            '<div class="" id="share_tips" style="display:none;">'+
//               '如果你在FK上传了这个文件,欢迎共享'+
//           '</div>'+
//           '<form id="addnewform" style="display:none;"><input type="hidden" name="id" value="'+id+'">'+
//           '<input type="text" name="md5" placeholder="输入文件md5">'+
//           '<input type="text" name="name"  value="'+$name+'" readonly="readonly">'+
//           '<select name="ext"><option value="">请选择……</option><option value="mobi">mobi</option><option value="epub">epub</option><option value="azw3">azw3</option><option value="pdf">pdf</option></select>'+
//           //'<div class="market-banner"><div class="actions"><a class="j buy-btn buy" ></a></div></div>'+
//           '<br><span class="rec"><a style="background-color: #F39300;color:#fff;" href="javascript:;" id="addnew" class="j lnk-sharing lnk-douban-sharing">补充</a></span><hr></form>'+
//         '<ul class="bs current-version-list" id="downlist">' +
//         '</ul>' +
//         '</div>' +
//         '</div>';

//       $("#subject-rating-root").before($insertHtml);
 
      $('.vendors-link-group').before('<div id="load"><h3 style="color:green;">加载中……</h3><img width="32" src="https://img3.doubanio.com/f/talion/326df52f00a7dd43b9d23e2bbc7b7d3de5b9fd9e/pics/card/loading_green.gif"></div>');


      url = "https://ops.886889.xyz/db.php?ver=" + ver + "&id=" + id;

      GM_xmlhttpRequest({

        method: "GET",

        url: url,

        headers: {

          "Referer": "https://www.baidu.com/"

        },
        
        onload: function(res) {
          
          console.log(res);

          $('#load').html('');

          if (res.status == 200) {

            $res = $.parseJSON(res.response);

            $search = $res.info;
            
            
            
            

            if ($res.status == 'error') {

              $('.vendors-link-group').before('<h3 style="color:red;">没有结果</h3>');

              return;
            }
            
            
            
            
            

            $.each($search, function(i, item) {

              $form =
                '<form name="input" action="https://www.forkdoc.com/Center/prev.asp" method="POST" target="_blank"  id="' + item['md5'] + '">' +
                '<input type="hidden" name="fileName" value="' + item['name'] + '">' +
                '<input type="hidden" name="md5" value="' + item['md5'] + '">' +
                '<input type="hidden" name="fileMd5" value="18566e6a5533048283348e9a3ee629fc">' +

                '</form>';
              
              $template = 
                
              '<div id="">'+
                '<section data-reactroot="" class="sub-vendor">'+
                  '<span class="vendor-text" style="font-size:12px;">' + item['name'] + '</span>'+
                  '<span class="vendor-go-app" onclick="document.getElementById(\'' + item['md5'] + '\').submit();return false;">转存('+formatBytes(item['size']) +')</span>'+
                '</section>'+
              '</div>';

              // $template = '<li>' +
              //   '<div class="cell price-btn-wrapper">' +
              //   '<div class="vendor-name"><a href="javascript:void(0);"><span>' + item['name'] + '</span></a></div>' +
              //   '<div class="cell impression_track_mod_buyinfo">' +
              //   '<div class="cell price-wrapper"><a href="javascript:void(0);"><span class="buylink-price ">' + formatBytes(item['size']) + '</span></a></div>' +
              //   '<div class="cell"><a onclick="document.getElementById(\'' + item['md5'] + '\').submit();return false;" class="buy-book-btn e-book-btn"><span>转存</span></a></div>' +
              //   '</div>' +
              //   '</div>' +
              //   '</li>';
              $('.vendors-link-group').before($template + $form);

            });

          } else {

            alert('无响应');

          }
        }

      });

    } 
    
  }
  
 
  
  
  
  
  
  n = urlstr.search("//book.douban.com/subject/");
  
  if(n !== -1){
    
    id = get_book_id(urlstr);

    //console.log(id)

    $('#dale_book_subject_top_right').remove();

    if (id != undefined) {
      $name = $("[property='v:itemreviewed']").text()+'-'+$.trim($('#info .pl:contains(作者)').next().text());
      var $insertHtml =
        '<div class="gray_ad buyinfo" id="downinfo">' +
        '<div class="buyinfo-printed" id="buyinfo-printed">' +
        '<h2><span>在哪儿下载这本书</span>&nbsp;·&nbsp;·&nbsp;·&nbsp;·&nbsp;·&nbsp;·</h2>' +
           '<div class="" id="share_tips" style="display:none;">'+
              '如果你在FK上传了这个文件,欢迎共享'+
          '</div>'+
          '<form id="addnewform" style="display:none;"><input type="hidden" name="id" value="'+id+'">'+
          '<input type="text" name="md5" placeholder="输入文件md5">'+
          '<input type="text" name="name"  value="'+$name+'" readonly="readonly">'+
          '<select name="ext"><option value="">请选择……</option><option value="mobi">mobi</option><option value="epub">epub</option><option value="azw3">azw3</option><option value="pdf">pdf</option></select>'+
          //'<div class="market-banner"><div class="actions"><a class="j buy-btn buy" ></a></div></div>'+
          '<br><span class="rec"><a style="background-color: #F39300;color:#fff;" href="javascript:;" id="addnew" class="j lnk-sharing lnk-douban-sharing">补充</a></span><hr></form>'+
        '<ul class="bs current-version-list" id="downlist">' +
        '</ul>' +
        '</div>' +
        '</div>';

      $("#buyinfo").before($insertHtml);
 
      $('#downlist').append('<h3 style="color:green;">加载中……</h3><img src="https://www.jiumodiary.com/images/loading_bright.gif">');

      url = "https://ops.886889.xyz/db.php?ver=" + ver + "&id=" + id;

      GM_xmlhttpRequest({

        method: "GET",

        url: url,

        headers: {

          "Referer": "https://www.baidu.com/"

        },
        
        onload: function(res) {

          $('#downlist').html('');

          if (res.status == 200) {

            $res = $.parseJSON(res.response);

            $search = $res.info;

            if ($res.status == 'error') {

              $('#downlist').append('<h3 style="color:red;">没有结果</h3>');

              return;
            }

            $.each($search, function(i, item) {

              $form =
                '<form name="input" action="https://www.forkdoc.com/Center/prev.asp" method="POST" target="_blank"  id="' + item['md5'] + '">' +
                '<input type="hidden" name="fileName" value="' + item['name'] + '">' +
                '<input type="hidden" name="md5" value="' + item['md5'] + '">' +
                '<input type="hidden" name="fileMd5" value="18566e6a5533048283348e9a3ee629fc">' +

                '</form>';

              $template = '<li>' +
                '<div class="cell price-btn-wrapper">' +
                '<div class="vendor-name"><a href="javascript:void(0);"><span>' + item['name'] + '</span></a></div>' +
                '<div class="cell impression_track_mod_buyinfo">' +
                '<div class="cell price-wrapper"><a href="javascript:void(0);"><span class="buylink-price ">' + formatBytes(item['size']) + '</span></a></div>' +
                '<div class="cell"><a onclick="document.getElementById(\'' + item['md5'] + '\').submit();return false;" class="buy-book-btn e-book-btn"><span>转存</span></a></div>' +
                '</div>' +
                '</div>' +
                '</li>';
              $('#downlist').append($template + $form);

            });

          } else {

            alert('无响应');

          }
        }

      });

    } 
    
  }





  ///////////////////////jiumo



  $(document).on('click', '#SearchButton', function() {


    SearchWord = $('#SearchWord').val();

    url = "https://ops.886889.xyz/search.php?ver=" + ver + "&wd=" + SearchWord;

    GM_xmlhttpRequest({

      method: "GET",

      url: url,

      headers: {

        "Referer": "https://www.baidu.com/"

      },

      onload: function(res) {



        if (res.status == 200) {

          $res = $.parseJSON(res.response);

          $search = $res.info;

          //console.log($res)
          
          timer = setInterval(function() {

            if ($('#result-ul').find('.span-host').length >= 1) {

              if ($res.status == 'error') {

                $('#result-ul div:eq(0)').before('<h1 style="color:red;" class="zhuancun">没有结果</h1>');

                if ($('.zhuancun').length > 0) {
                  clearInterval(timer);
                }

                return;
              }

              $.each($search, function(i, item) {

                $form =
                  '<form name="input" action="https://www.forkdoc.com/Center/prev.asp" method="POST" target="_blank"  id="' + item['md5'] + '">' +
                  '<input type="hidden" name="fileName" value="' + item['name'] + '">' +
                  '<input type="hidden" name="md5" value="' + item['md5'] + '">' +
                  '<input type="hidden" name="fileMd5" value="18566e6a5533048283348e9a3ee629fc">' +

                  '</form>';

                $html =
                  '<div>' +
                  '<a style="cursor: pointer;" onclick="document.getElementById(\'' + item['md5'] + '\').submit();return false;">' +
                  '<span style="font-size: 18px; font-family: arial,sans-serif;">' + item['name'] + '<span></span></span>' +
                  '</a>' +
                  '</div>' +
                  '<div class="span-des">分享时间: ' + getNowFormatDate() + ', 文件大小: ' + formatBytes(item['size']) + ' </div>' +
                  '<div class="span-host" style="font-weight: bold; font-size: 13px;">ForkDoc' +
                  '<span style="margin-left: 10px;">' +
                  '<a onclick="document.getElementById(\'' + item['md5'] + '\').submit();return false;" style="cursor:pointer;color: grey;font-size: 12px;" class="zhuancun">转存</a>' +
                  '</span>' +
                  '</div>';
                $('#result-ul div:eq(0)').before($html + $form);

                $ext = getExt(item['name']);

                $dom = $('#' + $ext);


                if ($dom.length == 1) {

                  $count_text = $dom.text();

                  $strs = $count_text.split("(")[1];

                  $format_num = $strs.replace(')', ' ');

                  $format_num = parseInt($format_num) + 1;

                  $dom.text($ext + '(' + $format_num + ')')
                }

              });

              if ($('.zhuancun').length > 0) {
                clearInterval(timer);
              }

            } else {
              //console.log('不再执行');
              //clearInterval(timer);
            }
          }, 2000);


        } else {

          alert('无响应');

        }
      }

    });

  });
})();