Greasy Fork

百度网盘不限速解析-速链解析站

复活?可用?不限制?不限速? 一款百度网盘不限速解析脚本,支持Motrix、idm、Aria下载器下载,速度快就完事啦!

// ==UserScript==
// @name         百度网盘不限速解析-速链解析站
// @description  复活?可用?不限制?不限速? 一款百度网盘不限速解析脚本,支持Motrix、idm、Aria下载器下载,速度快就完事啦!
// @version      1.0
// @antifeature  membership
// @antifeature  ads
// @antifeature  tracking
// @license      MIT
// @author       huan_kong
// @icon         data:image/x-icon;base64,AAABAAEAY2MAAAEAGABcegAAFgAAACgAAABjAAAAxgAAAAEAGAAAAAAANHoAABIXAAASFwAAAAAAAAAAAACoZt25heG7ieC8jN29j9q/ktbBldPDmM/FmsvHncfJoMHLorvNpbTQp63SqaXUq5rWrI3YrnrcrmTer1jgsFjisVjisljisljisljis1jitFjitFjitVjitVjitljjt1jjuFjjuFjjuVjiuljiuljjvFjjvFjjvljjvljjv1jjwFjjwVjjwljjw1jjxFjjxVjixljix1niyV3iymLiy2fizGzizXHiz3bi0Hvh0YHh0ofg1I7g1ZLg15Tg2Jjg2Jnh2J3h15/i16Hi16Ti16bi16ni1qvi1qzi1q7j1rDj1rLj1rTj1rbj1bjj1Lrj1Lzj1L7j1L/j1MDk08Lk0sPk0sXk0cfj0cnj0crj0Mvjz8zjz87jz8/jztHjzdLjzdPjzNTiytXbvs4AAACyeeP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gx9QAAAC3gOb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jy9UAAAC2fuf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jy9UAAAC1fej////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jzNQAAAC0e+n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jzdMAAAC0een////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jzdIAAAC0d+v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jzdIAAACzduv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jzdEAAACydez////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jztEAAACydO3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jzs8AAACycu3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jz88AAACyce3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jz84AAACxcO7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jz80AAACxcO7////////////////////////////////////////////////////16uT79ez////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z7Pjz7/j////////////////////////////////////////////////////////////////////j0MwAAACxbu/////////////////////////////////////////////IpPKiXP/ar4TtxDnh03z9+/j////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y6OKlXOujY/+0nP+xqv/n5fT////////////////////////////////////////////////////////////j0MsAAACwbu/////////////////////////////////////////NvfS+nv////3////////19tfc07j////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////69efPhxzz7Pn////////48/+opv/r6vb////////////////////////////////////////////////////////j0csAAACwbu/////////////////////////////////////49vuysP/////////////////////27+vj09X07e707u317e317e307e307O307O306+306+306u306u3z6e3z6O3z5+3z5+3z5+zz6Ozz6Oz06ez06uv06+v17Or17en27ej27ub37+T47+H48Nz58Nv58Nv58dv58dv58dz58dz58t358t358975897589/59OD59OD59OH59eP59uX59uf49uj59+n59+r59uv59uz59u359u359u759u/59vD59vH59fDdv1n99b/////////////////8+P+tpf3////////////////////////////////////////////////////////j0coAAACwbe/////////////////////////////////////i3PTX3////////////////////////+m9pduMgf+Ugv+SfP+RdP+Qa/+NZP+LXP+JVf+GS/+FQf+DOP9/Lv9+Iv97Ef96Cv96Dv99FP9/Hf+BKP+GM/yMP/KSSueZVtiiYsesa6+1dJG/e1fJfwjSggDUhQDThQDThwDUiwDUjQDTkADUkgDUlgDUmQDVnQDVoQDUpgDUqQDUrhLSsibRuD7QvlTQw1/Rw2nSwnPTwnvTwYPUwIvVv5LVvZnVvKDWu6fRsKHbz5v///////////////////////+wlv/8+/3////////////////////////////////////////////////////j0ckAAACwbO/////////////////////////////////////p5ffP1v///////////////////////um9ocSUgPidg+6cfu2bd+yacOyYauuWY+qUXeqSVemRTemPReiMPeeLM+eJJeaIH+aII+WKKOOMMOCOOdySQ9WXTc2cV8OiYbeqa6iyc5S6e3vCgUrLhQfSiADUigDTiwDTjQDUkADUkgDTlQDUlwDUmwDUngDUoQDUpQDTqQDTrArTsR3StS/RukTQv1fQw2HRw2rSwnPTwnrTwYLUwInVv4/VvpbVvZzWvKHSsqDaxa3///////////////////////+cVf/9/P3////////////////////////////////////////////////////j0cgAAACwbO////////////////////////////////////////+rnfz9/f3////////////////u3KyljdK3qfzx7f328/328v318v318f318P318P317/317v307f307f307P306v306v306v306/z07Pz07Pz17fv17vr27/n28Pj38ff48vX58/P58+769Oj79Of79Of79Of79Of79ef79ef79ef79ef79uf79uf79uf79+f79+f79+j7+Or7+Ov7+e37+e/7+fD7+fH7+fL7+fL7+fP7+fT7+fT7+fX7+fb7+fb7+Pfm09Xv5dz////////////////p2+ytbOv////////////////////////////////////////////////////////j0ccAAACwbO/////////////////////////////////////////r5v2iZ+3fw/f79/X78tPr3Hm0o62YiP7y7/3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ew8vs4db7+/X8+urw25rapEX7+Pr////////////////////////////////////////////////////////j0sYAAACwbO/////////////////////////////////////////////x6P26hfXXqoHuyGnQwqSVj/+fjvXEt/T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////s3d/k1cLg2Z/p1oz////////////////////////////////////////////////////////////////k0sUAAACxb+/////////////////////////////////////////////////////////////////HxP+hkO+fie/Gt/X////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////k0sQAAACxce/////////////////////////////////////////////////////////////////////NxPefie+dg+7FtPT////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////k0sMAAACyc+/////////////////////////////////////////////////////////////////////////Ow/eehO6cfu3FsPT////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j0sEAAACydfD////////////////////////////////////////////////////////////////////////////Qw/ecfu2bd+zEq/T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////k08EAAACyd/D////////////////////////////////////////////////////////////////////////////////Qwvabd+yacOzCp/P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////k08AAAACyefD////////////////////////////////////////////////////////////////////////////////////QwPaacOyYauvBo/P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1L8AAACze/D////////////////////////////////////////////////////////////////////////////////////////PvPaYauuWY+rAoPP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1L4AAACzffD////////////////////////////////////////////////////////////////////////////////////////////PufaWZOqUXeq/m/L////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1L4AAAC0fvD////////////////////////////////////////////////////////////////////////////////////////////////Ot/WUXeqSVem+lvL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1L0AAAC0f/D////////////////////////////////////////////////////////////////////////////////////////////////////NtPWSVemRTem9kvH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1LsAAAC0gfH////////////////////////////////////////////////////////////////////////////////////////////////////////NsPWRTemPRei8jfH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1LoAAAC0g/H////////////////////////////////////////////////////////////////////////////////////////////////////////////MrfWPReiMPee7h/H////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1LoAAAC1hPH////////////////////////////////////////////////////////////////////////////////////////////////////////////////LqfSMPeeLM+e6f/D////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1bgAAAC1hfH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KpfSLM+eJJea5e/D////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1rYAAAC2hvH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////JoPSJJeaIH+a5fvD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1rYAAAC2iPH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ImvOIH+aII+W6ge/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1rUAAAC2ivH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Il/OII+WKKOO7he3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1rQAAAC3i/L////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ImvOKKOOMMOC9i+r////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1rIAAAC3jPL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////JnPKMMOCOOdy/kOf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1rIAAAC3jvL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Kn/GOOdySQ9XCluL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j1rAAAAC4j/L////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Lo++SQ9WXTc3FnNz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////i1q8AAAC4kPL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////NqOyXTc2cV8PIotX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////i1q4AAAC4kvL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////PreicV8OiYbfNp8v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////i16wAAAC4k/L////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////RseOiYbeqa6jRrMD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////i16wAAAC4lfP////////////////////////////////////////////////9/P/x4tn67df////////////////////////////////////////////////////////////////////////////////////////////////////Ut96qa6iyc5XXs63////////79vH+/Pj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+fr8+fL////////////////////////////////////////////////////////////////////i16sAAAC5lvP////////////////////////////////////////////Lq/alXvXXr6vswlvjzVPz8fD////////////////////////////////////////////////////////////////////////////////////////////////Yu9ezdJTGiFS9hbSobP/On6PovUfh0nz9+/f////////////////////////////////////////////////////////////////////////////////////////////////////////17vqkYv27frTosTjhyVf2787////////////////////////////////////////////////////////////i16kAAAC5l/P////////////////////////////////////////Wz/29mvH///z////////8+uLn0oD9/P3////////////////////////////////////////////////////////////////////////////////////////////////GkZWjZpKshP3z6v/////////y89ba0bX////////////////////////////////////////////////////////////////////////////////////////////////////8+/2Wafvjzfr////////59+bl5JPw5u/////////////////////////////////////////////////////////i16gAAAC5mPP////////////////////////////////////9/f6xrf7/////////////////////+eTXwsjb1Pzd1Pnd0vnc0PjczvjbzPjbyfjax/jZxPfZwvfYv/fXvPfXuffWtPbWsvbWs/bXtfXXuPTYu/PZvvHbwu7dxerfyObZvNWxdI2oj+X////////////////////y8v/hxqbw16fw2qfw26fw3Kfw3qfw36fw4Kfw4afw4qrw5LHv5bfv577v6cXv6sjv6szv6s/w6tHw6tTw6dbx6djx6dvx6N3x6N7y6N+5qurk4//////////////////////awcj////////////////////////////////////////////////////////i16cAAAC6mfP////////////////////////////////////w7fnL0/////////////////////////rLsc6VfvCdg++cfu2bd+yacOyYauuWY+qUXeqSVemRTemPReiMPeeLM+eJJeaIH+aII+WKKOOMMOCOOdySQ9WXTc2cV8OiYbesZpyeZ57MzPv////////////////////////XrIDRhwDTlADUlwDUmwDUngDUoQDUpQDTqQDTrArTsR3StS/RukTQv1fQw2HRw2rSwnPTwnrTwYLUwInVv4/VvpbVvZzXvZ/QsqC/tOT////////////////////////kzdP9/Pv////////////////////////////////////////////////////i16UAAAC6m/P////////////////////////////////////39fzAxv////////////////////////PHrMKVf/WvmvGvl/CukfCti/Csh++qge6pfO6ndu2mb+2laeyiYuyhWuygT+ufSuufTeqgUeiiWOakX+OnZ92rb9evd8+0f8W9ha+xhq/Kx/f////////////////////////VrIPRhwDbqC/cqzHcrjHcsTHcszHctjHbujHbvDnbwEjbw1fax2jZy3fZz3/az4fbzo7bzpTbzZrczKDdy6Xdyqrdyq/fyrHZwrS5reb////////////////////////iydH9/Pz////////////////////////////////////////////////////i2KQAAAC6m/P///////////////////////////////////////+4rfzt5fr////////////////15a2rksnh2/7///////////////////////////////////////////////////////////////////////////////////////////////+vo/n8+//////////////////s6/XPmDb258v////////////////////////////////////////////////////////////////////////////////////////////LwfXa0P3////////////////59u7hy8P////////////////////////////////////////////////////////i2KMAAAC7nfP////////////////////////////////////////49/+kbe7RqvX27u77787q2n63p6KYh/vs6Pz////////////////////////////////////////////////////////////////////////////////////////////////t6v6ia+7ky/f//v/++u7q6LnPq0/WjxT///////////////////////////////////////////////////////////////////////////////////////////////////+nffLRrPn27/r/+dzy557Zy4j7+ff////////////////////////////////////////////////////////i2KEAAAC7nvP//////////////////////////////////////////////v/ElvrTp5juxWfp3bKopP+ejvmmkO/t6fz////////////////////////////////////////////////////////////////////////////////////////////////v5f20effRoozpw1XgwmPQhQDVjQDlvmX///////////////////////////////////////////////////////////////////////////////////////////////////++i/jAiK7fqkXdwGj8+/b////////////////////////////////////////////////////////////i2J8AAAC7n/P////////////////////////////////////////////////////////////////4+P+unvSfie+ghu7t6Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////rx4rUkQDUkgDlwGj////////////////////////////////////////////////////////////////////////////////////////////////////iyM7VrsHs3uT////////////////////////////////////////////////////////////////h2J4AAAC8oPP////////////////////////////////////////////////////////////////////5+P6smfGdhO6fgu3t5vz////////////////////////////////////////////////////////////////////////////////////////////////////////////////rzIrUkgDTlQDlwWj////////////////////////////////////////////////////////////////////////////////////////////////lztPYtc3p2Nj////////////////////////////////////////////////////////////////h2J0AAAC8ofP////////////////////////////////////////////////////////////////////////5+P6rlfCcfu2ee+3t5fz////////////////////////////////////////////////////////////////////////////////////////////////////////////////rzYrTlQDUlwDmxGj////////////////////////////////////////////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////h2JsAAAC8ovP////////////////////////////////////////////////////////////////////////////59/6qkO+bd+yddO3s5Pv////////////////////////////////////////////////////////////////////////////////////////////////////////////////rzorUlwDUmwDlxWf////////////////////////////////////////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////h2JkAAAC9o/T////////////////////////////////////////////////////////////////////////////////59/6piu+acOybbuzs4vv////////////////////////////////////////////////////////////////////////////////////////////////////////////////r0IrUmwDUngDlx2f////////////////////////////////////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////g2JgAAAC9pfT////////////////////////////////////////////////////////////////////////////////////59v6nhO+YauuYZ+rr4fv////////////////////////////////////////////////////////////////////////////////////////////////////////////////r0YrUngDUogDlyWf////////////////////////////////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////g2JYAAAC9pvT////////////////////////////////////////////////////////////////////////////////////////59v6mfu6WZOqXYerr4Pv////////////////////////////////////////////////////////////////////////////////////////////////////////////////r0orUoQDUpQDlzGf////////////////////////////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////g2JUAAAC+p/T////////////////////////////////////////////////////////////////////////////////////////////49v6kee2UXeqVWerr3vv////////////////////////////////////////////////////////////////////////////////////////////////////////////////r1IrUpQDTqQDlzm3////////////////////////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////g2JMAAAC+qPT////////////////////////////////////////////////////////////////////////////////////////////////49f6jc+2SVemUUerq3fv////////////////////////////////////////////////////////////////////////////////////////////////////////////////r1ovTqQDTrArl0Xj////////////////////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////g15EAAAC+qvT////////////////////////////////////////////////////////////////////////////////////////////////////49f6hbOyRTemSSenq2/v////////////////////////////////////////////////////////////////////////////////////////////////////////////////r2IvTrArTsR3k04L////////////////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////g1o8AAAC+qvX////////////////////////////////////////////////////////////////////////////////////////////////////////49P6gZeyPReiPQujq2fv////////////////////////////////////////////////////////////////////////////////////////////////////////////////r2pDTsR3StS/k1pD////////////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////g1Y4AAAC+q/X////////////////////////////////////////////////////////////////////////////////////////////////////////////49P6eX+uMPeeOOOjp1/r////////////////////////////////////////////////////////////////////////////////////////////////////////////////r3JnStS/RuUTj2Zv////////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////g1IwAAAC+rPX////////////////////////////////////////////////////////////////////////////////////////////////////////////////48/6dWOqLM+eMKufp1vr////////////////////////////////////////////////////////////////////////////////////////////////////////////////r3aDRuUTQv1fj26H////////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////g1IgAAAC/rfX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////48/2bT+qJJeaLJOfp1vr////////////////////////////////////////////////////////////////////////////////////////////////////////////////q36rQv1fQw2Hk26b////////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////g04UAAAC/rvX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////48v2ZQ+mIH+aLKObp1/r////////////////////////////////////////////////////////////////////////////////////////////////////////////////q4rPQw2HRw2rk26z////////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////h0oEAAAC/sPX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////48f2YPumII+WNLeTq2fn////////////////////////////////////////////////////////////////////////////////////////////////////////////////q5LfRw2rSwnPl27D////////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////h0n0AAAC/sPX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////48f2YQemKKOOPNeHq2/n////////////////////////////////////////////////////////////////////////////////////////////////////////////////q5LvSwnPTwnrl2rT////////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////h0XkAAAC/sfX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////48f2aRueMMOCRPt3r3Pf////////////////////////////////////////////////////////////////////////////////////////////////////////////////r47/TwnrTwYLl2bn////////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////h0HYAAADAsvX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////48v2cTOSOOdyVR9bs3vb////////////////////////////////////////////////////////////////////////////////////////////////////////////////r48PTwYLUwInm2bz////////////////////////////kzNHYtcfp2Nf////////////////////////////////////////////////////////////////hz3MAAADAtPb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////48v2eVOGSQ9WZUc7t4PT////////////////////////////////////////////////////////////////////////////////////////////////////////////////r48bUwInVv4/m2MD////////////////////////ky9LYtcfp2Nf////////////////////////////////////////////////////////////////iz3AAAADBtfb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////48/2hXtuXTc6eW8Tu4vL////////////////////////////////////////////////////////////////////////////////////////////////////////////////r4snVwI/Vvpbm2MT////////////////////lzdXYtsfp2Nf////////////////////////////////////////////////////////////////izm0AAADBtvb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////59PymZtWcV8OkZbnw4+v////////////////////////////////////////////////////////////////////////////////////////////////////////////////s4szVvpbVvZzp2MH////////////////kzMPWscjp2Nf////////////////////////////////////////////////////////////////izWoAAADBtvb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////59fyqb8uiYbevbJrw6O/////////////////////////////////////////////////////////////////////////////////////////////////////////////////s4c/VvZzYvZ/l1Mb39Pn49Pvr29LfxsHRr+nr2+X////////////////////////////////////////////////////////////////izGYAAADBuPb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////59fuvd8Kqa6i5eIPw6O7////////////////////////////////////////////////////////////////////////////////////////////////////////////////s4dLVvKLVuKfmyp3my6Gvdsq6fIXUmEvjz6n////////////////////////////////////////////////////////////////iy2QAAADBuPb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////69vu2gLWzc4/Gi17x5ez////48/n8+/r////////////////////////////////////////////////////////////////////////////////////////////////////s4dXcwKLVuqWdYdiwc//ly8/44I7hz1/m3bf////////////////////////////////////////////////////////////iy2EAAADBuvb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////69vq8h6m9fGu3bUm1eOa2kf+5s//Dwfv8+/n////////////////////////////////////////////////////////////////////////////////////////////////x5NKsjM/Itf/////////////////l2Ljx5uL////////////////////////////////////////////////////////iyV0AAADBuvb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7+PrLjUTdtIT////////////q7P+ut//+/fz///////////////////////////////////////////////////////////////////////////////////////////////+1sv/////////////////////////fxcz////////////////////////////////////////////////////////iyVsAAADCvPf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////n0l7///7////////////////h4//Uze/////////////////////////////////////////////////////////////////////////////////////////////5+fy7wP/////////////////////////gx9P////////////////////////////////////////////////////////iyVgAAADCvff////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////38+7x+LX///////////////////////++q/v////////////////////////////////////////////////////////////////////////////////////////////+/v6tp//////////////////////9+/rgyMr////////////////////////////////////////////////////////ix1gAAADCvvf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////69vbw6s/////////////////////17f+1gvf////////////////////////////////////////////////////////////////////////////////////////////////QyP3Ep/L///3////////////ezp/27+3////////////////////////////////////////////////////////ix1gAAADDvvf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////n1M/+/vn////////////////Mqffavfb////////////////////////////////////////////////////////////////////////////////////////////////////BnPSoYvTfwMHw0IHcxlfu6c/////////////////////////////////////////////////////////////ixlgAAADDv/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7+Pnfxcn28Oj+//v9+uvu0oTetoP////////////////////////////////////////////////////////////////////////////////////////////////////////////x5v/ly8nz3LX9/Pb////////////////////////////////////////////////////////////////ixlgAAADDwfj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/P3q2tjl2sPk25rw37D////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ixVgAAADDwfj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ixVgAAADDwvj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jxFgAAADDw/j////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jw1gAAADExPj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jw1gAAADExfj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jwlgAAADExvj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jwVgAAADEx/j////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jwVgAAADEyfn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jwVkAAADAxPn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////hu00AAAC2uvbEyPnEyPnExvnExPjCwvjCwPjCvvjCvPjBuvjBt/bAtfTBt/TBtvS+sfq8rf68q/q+qvK+qPO+p/K9pfK8o/K8ofK8n/K7nvK6nPK6m/K6mfG5l/G5lvG4lPG4kvG4kPG3jvG3i/G2iPC1hfC1gvG0f/CzffGyefGydfGxcfKva/GtZvCtZvCtZ/CtZ/GuaPOua/evbfaycu2xc/GxdfKyePGze++0fe61f+y3gum5hue5iOO6i9+8jtu/kdbBlNLDl8zGmsbIncDKn7rMobLQpKnSpp/UqJPWqoLYq23drVfhr1fks1fmtVfjslfisVfisVfisFfisVfis1fis1fis1fitFfjtVfjtlfjt1fiuFfiuVfiuVfjulfju1fjvVjjvlfcsTEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
// @require      https://registry.npmmirror.com/jquery/3.7.1/files/dist/jquery.min.js
// @resource     https://registry.npmmirror.com/sweetalert2/11.10.3/files/dist/sweetalert2.min.css
// @require      https://registry.npmmirror.com/sweetalert2/11.10.3/files/dist/sweetalert2.all.min.js
// @grant        GM_xmlhttpRequest
// @grant        GM_setClipboard
// @match        *://pan.baidu.com/disk/home*
// @match        *://yun.baidu.com/disk/home*
// @match        *://pan.baidu.com/disk/main*
// @match        *://yun.baidu.com/disk/main*
// @connect      pan.baidu.com
// @connect      yun.baidu.com
// @connect      gitee.com
// @connect      sl.hvxi.cn
// @connect      127.0.0.1
// @namespace    https://sl.hvxi.cn/
// ==/UserScript==

