@@ -105778,39 +105778,6 @@ req$1.interceptors.request.use(async (config) => {
105778105778* - 自动继承系统代理
105779105779*/
105780105780const reqs = new axios$1.create({ httpsAgent: new https.Agent({ rejectUnauthorized: false }) });
105781- reqs.interceptors.request.use(async (config) => {
105782- if (!config.url) return config;
105783- try {
105784- const proxy = await getSystemProxy();
105785- if (proxy) {
105786- config.httpsAgent = new import_dist$1.HttpsProxyAgent(proxy);
105787- config.proxy = false;
105788- return config;
105789- }
105790- let fullUrl = config.url;
105791- if (config.baseURL && !/^https?:\/\//i.test(fullUrl)) try {
105792- fullUrl = new URL(fullUrl, config.baseURL).toString();
105793- } catch (e) {}
105794- const urlObj = new URL(fullUrl);
105795- const hostname = urlObj.hostname;
105796- if (!hostname || /^(\d{1,3}\.){3}\d{1,3}$/.test(hostname) || hostname === "localhost") return config;
105797- const ip = await resolveDoh(hostname);
105798- if (ip && ip !== hostname) {
105799- if (!config.headers) config.headers = {};
105800- let hasHost = false;
105801- const keys = Object.keys(config.headers);
105802- for (const k of keys) if (k.toLowerCase() === "host") {
105803- hasHost = true;
105804- break;
105805- }
105806- if (!hasHost) config.headers.Host = hostname;
105807- urlObj.hostname = ip;
105808- config.url = urlObj.toString();
105809- if (config.baseURL) delete config.baseURL;
105810- }
105811- } catch (e) {}
105812- return config;
105813- });
105814105781//#endregion
105815105782//#region ../utils/pan/ali.js
105816105783const apiUrl = "https://api.aliyundrive.com";
@@ -114530,15 +114497,6 @@ var QuarkHandler = class {
114530114497 * @returns {Promise<void>}
114531114498 */
114532114499 async initQuark() {
114533- if (this.token) {
114534- let exp = JSON.parse(import_crypto_js.default.enc.Base64.parse(this.token.split(".")[1]).toString(import_crypto_js.default.enc.Utf8));
114535- let now = Math.floor(Date.now() / 1e3);
114536- if (exp.exp < now) console.log("登录状态已过期,重新登录,请及时更换Token");
114537- else {
114538- console.log("登录成功,继续使用,可使用时间截止到:" + (/* @__PURE__ */ new Date(exp.exp * 1e3)).toLocaleString());
114539- console.log("QuarkTV token获取成功:" + this.token);
114540- }
114541- }
114542114500 if (this.cookie) console.log("cookie 获取成功");
114543114501 else console.log("cookie 获取失败");
114544114502 }
@@ -114676,13 +114634,13 @@ var QuarkHandler = class {
114676114634 Object.assign(headers, { Cookie: cookie });
114677114635 method = method || "post";
114678114636 let link = `${this.apiUrl}/${url}`;
114679- const resp = method === "get" ? await req$1 .get(link, { headers }).catch((err) => {
114637+ const resp = method === "get" ? await reqs .get(link, { headers }).catch((err) => {
114680114638 console.error(err.message);
114681114639 return err.response || {
114682114640 status: 500,
114683114641 data: {}
114684114642 };
114685- }) : await req$1 .post(link, data, { headers }).catch((err) => {
114643+ }) : await reqs .post(link, data, { headers }).catch((err) => {
114686114644 console.error(err.message);
114687114645 return err.response || {
114688114646 status: 500,
@@ -114976,40 +114934,6 @@ var QuarkHandler = class {
114976114934 const data = method + "&" + pathname + "&" + timestamp + "&" + key;
114977114935 return import_crypto_js.default.SHA256(data).toString();
114978114936 }
114979- async refreshToken() {
114980- let data = JSON.stringify({
114981- "req_id": reqId,
114982- "app_ver": this.conf.appVer,
114983- "device_id": deviceID,
114984- "device_brand": "OPPO",
114985- "platform": "tv",
114986- "device_name": "PCRT00",
114987- "device_model": "PCRT00",
114988- "build_device": "aosp",
114989- "build_product": "PCRT00",
114990- "device_gpu": "Adreno%20(TM)%20640",
114991- "activity_rect": "%7B%7D",
114992- "channel": this.conf.channel,
114993- "refresh_token": this.token
114994- });
114995- let config = {
114996- method: "POST",
114997- url: "http://api.extscreen.com/quarkdrive",
114998- headers: {
114999- "User-Agent": "Mozilla/5.0 (Linux; U; Android 7.1.2; zh-cn; PCRT00 Build/N2G47O) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1",
115000- "Connection": "Keep-Alive",
115001- "Accept-Encoding": "gzip",
115002- "Content-Type": "application/json",
115003- "Cookie": "sl-session=VIaxTAKF8mdJBhU2uda0zA=="
115004- },
115005- data
115006- };
115007- let req = await axios.request(config);
115008- if (req.status === 200) {
115009- ENV.set("uc_token_cookie", req.data.data.refresh_token);
115010- return await this.getDownload(shareId, stoken, fileId, fileToken, clean);
115011- }
115012- }
115013114937 async getDownload(shareId, stoken, fileId, fileToken, clean) {
115014114938 await this.initQuark();
115015114939 if (!this.saveFileIdCaches[fileId]) {
@@ -115109,8 +115033,72 @@ var QuarkHandler = class {
115109115033 }
115110115034 return null;
115111115035 }
115036+ async getToken() {
115037+ let t = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
115038+ let data = JSON.stringify({
115039+ "conversation_id": "300000" + t,
115040+ "conversation_type": 3,
115041+ "msg_id": t + "000"
115042+ });
115043+ let config = {
115044+ method: "POST",
115045+ url: "https://drive-social-api.quark.cn/1/clouddrive/chat/conv/file/acquire_dl_token?pr=ucpro&fr=pc&sys=darwin&ve=3.19",
115046+ headers: {
115047+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) quark-cloud-drive/3.23.2 Chrome/112.0.5615.165 Electron/24.1.3.8 Safari/537.36 Channel/pckk_other_ch",
115048+ "Connection": "keep-alive",
115049+ "Accept": "application/json, text/plain, */*",
115050+ "Accept-Encoding": "gzip, deflate, br",
115051+ "Content-Type": "application/json",
115052+ "accept-language": "zh-CN",
115053+ "origin": "https://pan.quark.cn",
115054+ "sec-fetch-dest": "empty",
115055+ "sec-fetch-mode": "cors",
115056+ "sec-fetch-site": "cross-site",
115057+ "sec-ch-ua": "\"Not:A-Brand\";v=\"99\", \"Chromium\";v=\"112\"",
115058+ "sec-ch-ua-mobile": "?0",
115059+ "sec-ch-ua-platform": "\"Windows\"",
115060+ "referer": "https://pan.quark.cn/",
115061+ "Cookie": "_UP_A4A_11_=wb9ce1f8a7f74209b248cb5877a6a876; _UP_D_=pc; tfstk=gy2rZY6dQTBPmYbgblDFQOhX71M-pv7_ZJgIxkqnV40oVYZ3gkZN2Da7x2PEoyIJFYbJK2qTkbguRYTFLrko97gIP2kUvPSf5O6_2uHKEN_1C6GsZ4kK-9MhGxcbeD-R5O6_quHKKN__NjmeBVnnK0co-Ejq2qmoxy0oiEmZXv03-yj4mqnnK24nKirmkDDn-ycsi2063cllqNA0iO9nAbugqqJU2-ooaQEoupv33dGrSyg2Kp2q2kJ_DBpNOVVtPfguot9rLomUufNP7LzUxlFngJ8lVP40TymYMwRE7Wq76-GXxG0geo2tnj6Gbo2YPue4AHXncPg028DFIGHrE4DqDJ_vE2P0t8G-pUbEJ-r0EWSz_enc4z2LaeAEZmnq5iSVbveZi_88v3Rp9bFx0VsR2BdKZmnq5iS29BhoDmu10i5..; __uid=AARfyLe8Bke3UGL2FjhvNQn6; __sdid=AATHIp7rA8mvfKhhMvPnt0milUEzXi1ReJN0CjChc4LeUA6qYUdYA32jmaL/Lk2AA4s=; __pus=bd604e2725229c945e994c227de77f1cAASVpc7pXsTooap3JBI0XiJI9JU/JUngO9SJCOIRNOLXngLdOfozAiiwF9CnY/xOiEgE8NvKDDg1ZAwX7nVqe9H2ib5aMTAi+a2DfaPE6/6Won1vUOAfKCNELRmJOeYhVn3/eQUYx6B9EIw9HCYjQoKVh76daPI2lnp3QBTK/5zWGya9rVul08y86xpY3APre7I=; __kp=eb241d80-1ee6-11f1-85bf-6167dfcf1acd; __kuus=NenaSYNIw/O9SzABV2HtnjTDoH5aJthk7nOgDdt9pHeaJmMkCD/TY+jVFIrCn+WeFaQVR9h+E/YoStTBZAtB9va0ghzlZCgNuddki8Z8WOnYug==; __puus=2baf96cce907422be5e242bb1d280977AATi54Q/fKnsA5nM/iG/TZHL12hYZj/ELuUFbEwO/2jIXaSGwmvXppDKCITu73rdsZ1hRR0cY2QRpWdM0o+nFv65fCf5ZwPIaGHvUK9BOg3653jTngpTAj41u8kq5vTIDnPDPGWlYPYiUehDbyYBwxKYl12BFSjonkfKybr3Fpc2TYQcm566OQTrPzsupcOkOoa8CQllYvsoVyEBF2ZpiX/5"
115062+ },
115063+ data
115064+ };
115065+ let html = await axios.request(config);
115066+ if (html.status === 200) return html.data.data.token;
115067+ }
115068+ async getUrl(shareId, stoken, fileId, fileToken) {
115069+ await this.initQuark();
115070+ let token = await this.getToken();
115071+ let data = JSON.stringify({
115072+ "fids": [fileId],
115073+ "fids_token": [fileToken],
115074+ "pwd_id": shareId,
115075+ "stoken": stoken,
115076+ "speedup_session": "",
115077+ "token": token
115078+ });
115079+ let config = {
115080+ method: "POST",
115081+ url: "https://drive-pc.quark.cn/1/clouddrive/file/download?pr=ucpro&fr=pc",
115082+ headers: {
115083+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) quark-cloud-drive/3.20.0 Chrome/112.0.5615.165 Electron/24.1.3.8 Safari/537.36 Channel/pckk_other_ch",
115084+ "Connection": "keep-alive",
115085+ "Accept": "*/*,application/json;charset=utf-8",
115086+ "Accept-Encoding": "gzip, deflate, br, zstd",
115087+ "Content-Type": "application/json",
115088+ "Cookie": "b-user-id=7a421e0c-2ff4-1251-4069-cdfbfedcaf8d; _UP_A4A_11_=wb9cf15ce78d47ed921a9fab3faa85e8; xlly_s=1; __sdid=AAQCvlprpJtHMDSTmliW7CTXaxFJONVhZZyKc8NgJ6Y+XH4iO1v3Q8gYFeEi2hqeV4U=; _UP_D_=pc; __pus=97012d074b8d70d6eeaeb7dbe3fcb05dAAQB4QUahCaghYFA9y/NYud63QbrjWpcO/mp4OgGcA2UZ5O+VMUlfCpacaDzbRBV2O/DK9y9iAFBUL7iPmzdj2d9; __kp=ea759a90-1ed1-11f1-8f67-e7e56f2ee996; __kps=AARfyLe8Bke3UGL2FjhvNQn6; __ktd=axb8KS+96BcSmmEd+gddqg==; __uid=AARfyLe8Bke3UGL2FjhvNQn6; __puus=c6ca8123ab4024f139092c58678de061AATi54Q/fKnsA5nM/iG/TZHLzf8buD1i2D3OKKcgKFxmYvTq9ypLK3mbAQlXFlJz6zEGV7aROE4eXsRbMGviOH4EpwIMv8HZ3UUDPfRoIVsx+mV9xMqXujCxpQR96l9Alpe2B15pFBZl94/lBMSORn+M/cocX9mAe2wX82JvYhQYO46JRC1evvevyyyzaai9ItKcf72BRC6QzioBIic/XHI8; isg=BDg4TjMppS-k-Mk0_qdGtZTlCebKoZwrBz4YK3KgQXMmjdJ3GrWXu63lQY093VQD; tfstk=gTJiuT2wCC5_fZaEErWsOziN8jlKBO6X3EeAktQqTw7Ckctv0ty2knBOgVtv-Z7F2SJA0f_cTUs7_CCZSemDWnwA7NpAns8RR5Rx5qtFmULRuiSqcMkeuUYcGc_AuZYv0CnKeYK6ft62o4H-emTk0mLcbsyaLmScDPod_tj5i4Wqy4HL9k5sWt-TUIxGLH7CmiyNuEWULi7Ubl8V76zFqg6VuE8VTWSRcGPN7N-UTwsV3Z8V3DXFRiXVuEWqxHllpf763pJErkLuNeO_cCsGsa-N7nKvLPWT1nQ33-JHt1brQw243pjM09gPi8cAzQ_Owa8EpRXDYiYhwC0uIEx2VI5HnPo9zeRDuMOIoSbkghdWp6E4_HvcS_JNtoiJ4hs2usAIr8IGBBfkICib8h8RSQW6Du09x_AhNM5Um5W9w3pfadkgPwC5mefJs42MzglbT7y5t-sEDpPbG1SCxapyAdOShopf3Dm3am1NAG_-xDVbG1SCxannx7kf_Ms1y"
115089+ },
115090+ data
115091+ };
115092+ let html = await axios.request(config).catch((e) => e);
115093+ if (html.status === 200) return html.data.data.map((it) => {
115094+ return {
115095+ name: it.video_max_resolution,
115096+ url: it.download_url
115097+ };
115098+ });
115099+ }
115112115100 async testSupport(url, headers) {
115113- const resp = await req$1 .get(url, {
115101+ const resp = await reqs .get(url, {
115114115102 responseType: "stream",
115115115103 headers
115116115104 }).catch((err) => {
@@ -115220,7 +115208,7 @@ var QuarkHandler = class {
115220115208 const start = chunkIdx * chunkSize;
115221115209 const end = Math.min(contentLength - 1, (chunkIdx + 1) * chunkSize - 1);
115222115210 console.log(inReq.id, chunkIdx);
115223- const dlResp = await req$1 .get(url, {
115211+ const dlResp = await reqs .get(url, {
115224115212 responseType: "stream",
115225115213 timeout,
115226115214 headers: Object.assign({ Range: `bytes=${start}-${end}` }, headers)
@@ -393091,9 +393079,6 @@ async function init$2(filePath, env = {}, refresh) {
393091393079 const moduleObject = rule;
393092393080 moduleObject.cost = t2 - t1;
393093393081 moduleObject.context = context;
393094- delete sandbox._asyncGetRule;
393095- delete sandbox.module;
393096- delete sandbox.exports;
393097393082 moduleCache$2.set(hashMd5, {
393098393083 moduleObject,
393099393084 hash: fileHash
@@ -393130,9 +393115,6 @@ async function getRuleObject(filePath, env, refresh) {
393130393115 ruleObject.filterable = ruleObject.hasOwnProperty("filterable") ? Number(ruleObject.filterable) : 0;
393131393116 ruleObject.quickSearch = ruleObject.hasOwnProperty("quickSearch") ? Number(ruleObject.quickSearch) : 0;
393132393117 ruleObject.cost = t2 - t1;
393133- delete sandbox._asyncGetRule;
393134- delete sandbox.module;
393135- delete sandbox.exports;
393136393118 ruleObjectCache$1.set(filePath, {
393137393119 ruleObject,
393138393120 hash: fileHash
@@ -393173,9 +393155,6 @@ async function initJx(filePath, env, refresh) {
393173393155 };
393174393156 const cost = t2 - t1;
393175393157 log(`[initJx] 加载解析:${filePath} 耗时 ${cost}毫秒`);
393176- delete sandbox._asyncGetLazy;
393177- delete sandbox.module;
393178- delete sandbox.exports;
393179393158 jxCache.set(hashMd5, {
393180393159 jxObj,
393181393160 hash: fileHash
0 commit comments