├── Lightroom.js ├── Pdfexpert.js ├── README.md ├── buy_itunes.js ├── cyxy.js ├── drafts.js ├── kuwo.js ├── moji.js ├── pdfviewer.js ├── photoshop.js ├── picsart.js ├── snailreading.js ├── ulike.js ├── vsco.js └── xunjiepdf.js /Lightroom.js: -------------------------------------------------------------------------------- 1 | /* 2 | hostname=photos.adobe.io 3 | 4 | http-response ^https:\/\/photos\.adobe\.io\/v2\/accounts requires-body=1,script-path=https://raw.githubusercontent.com/primovist/ScriptsForSurge/master/Scripts/Lightroom.js 5 | 6 | 转载From TG群组NobyDA Script 7 | */ 8 | 9 | body = $response.body.replace(/while.{7}\n/, ""); 10 | let obj = JSON.parse(body); 11 | obj.entitlement.status="subscriber"; 12 | obj.current_subs={ 13 | "product_id": "lightroom", 14 | "store": "adobe", 15 | "purchase_date": "2019-10-10T16:32:10.254954Z", 16 | "sao": { 17 | "inpkg_CCES": "0", 18 | "inpkg_CCLE": "1", 19 | "inpkg_CCSN": "0", 20 | "inpkg_CCSV": "0", 21 | "inpkg_LCCC": "0", 22 | "inpkg_LPES": "0", 23 | "inpkg_LRBRL": "0", 24 | "inpkg_LRMAC": "0", 25 | "inpkg_LRMC": "0", 26 | "inpkg_LRMP": "0", 27 | "inpkg_LRTB": "0", 28 | "inpkg_PHLT": "0", 29 | "inpkg_PHLT2": "0", 30 | "inpkg_PLES": "0", 31 | "storage_quota": "100" 32 | } 33 | }; 34 | obj.entitlement.storage={ 35 | "used": 0, 36 | "limit": 1154487209165, 37 | "display_limit": 1099511627776, 38 | "warn": 992137445376 39 | }; 40 | obj.avatar.placeholder=true; 41 | body = JSON.stringify(obj); 42 | $done({body}); -------------------------------------------------------------------------------- /Pdfexpert.js: -------------------------------------------------------------------------------- 1 | var obj= { 2 | "originalTransactionId": "20000618444996", 3 | "subscriptionState": "trial", 4 | "isInGracePeriod": false, 5 | "subscriptionExpirationDate": "13:15 03/11/2099", 6 | "subscriptionAutoRenewStatus": "autoRenewOn", 7 | "isEligibleForIntroPeriod": false, 8 | "isPDFExpert6User": false, 9 | "subscriptionReceiptId": "1572178404000" 10 | }; 11 | $done({body: JSON.stringify(obj)}); 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Scripts 2 | Surge/QX Scripts 3 | -------------------------------------------------------------------------------- /buy_itunes.js: -------------------------------------------------------------------------------- 1 | let body= $response.body; 2 | let obj = JSON.parse(body); 3 | if (body.indexOf("expires") != -1) { 4 | obj["receipt"]["in_app"][0]["expires_date"] = "2099-10-19 05:14:18 Etc/GMT"; 5 | obj["receipt"]["in_app"][0]["expires_date_pst"] = "2099-10-18 22:14:18 America/Los_Angeles"; 6 | obj["receipt"]["in_app"][0]["expires_date_ms"] = "4096019658000"; 7 | obj["latest_receipt_info"][0]["expires_date"] = "2099-10-19 05:14:18 Etc/GMT"; 8 | obj["latest_receipt_info"][0]["expires_date_pst"] = "2099-10-18 22:14:18 America/Los_Angeles"; 9 | obj["latest_receipt_info"][0]["expires_date_ms"] = "4096019658000"; 10 | } 11 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /cyxy.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body) 2 | obj.pay_type = 1 3 | obj.total_doc_translate_remain = 1 4 | obj.is_allow = true 5 | obj.pay_detail.free_download_times_remain = 1 6 | obj.pay_detail.backing.backer_num = 1 7 | obj.pay_detail.backing.required_num = 0 8 | $done({body: JSON.stringify(obj)}) 9 | -------------------------------------------------------------------------------- /drafts.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj= { 4 | "active_expires_at" : "2099-01-01T00:00:00Z", 5 | "is_subscription_active" : true, 6 | "active_subscription_type" : "premium", 7 | "is_blocked" : false 8 | }; 9 | 10 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /kuwo.js: -------------------------------------------------------------------------------- 1 | /* 2 | KuWo music unlock vip 3 | 4 | QX1.0.0: 5 | ^https?:\/\/vip1\.kuwo\.cn\/(vip\/v2\/user\/vip|vip\/spi/mservice) url script-response-body https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Kuwo.js 6 | 7 | Surge4.0: 8 | http-response ^https?:\/\/vip1\.kuwo\.cn\/(vip\/v2\/user\/vip|vip\/spi/mservice) requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Kuwo.js 9 | http-request ^https?:\/\/musicpay\.kuwo.cn\/music\.pay\?uid=\d+ script-path=https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/KuWoMusicDownload.js 10 | 11 | MITM = vip1.kuwo.cn 12 | */ 13 | 14 | var body = $response.body; 15 | var url = $request.url; 16 | var obj = JSON.parse(body); 17 | 18 | const vip = '/vip/v2/user/vip'; 19 | const time = '/vip/spi/mservice'; 20 | 21 | if (url.indexOf(vip) != -1) { 22 | obj.data["isNewUser"] = "2"; 23 | obj.data["vipLuxuryExpire"] = "1835312949000"; 24 | obj.data["time"] = "1961170340993"; 25 | obj.data["isYearUser"] = "2"; 26 | obj.data["vipmExpire"] = "1835312949000"; 27 | obj.data["vipOverSeasExpire"] = "1835312949000"; 28 | obj.data["vipExpire"] = "1835312949000"; 29 | obj.data["vip3Expire"] = "1835312949000"; 30 | body = JSON.stringify(obj); 31 | } 32 | 33 | if (url.indexOf(time) != -1) { 34 | obj["isVIPMAutoPay"] = 2; 35 | obj["isVIPLuxAutoPay"] = 2; 36 | body = JSON.stringify(obj); 37 | } 38 | 39 | $done({body}); 40 | -------------------------------------------------------------------------------- /moji.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body) 2 | for(let i = 0; i < obj.result.result.length; i++) 3 | { 4 | obj.result.result[i]["privilege"]["purchaseDate"] = "1589631265675" 5 | obj.result.result[i]["privilegeStatus"] = "activated" 6 | } 7 | $done({body: JSON.stringify(obj)}) 8 | -------------------------------------------------------------------------------- /pdfviewer.js: -------------------------------------------------------------------------------- 1 | var body = $response.body; 2 | var obj = JSON.parse(body); 3 | obj["subscriber"]["subscriptions"]["com.pspdfkit.viewer.sub.pro.months.3"]["unsubscribe_detected_at"] = null; 4 | obj["subscriber"]["subscriptions"]["com.pspdfkit.viewer.sub.pro.months.3"]["expires_date"] = "2099-11-11T00:00:00Z"; 5 | obj["subscriber"]["entitlements"]["sub.pro"]["expires_date"] = "2099-11-11T00:00:00Z"; 6 | body = JSON.stringify(obj); 7 | $done({body}) -------------------------------------------------------------------------------- /photoshop.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | 3 | obj.mobileProfile.profileStatus = 'PROFILE_AVAILABLE'; 4 | 5 | obj.mobileProfile.legacyProfile = '{}'; 6 | obj.mobileProfile.relationshipProfile = '{}'; 7 | 8 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /picsart.js: -------------------------------------------------------------------------------- 1 | //^https:\/\/api\.meiease\.cn\/(users\/show\/me\.json$|shop\/subscription\/validate) 2 | 3 | let obj = JSON.parse($response.body) 4 | let url = $request.url; 5 | 6 | const path1 = "users/show/me.json" 7 | const path2 = "shop/subscription/validate" 8 | 9 | if(url.indexOf(path1) != -1) { 10 | obj.verified_type = "subscribed" 11 | obj.subscription.granted = true 12 | } 13 | if(url.indexOf(path2) != -1) { 14 | obj.response.status = "SUBSCRIPTION_PURCHASED" 15 | obj.response.expire_date = 4070880000000 16 | obj.response.subscription_id = "com.picsart.studio.subscription_yearly" 17 | obj.response.is_trial = false 18 | obj.reason = "purchased" 19 | } 20 | $done({body: JSON.stringify(obj)}) -------------------------------------------------------------------------------- /snailreading.js: -------------------------------------------------------------------------------- 1 | /* 2 | Netease snail reading unlock vip 3 | 4 | QX: 5 | ^https?:\/\/p\.du\.163\.com\/gain\/readtime\/info\.json url script-response-body https://raw.githubusercontent.com/NobyDa/Script/master/QuantumultX/File/wnyd.js 6 | 7 | Surge4: 8 | http-response ^https?:\/\/p\.du\.163\.com\/gain\/readtime\/info\.json requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/NobyDa/Script/master/QuantumultX/File/wnyd.js 9 | 10 | Surge & QX MITM = p.du.163.com 11 | */ 12 | 13 | var body = $response.body; 14 | var obj = JSON.parse(body); 15 | 16 | obj.tradeEndTime = 4070880000000; 17 | body = JSON.stringify(obj); 18 | $done({body}); -------------------------------------------------------------------------------- /ulike.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | obj.data["end_time"] = 3725012184 3 | obj.data["start_time"] = 1579094492 4 | obj.data["flag"] = true 5 | obj.data["is_first_subscribe"] = false 6 | obj.data["is_cancel_subscribe"] = false 7 | $done({body: JSON.stringify(obj)}); 8 | -------------------------------------------------------------------------------- /vsco.js: -------------------------------------------------------------------------------- 1 | let body = $response.body; 2 | let obj = JSON.parse(body); 3 | obj["subscriber"]["subscriptions"]["VSCOANNUAL"]["unsubscribe_detected_at"] = null; 4 | obj["subscriber"]["subscriptions"]["VSCOANNUAL"]["expires_date"] = "2099-11-11T00:00:00Z"; 5 | obj["subscriber"]["entitlements"]["membership"]["expires_date"] = "2099-11-11T00:00:00Z"; 6 | body = JSON.stringify(obj); 7 | $done({body}) -------------------------------------------------------------------------------- /xunjiepdf.js: -------------------------------------------------------------------------------- 1 | //https:\/\/app\.xunjiepdf\.com\/api\/v4\/(resumerole|memprofile|virtualactregister) 2 | 3 | const path1 = "resumerole"; 4 | const path2 = "memprofile"; 5 | const path3 = "virtualactregister"; 6 | 7 | const url = $request.url; 8 | let obj = JSON.parse($response.body); 9 | 10 | if(url.indexOf(path1) != -1) { 11 | obj = { 12 | "message": "success", 13 | "userinfo": { 14 | "nowtime": 1574925918, 15 | "vip": [ 16 | { 17 | "id": 9068211, 18 | "auth_type": 1, 19 | "auth_value": 4070880000 20 | } 21 | ] 22 | }, 23 | "code": 10000 24 | }; 25 | 26 | } 27 | if(url.indexOf(path2) != -1) { 28 | let info = { 29 | "id": 9067247, 30 | "auth_type": 1, 31 | "auth_value": 4070880000 32 | } 33 | obj.userinfo.vip.splice(0,1, info); 34 | } 35 | if(url.indexOf(path3) != -1) { 36 | //obj.userinfo.accounttype = 1; 37 | obj.userinfo.vip = [ 38 | { 39 | "id": 9319985, 40 | "auth_type": 1, 41 | "auth_value": 4070880000 42 | } 43 | ] 44 | } 45 | $done({body: JSON.stringify(obj)}); --------------------------------------------------------------------------------