;(async () => {
  'use strict'

  // 配置常量
  const CONFIG = {
    SERVER_URL: 'https://gitee.com/operror/sljb/raw/master/server',
    DEFAULT_PWD: '6666',
    APP_ID: '250528',
    CLIENT_TYPE: '0',
    TIMEOUT: 15000,
  }

  // 状态管理
  const StateManager = (() => {
    let userInfo = null
    let downloadLinks = []
    let currentLinkIndex = 0
    let sConfig = null

    return {
      getUserInfo: () => userInfo,
      setUserInfo: (info) => (userInfo = info),
      getDownloadLinks: () => downloadLinks,
      setDownloadLinks: (links) => (downloadLinks = links),
      getCurrentLinkIndex: () => currentLinkIndex,
      setCurrentLinkIndex: (index) => (currentLinkIndex = index),
      getSConfig: () => sConfig,
      setSConfig: (config) => (sConfig = config),
    }
  })()

  // 工具类
  const Utils = {
    async sendRequest(method, url, data = null) {
      const options = {
        method,
        url,
        timeout: CONFIG.TIMEOUT,
        onload: (response) => {
          console.log('请求成功:', response)
          try {
            const result = JSON.parse(response.responseText)
            if (!result.code || result.code === 200) return result
            throw new Error(result.message)
          } catch (e) {
            if (e instanceof SyntaxError) return response.responseText
            throw new Error(e.message)
          }
        },
        onerror: (error) => {
          console.log('请求失败:', error)
          throw new Error('网络请求失败')
        },
        ...(method === 'POST'
          ? {
              data: JSON.stringify(data),
              headers: { 'Content-Type': 'application/json' },
            }
          : {}),
      }

      console.log('请求发起:', { method, url, data })
      return await new Promise((resolve, reject) => {
        GM_xmlhttpRequest({
          ...options,
          onload: (resp) => resolve(options.onload(resp)),
          onerror: (error) => reject(options.onerror(error)),
        })
      })
    },

    getBdsToken() {
      const match = /"bdstoken":"(\w+)"/.exec($('html').html())
      return match ? match[1] : null
    },

    extractShortUrl(link) {
      const match = /https:\/\/pan\.baidu\.com\/s\/([a-zA-Z0-9-_]+)/.exec(link)
      return match ? match[1] : null
    },

    showLoading(title, data) {
      console.log(title, data)
      return Swal.fire({
        title,
        allowOutsideClick: false,
        showConfirmButton: false,
        didOpen: () => Swal.showLoading(),
      })
    },
  }

  // 下载管理器
  class DownloadManager {
    async showLinks() {
      const links = StateManager.getDownloadLinks()
      const index = StateManager.getCurrentLinkIndex()

      Swal.fire({
        title: '下载链接获取成功',
        html: `
                  <div class="download-link" style="border: 1px solid #ddd; padding: 10px; margin-bottom: 10px;">
                      <a href="${links.urls[index]}" target="_blank">下载链接:${links.urls[index].substring(0, 50)}...</a>
                  </div>
                  <div class="ua-info" style="border: 1px solid #ddd; padding: 10px; margin-top: 10px;">
                      当前的UA: ${links.ua}
                  </div>`,
        showConfirmButton: false,
        allowOutsideClick: false,
        didOpen: () => {
          document.querySelector('#CopyLink').addEventListener('click', this.copyLink.bind(this))
          document.querySelector('#SendLink').addEventListener('click', this.sendToAria2.bind(this))
          document.querySelector('#ChangeLink').addEventListener('click', this.changeLink.bind(this))
        },
        footer: `
                  <div style="margin: 0 auto;">
                      <button id="CopyLink" class="u-button nd-file-list-toolbar-action-item u-button--primary">复制下载链接</button>
                      <button id="SendLink" class="u-button nd-file-list-toolbar-action-item u-button--primary">发送到Aria2</button>
                      <button id="ChangeLink" class="u-button nd-file-list-toolbar-action-item u-button--primary">更换下载链接</button>
                  </div>`,
      })
    }

    async copyLink() {
      const links = StateManager.getDownloadLinks()
      const index = StateManager.getCurrentLinkIndex()

      GM_setClipboard(links.urls[index])
      await Swal.fire({ title: '系统通知', html: '下载链接已复制', timer: 1500, showConfirmButton: false })
      this.showLinks()
    }

    async sendToAria2() {
      const links = StateManager.getDownloadLinks()
      const index = StateManager.getCurrentLinkIndex()

      try {
        const aria2Config = {
          jsonrpc: '2.0',
          method: 'aria2.addUri',
          id: Date.now(),
          params: ['token:', [links.urls[index]], { header: [`User-Agent: ${links.ua}`] }],
        }

        const data = await $.ajax({
          method: 'POST',
          url: 'http://127.0.0.1:6800/jsonrpc',
          data: JSON.stringify(aria2Config),
          contentType: 'application/json',
        })

        if (data.error) throw new Error(data.error.message || '推送失败')

        await Swal.fire({ title: '成功', html: 'Aria2推送成功', timer: 1500, showConfirmButton: false })
      } catch (error) {
        await Swal.fire({ title: '失败', html: `Aria2推送失败: ${error.message}`, timer: 1500, showConfirmButton: false })
      }
      this.showLinks()
    }

    async changeLink() {
      const links = StateManager.getDownloadLinks()
      const index = StateManager.getCurrentLinkIndex()

      if (index < links.urls.length - 1) {
        StateManager.setCurrentLinkIndex(index + 1)
        this.showLinks()
      } else {
        StateManager.setCurrentLinkIndex(0)
        await Swal.fire({ title: '系统通知', html: '已经是最后一个链接了哦~已自动回到第一个链接', timer: 1500, showConfirmButton: false })
        this.showLinks()
      }
    }
  }

  // DOM操作
  const DOMHandler = {
    addDownloadButton() {
      const toolbarSelector = 'div.wp-s-agile-tool-bar__header'
      const buttonId = 'SPEED-Down'

      const createButton = () => {
        const button = document.createElement('button')
        Object.assign(button, {
          id: buttonId,
          className: 'u-button nd-file-list-toolbar-action-item u-button--primary',
          innerText: '速链极速下载',
        })
        Object.assign(button.style, {
          marginRight: '8px',
          backgroundColor: '#ff436a',
          color: 'white',
          border: 'none',
          borderRadius: '50px',
          width: '115px',
        })
        button.addEventListener('click', handleDownloadButton)
        return button
      }

      const tryAddButton = () => {
        if (document.getElementById(buttonId)) return
        const toolbar = document.querySelector(toolbarSelector)
        if (!toolbar) {
          setTimeout(tryAddButton, 100)
          return
        }
        toolbar.prepend(createButton())
      }

      tryAddButton()
    },

    getSelectedFileIds() {
      const selectors = [
        '.wp-s-pan-table__body-row.mouse-choose-item.selected',
        '.wp-s-file-grid-list__item.text-center.cursor-p.mouse-choose-item.is-checked',
        '.wp-s-file-contain-list__item.text-center.cursor-p.mouse-choose-item.is-checked',
      ]
      return Array.from(document.querySelectorAll(selectors.join(','))).map((item) => parseFloat(item.getAttribute('data-id')))
    },
  }

  // API调用
  const API = {
    async fetchUserInfo() {
      const response = await Utils.sendRequest('GET', `https://pan.baidu.com/rest/2.0/membership/user/info?method=query&clienttype=${CONFIG.CLIENT_TYPE}&app_id=${CONFIG.APP_ID}`)
      response.bdstoken = Utils.getBdsToken()
      return response.user_info
    },

    async shareFiles(selectedIds) {
      const response = await $.ajax({
        method: 'POST',
        url: `https://pan.baidu.com/share/set?channel=chunlei&bdstoken=${StateManager.getUserInfo().bdstoken}&clienttype=${CONFIG.CLIENT_TYPE}&app_id=${CONFIG.APP_ID}&web=1`,
        data: {
          period: 1,
          pwd: CONFIG.DEFAULT_PWD,
          eflag_disable: true,
          channel_list: '[]',
          schannel: 4,
          fid_list: JSON.stringify(selectedIds),
        },
      })
      return Utils.extractShortUrl(response.link)
    },

    async getFileList(surl, password) {
      const response = await Utils.sendRequest('POST', `${StateManager.getSConfig().server}/api/v1/user/parse/get_file_list`, {
        dir: '/',
        surl,
        pwd: CONFIG.DEFAULT_PWD,
        parse_password: password,
      })
      return response.data
    },

    async getDownloadLinks(randsk, uk, shareid, fs_id, surl, password) {
      const response = await Utils.sendRequest('POST', `${StateManager.getSConfig().server}/api/v1/user/parse/get_download_links`, {
        randsk,
        uk,
        shareid,
        fs_id,
        surl,
        dir: '/',
        pwd: CONFIG.DEFAULT_PWD,
        token: 'guest',
        parse_password: password,
        rand2: '油猴脚本',
      })
      return response.data[0]
    },
  }

  // 主逻辑
  async function init() {
    if (window.location.pathname === '/disk/home') {
      window.location.replace('/disk/main')
      return
    }

    try {
      const SCONFIG = await Utils.sendRequest('GET', CONFIG.SERVER_URL)
      StateManager.setSConfig(SCONFIG.config)
      StateManager.setUserInfo(await API.fetchUserInfo())
      DOMHandler.addDownloadButton()
    } catch (error) {
      Swal.fire({
        title: '初始化失败',
        html: '无法连接服务器,请检查网络状况',
        icon: 'error',
      })
    }
  }

  async function handleDownloadButton() {
    try {
      const selectedIds = DOMHandler.getSelectedFileIds()

      if (!selectedIds.length) throw new Error('请先选择需要解析下载的文件')
      if (selectedIds.length > 1) throw new Error('一次只能解析一个文件哦~')
      if ($('tr.selected img[src*="ceH8M5EZYnGhnBKRceGqmaZXPPw2xbO+1x"]').length) {
        throw new Error('暂不支持文件夹解析')
      }

      const { value: password } = await Swal.fire({
        title: '输入解析密码',
        input: 'password',
        inputLabel: `解析密码在群公告 ${StateManager.getSConfig().qun} 获取`,
        inputPlaceholder: '请输入解析密码',
        inputAttributes: { maxlength: 30, autocapitalize: 'off', autocorrect: 'off' },
      })

      if (!password) throw new Error('需要输入解析密码')

      Utils.showLoading('正在创建分享链接...', { selectedIds })
      const surl = await API.shareFiles(selectedIds)

      Utils.showLoading('正在获取文件信息...', { surl, password })
      const fileInfo = await API.getFileList(surl, password)

      Utils.showLoading('正在获取下载链接...', { fileInfo, selectedIds, surl, password })
      const links = await API.getDownloadLinks(fileInfo.randsk, fileInfo.uk, fileInfo.shareid, selectedIds, surl, password)

      console.log('获取下载链接成功:', { links })

      StateManager.setDownloadLinks(links)
      StateManager.setCurrentLinkIndex(0)

      const manager = new DownloadManager()
      manager.showLinks()
    } catch (error) {
      Swal.fire({
        title: '操作失败',
        html: error.message || '未知错误',
        icon: 'error',
      })
    }
  }

  // 启动脚本
  await init()
})()