编辑
2024-11-03
技术
0
请注意,本文编写于 393 天前,最后修改于 106 天前,其中某些信息可能已经过时。

目录

前言

前言

Q:这个脚本谁写的? A:不是我写的,脚本里面有注释,但是已经删库了。

Q:有没有什么优化? A:没有,只删除了冗余的重复代码,改了一些函数调用。

Q:怎么使用? A:物理机或者虚拟机上面下个123,自己抓包自己改脚本里面的???,不再提供现成UA。改完丢进油猴里面就行。

bash
// ==UserScript== // @name 123云盘下载辅助 // @namespace https://github.com/Bao-qing/123pan // @version 0.3 // @description 123 Cloud Drive Unlimited Flow // @match https://www.123pan.com/* // @match https://www.123pan.cn/* // @match https://www.123865.com/* // @match https://www.123684.com/* // @grant none // @author Qing // @downloadURL https://update.greasyfork.org/scripts/510621/123%E4%BA%91%E7%9B%98%E4%B8%8B%E8%BD%BD%E8%BE%85%E5%8A%A9.user.js // @updateURL https://update.greasyfork.org/scripts/510621/123%E4%BA%91%E7%9B%98%E4%B8%8B%E8%BD%BD%E8%BE%85%E5%8A%A9.meta.js // ==/UserScript== (function () { const OriginalXHR = window.XMLHttpRequest; const headersToOverride = { "user-agent": "123pan/v2.4.7(Android_??;???)", "platform": "android", "app-version": "69", "x-app-version": "2.4.7" }; function NewXHR() { const xhr = new OriginalXHR(); xhr.open = function (method, url, async, user, password) { this._url = url; return OriginalXHR.prototype.open.call(this, method, url, async, user, password); }; xhr.setRequestHeader = function (header, value) { const lowerHeader = header.toLowerCase(); if (lowerHeader in headersToOverride) { value = headersToOverride[lowerHeader]; } else { console.log('未覆盖的请求头:', header); } return OriginalXHR.prototype.setRequestHeader.call(this, header, value); }; xhr.send = function (...args) { this.addEventListener('readystatechange', function () { if (xhr.readyState === 4 && xhr.status === 200) { try { const responseJSON = JSON.parse(xhr.responseText); console.log('原始响应:', responseJSON); if (responseJSON.data && responseJSON.data.DownloadUrl) { const originUrl = responseJSON.data.DownloadUrl; const newUrlNoRedirect = `${originUrl}&auto_redirect=0`; const base64Data = btoa(newUrlNoRedirect); responseJSON.data.DownloadUrl = `https://web-pro2.123952.com/download-v2/?params=${base64Data}&is_s3=0`; console.log('修改后的 DownloadUrl:', responseJSON.data.DownloadUrl); } const modifiedResponseText = JSON.stringify(responseJSON); Object.defineProperty(xhr, 'responseText', { get: () => modifiedResponseText }); console.log('修改后的响应:', modifiedResponseText); } catch (error) { console.error('修改响应时出错:', error); } } }); return OriginalXHR.prototype.send.apply(this, args); }; return xhr; } window.XMLHttpRequest = NewXHR; })();
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:AsZero

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!