├── Adguard.js ├── Adguard.rsp ├── Appmonitor.js ├── Bright.rsp ├── CamScaner.js ├── Faded.js ├── Fantastical.js ├── Gyroscope.vip.js ├── Lightroom.js ├── MuscleBooster.js ├── Ncov.js ├── Pdfexpert.vip.js ├── QuantumultX ├── Fake_Local-workingcopy.txt ├── Fake_Vip.txt ├── Quantumult_Fakevip_LangKhach.txt ├── Quantumult_Fakevip_LangKhach_Remote.txt └── Quantumult_Fakevip_LangKhach_workingcopy.txt ├── Sharp:3D Pro.js ├── Surge ├── DataFlow.js ├── IAP_PREMIUM_LangKhach_Release.conf ├── IAP_Premium_LangKhach.conf ├── Outbound Mode.js ├── appprice.js ├── dnspod.js ├── modules │ ├── GameMod.sgmodule │ ├── Old_iPA_Downloader.sgmodule │ └── Q-Search.sgmodule ├── ncov.js ├── nextdns_linkedip.js ├── old_ipa.js ├── rules │ ├── Antirevoke.list │ ├── Apple.list │ ├── AppleTV.list │ ├── Applenew.list │ ├── BlockOTA.list │ ├── Direct.list │ ├── Facebook.list │ ├── GoogleDrive.list │ ├── HBO.list │ ├── Kakaotalk.list │ ├── MyViettel.list │ ├── Netflix.list │ ├── Speedtest.list │ ├── Spotify.list │ ├── YouTubeMusic.list │ └── Youtube.list ├── servers │ ├── Ads.list │ ├── Appcake.list │ ├── Final.list │ └── winscribe.list └── weather.js ├── Terminus.js ├── Textnow.js ├── Unfold.vip.js ├── VideoStar.js ├── altstore.js ├── appprice.js ├── beautyplusvip.js ├── blinkist.js ├── boom.vip.rsp ├── busuu.vip.js ├── calm.vip.js ├── camera360.vip.js ├── cleancacheulysses.js ├── dayone.js ├── dayone.surge.js ├── documents.js ├── draft.js ├── drops.js ├── duolingo.js ├── elevate.vip.js ├── elsa-header.js ├── elsa-response.js ├── endel.js ├── grammarly.js ├── instasize.vip.js ├── itranslate.js ├── jibjab.vip.js ├── kinemaster.js ├── lingokids.vip.js ├── memrise.vip.js ├── mimo.vip.js ├── mondly.vip.js ├── monkey.js ├── musicalm.js ├── musixmatch.miao.js ├── nhaccuatui.js ├── nichi.js ├── nomo.js ├── over.vip.js ├── photoshop.js ├── picsArt.vip.js ├── planner5d.js ├── playerxtreme.js ├── productive.js ├── proxy.js ├── pushover.js ├── quanx.js ├── remove-nonematch.js ├── revenuecat.js ├── shopee_checkin.js ├── shopee_cookie.js ├── shred.js ├── sololearn.js ├── speak&translate.js ├── splice.js ├── study.txt ├── syn.me.js ├── ulike.js ├── ulysses.js ├── verify_receipt.js ├── videoshow.vip.js ├── vivavideo.vip.js ├── vsco.js ├── weather.js ├── workingcopy.js ├── youtube.surge.js ├── zingmp3.downloadsong.js ├── zingmp3.getsong.js ├── zingmp3.js └── zingtvvipv1.js /Adguard.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | obj={"products":[{"product_id":"com.adguard.lifetimePurchase","premium_status":"ACTIVE"}]}; 3 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Adguard.rsp: -------------------------------------------------------------------------------- 1 | {"products":[{"product_id":"com.adguard.lifetimePurchase","premium_status":"ACTIVE"}]} -------------------------------------------------------------------------------- /Appmonitor.js: -------------------------------------------------------------------------------- 1 | 2 | let isQuantumultX = $task != undefined; 3 | let isSurge = $httpClient != undefined; 4 | // http 5 | var $task = isQuantumultX ? $task : {}; 6 | var $httpClient = isSurge ? $httpClient : {}; 7 | // cookie读写 8 | var $prefs = isQuantumultX ? $prefs : {}; 9 | var $persistentStore = isSurge ? $persistentStore : {}; 10 | // 11 | var $notify = isQuantumultX ? $notify : {}; 12 | var $notification = isSurge ? $notification : {}; 13 | // #endregion 14 | 15 | // #region 16 | if (isQuantumultX) { 17 | var errorInfo = { 18 | error: '' 19 | }; 20 | $httpClient = { 21 | get: (url, cb) => { 22 | var urlObj; 23 | if (typeof (url) == 'string') { 24 | urlObj = { 25 | url: url 26 | } 27 | } else { 28 | urlObj = url; 29 | } 30 | $task.fetch(urlObj).then(response => { 31 | cb(undefined, response, response.body) 32 | }, reason => { 33 | errorInfo.error = reason.error; 34 | cb(errorInfo, response, '') 35 | }) 36 | }, 37 | post: (url, cb) => { 38 | var urlObj; 39 | if (typeof (url) == 'string') { 40 | urlObj = { 41 | url: url 42 | } 43 | } else { 44 | urlObj = url; 45 | } 46 | url.method = 'POST'; 47 | $task.fetch(urlObj).then(response => { 48 | cb(undefined, response, response.body) 49 | }, reason => { 50 | errorInfo.error = reason.error; 51 | cb(errorInfo, response, '') 52 | }) 53 | } 54 | } 55 | } 56 | if (isSurge) { 57 | $task = { 58 | fetch: url => { 59 | return new Promise((resolve, reject) => { 60 | if (url.method == 'POST') { 61 | $httpClient.post(url, (error, response, data) => { 62 | if (response) { 63 | response.body = data; 64 | resolve(response, { 65 | error: error 66 | }); 67 | } else { 68 | resolve(null, { 69 | error: error 70 | }) 71 | } 72 | }) 73 | } else { 74 | $httpClient.get(url, (error, response, data) => { 75 | if (response) { 76 | response.body = data; 77 | resolve(response, { 78 | error: error 79 | }); 80 | } else { 81 | resolve(null, { 82 | error: error 83 | }) 84 | } 85 | }) 86 | } 87 | }) 88 | 89 | } 90 | } 91 | } 92 | // #endregion 93 | 94 | // #region cookie 95 | if (isQuantumultX) { 96 | $persistentStore = { 97 | read: key => { 98 | return $prefs.valueForKey(key); 99 | }, 100 | write: (val, key) => { 101 | return $prefs.setValueForKey(val, key); 102 | } 103 | } 104 | } 105 | if (isSurge) { 106 | $prefs = { 107 | valueForKey: key => { 108 | return $persistentStore.read(key); 109 | }, 110 | setValueForKey: (val, key) => { 111 | return $persistentStore.write(val, key); 112 | } 113 | } 114 | } 115 | // #endregion 116 | 117 | // #region 118 | if (isQuantumultX) { 119 | $notification = { 120 | post: (title, subTitle, detail) => { 121 | $notify(title, subTitle, detail); 122 | } 123 | } 124 | } 125 | if (isSurge) { 126 | $notify = function (title, subTitle, detail) { 127 | $notification.post(title, subTitle, detail); 128 | } 129 | } 130 | // #endregion 131 | 132 | /* 133 | //30 7-22/1 * * * AppMonitor.js 134 | apps=["1443988620:hk","1443988620/us","1443988620-uk","1443988620_jp","1443988620 au"] 135 | /:|_- 136 | */ 137 | console.log("AppMonitor"); 138 | let apps=["1135811739","1466411180","730712409","1423330822","1441195209","364901807","1210079064","1457369322","1410006908","1504491325","1483387513","738897668","1047223162","1463342498","1459055246","438596432","1442620678","1497324992","453170202","355460798","1116905928","1373567447","1312014438","990591885","1141312799","1073473333","432850144","896694807","1434207799","924695435","680469088","869346854","935754064","1035331258","904237743","946930094","1373567447","916366645","1382419586","1299735217","1460078746","333710667","1049254261","1489780246","1407367202","436577167","1481018071","1315744137","1436650069","980368562","1007355333","1126386264","492648096","950519698","317107309","539397400","1444671526","1416894836","1117998129","1462386180","558818638","691121579","1474856599","436577167","641613694","1312014438","1416894836","1117998129","1462386180","558818638","691121579","1474856599","436577167","641613694","1312014438","1443988620"];//appid 139 | let reg="vn";//:us cn hk 140 | let notifys=[]; 141 | format_apps(apps); 142 | function format_apps(x) { 143 | let apps_f={}; 144 | x.forEach((n)=>{ 145 | if(/^[a-zA-Z0-9:/|\-_\s]{1,}$/.test(n)) 146 | { 147 | n=n.replace(/[/|\-_\s]/g,":"); 148 | let n_n=n.split(":"); 149 | if(n_n.length===1){ 150 | if(apps_f.hasOwnProperty(reg)){ 151 | apps_f[reg].push(n_n); 152 | } 153 | else 154 | { 155 | apps_f[reg]=[]; 156 | apps_f[reg].push(n_n[0]) 157 | } 158 | } 159 | else if(n_n.length===2){ 160 | if(apps_f.hasOwnProperty(n_n[1])){ 161 | apps_f[n_n[1]].push(n_n[0]); 162 | } 163 | else 164 | { 165 | apps_f[n_n[1]]=[]; 166 | apps_f[n_n[1]].push(n_n[0]) 167 | } 168 | } 169 | else{ 170 | notifys.push(`ID error:【${n}】`) 171 | } 172 | } 173 | else{ 174 | notifys.push(`ID error:【${n}】`) 175 | } 176 | }); 177 | if(Object.keys(apps_f).length>0){ 178 | post_data(apps_f); 179 | } 180 | } 181 | async function post_data(d) { 182 | try{ 183 | let app_monitor=$prefs.valueForKey("app_monitor"); 184 | if(app_monitor===""||app_monitor===undefined){ 185 | app_monitor={} 186 | } 187 | else{ 188 | app_monitor=JSON.parse(app_monitor) 189 | } 190 | let infos={}; 191 | await Promise.all(Object.keys(d).map(async (k)=>{ 192 | let config={ 193 | url:'https://itunes.apple.com/lookup?id=' + d[k] + "&country=" + k, 194 | method:"post" 195 | }; 196 | await $task.fetch(config).then((res)=>{ 197 | let results=JSON.parse(res.body).results; 198 | if(Array.isArray(results)&&results.length>0){ 199 | results.forEach((x=>{ 200 | infos[x.trackId]={ 201 | n:x.trackName, 202 | v:x.version, 203 | p:x.formattedPrice 204 | }; 205 | if(app_monitor.hasOwnProperty(x.trackId)){ 206 | if(JSON.stringify(app_monitor[x.trackId])!==JSON.stringify(infos[x.trackId])){ 207 | if(x.version!==app_monitor[x.trackId].v){ 208 | notifys.push(`${flag(k)}🧩${x.trackName}:version【${x.version}】`) 209 | } 210 | if(x.formattedPrice!==app_monitor[x.trackId].p){ 211 | notifys.push(`${flag(k)}💰${x.trackName}:price【${x.formattedPrice}】`) 212 | } 213 | }} 214 | else{ 215 | notifys.push(`${flag(k)}🧩${x.trackName}:version【${x.version}】`); 216 | notifys.push(`${flag(k)}💰${x.trackName}:price【${x.formattedPrice}】`) 217 | } 218 | })); 219 | } 220 | return Promise.resolve() 221 | }).catch((e)=>{ 222 | console.log(e); 223 | }); 224 | })); 225 | infos=JSON.stringify(infos); 226 | $prefs.setValueForKey(infos,"app_monitor"); 227 | if(notifys.length>0){ 228 | notify(notifys) 229 | } 230 | else{ 231 | console.log("AppMonitor: No changed") 232 | } 233 | }catch (e) { 234 | console.log(e); 235 | } 236 | } 237 | function notify(notifys){ 238 | notifys=notifys.join("\n"); 239 | console.log(notifys); 240 | $notify("AppMonitor","",notifys) 241 | } 242 | function flag(x){ 243 | var flags = new Map([[ "AC" , "🇦🇨" ] , [ "AF" , "🇦🇫" ] , [ "AI" , "🇦🇮" ] , [ "AL" , "🇦🇱" ] , [ "AM" , "🇦🇲" ] , [ "AQ" , "🇦🇶" ] , [ "AR" , "🇦🇷" ] , [ "AS" , "🇦🇸" ] , [ "AT" , "🇦🇹" ] , [ "AU" , "🇦🇺" ] , [ "AW" , "🇦🇼" ] , [ "AX" , "🇦🇽" ] , [ "AZ" , "🇦🇿" ] , [ "BB" , "🇧🇧" ] , [ "BD" , "🇧🇩" ] , [ "BE" , "🇧🇪" ] , [ "BF" , "🇧🇫" ] , [ "BG" , "🇧🇬" ] , [ "BH" , "🇧🇭" ] , [ "BI" , "🇧🇮" ] , [ "BJ" , "🇧🇯" ] , [ "BM" , "🇧🇲" ] , [ "BN" , "🇧🇳" ] , [ "BO" , "🇧🇴" ] , [ "BR" , "🇧🇷" ] , [ "BS" , "🇧🇸" ] , [ "BT" , "🇧🇹" ] , [ "BV" , "🇧🇻" ] , [ "BW" , "🇧🇼" ] , [ "BY" , "🇧🇾" ] , [ "BZ" , "🇧🇿" ] , [ "CA" , "🇨🇦" ] , [ "CF" , "🇨🇫" ] , [ "CH" , "🇨🇭" ] , [ "CK" , "🇨🇰" ] , [ "CL" , "🇨🇱" ] , [ "CM" , "🇨🇲" ] , [ "CN" , "🇨🇳" ] , [ "CO" , "🇨🇴" ] , [ "CP" , "🇨🇵" ] , [ "CR" , "🇨🇷" ] , [ "CU" , "🇨🇺" ] , [ "CV" , "🇨🇻" ] , [ "CW" , "🇨🇼" ] , [ "CX" , "🇨🇽" ] , [ "CY" , "🇨🇾" ] , [ "CZ" , "🇨🇿" ] , [ "DE" , "🇩🇪" ] , [ "DG" , "🇩🇬" ] , [ "DJ" , "🇩🇯" ] , [ "DK" , "🇩🇰" ] , [ "DM" , "🇩🇲" ] , [ "DO" , "🇩🇴" ] , [ "DZ" , "🇩🇿" ] , [ "EA" , "🇪🇦" ] , [ "EC" , "🇪🇨" ] , [ "EE" , "🇪🇪" ] , [ "EG" , "🇪🇬" ] , [ "EH" , "🇪🇭" ] , [ "ER" , "🇪🇷" ] , [ "ES" , "🇪🇸" ] , [ "ET" , "🇪🇹" ] , [ "EU" , "🇪🇺" ] , [ "FI" , "🇫🇮" ] , [ "FJ" , "🇫🇯" ] , [ "FK" , "🇫🇰" ] , [ "FM" , "🇫🇲" ] , [ "FO" , "🇫🇴" ] , [ "FR" , "🇫🇷" ] , [ "GA" , "🇬🇦" ] , [ "GB" , "🇬🇧" ] , [ "HK" , "🇭🇰" ] , [ "ID" , "🇮🇩" ] , [ "IE" , "🇮🇪" ] , [ "IL" , "🇮🇱" ] , [ "IM" , "🇮🇲" ] , [ "IN" , "🇮🇳" ] , [ "IS" , "🇮🇸" ] , [ "IT" , "🇮🇹" ] , [ "JP" , "🇯🇵" ] , [ "KR" , "🇰🇷" ] , [ "MO" , "🇲🇴" ] , [ "MX" , "🇲🇽" ] , [ "MY" , "🇲🇾" ] , [ "NL" , "🇳🇱" ] , [ "PH" , "🇵🇭" ] , [ "RO" , "🇷🇴" ] , [ "RS" , "🇷🇸" ] , [ "RU" , "🇷🇺" ] , [ "RW" , "🇷🇼" ] , [ "SA" , "🇸🇦" ] , [ "SB" , "🇸🇧" ] , [ "SC" , "🇸🇨" ] , [ "SD" , "🇸🇩" ] , [ "SE" , "🇸🇪" ] , [ "SG" , "🇸🇬" ] , [ "TH" , "🇹🇭" ] , [ "TN" , "🇹🇳" ] , [ "TO" , "🇹🇴" ] , [ "TR" , "🇹🇷" ] , [ "TV" , "🇹🇻" ] , [ "TW" , "🇨🇳" ] , [ "UK" , "🇬🇧" ] , [ "UM" , "🇺🇲" ] , [ "US" , "🇺🇸" ] , [ "UY" , "🇺🇾" ] , [ "UZ" , "🇺🇿" ] , [ "VA" , "🇻🇦" ] , [ "VE" , "🇻🇪" ] , [ "VG" , "🇻🇬" ] , [ "VI" , "🇻🇮" ] , [ "VN" , "🇻🇳" ]]) 244 | return flags.get(x.toUpperCase()) 245 | } 246 | $done() -------------------------------------------------------------------------------- /Bright.rsp: -------------------------------------------------------------------------------- 1 | {"status":0, "environment":"Production", 2 | "receipt":{"receipt_type":"Production", "adam_id":1258621855, "app_item_id":1258621855, "bundle_id":"com.engbright.bright", "application_version":"4", "download_id":22057478245346, "version_external_identifier":833261759, "receipt_creation_date":"2019-11-01 01:52:52 Etc/GMT", "receipt_creation_date_ms":"1572573172000", "receipt_creation_date_pst":"2019-10-31 18:52:52 America/Los_Angeles", "request_date":"2019-11-01 01:52:58 Etc/GMT", "request_date_ms":"1572573178384", "request_date_pst":"2019-10-31 18:52:58 America/Los_Angeles", "original_purchase_date":"2019-11-01 01:10:54 Etc/GMT", "original_purchase_date_ms":"1572570654000", "original_purchase_date_pst":"2019-10-31 18:10:54 America/Los_Angeles", "original_application_version":"4", 3 | "in_app":[ 4 | {"quantity":"1", "product_id":"2months3days30", "transaction_id":"20000619801721", "original_transaction_id":"20000619801721", "purchase_date":"2019-11-01 01:15:50 Etc/GMT", "purchase_date_ms":"1572570950000", "purchase_date_pst":"2019-10-31 18:15:50 America/Los_Angeles", "original_purchase_date":"2019-11-01 01:15:51 Etc/GMT", "original_purchase_date_ms":"1572570951000", "original_purchase_date_pst":"2019-10-31 18:15:51 America/Los_Angeles", "expires_date":"2099-11-04 02:15:50 Etc/GMT", "expires_date_ms":"4097416550000", "expires_date_pst":"2099-11-03 18:15:50 America/Los_Angeles", "web_order_line_item_id":"20000195978329", "is_trial_period":"true", "is_in_intro_offer_period":"false"}]}, 5 | "latest_receipt_info":[ 6 | {"quantity":"1", "product_id":"2months3days30", "transaction_id":"20000619801721", "original_transaction_id":"20000619801721", "purchase_date":"2019-11-01 01:15:50 Etc/GMT", "purchase_date_ms":"1572570950000", "purchase_date_pst":"2019-10-31 18:15:50 America/Los_Angeles", "original_purchase_date":"2019-11-01 01:15:51 Etc/GMT", "original_purchase_date_ms":"1572570951000", "original_purchase_date_pst":"2019-10-31 18:15:51 America/Los_Angeles", "expires_date":"2099-11-04 02:15:50 Etc/GMT", "expires_date_ms":"4097416550000", "expires_date_pst":"2099-11-03 18:15:50 America/Los_Angeles", "web_order_line_item_id":"20000195978329", "is_trial_period":"true", "is_in_intro_offer_period":"false", "subscription_group_identifier":"20404691"}], 7 | "latest_receipt":"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", "pending_renewal_info":[{"auto_renew_product_id":"2months3days30", "original_transaction_id":"20000619801721", "product_id":"2months3days30", "auto_renew_status":"0"}]} -------------------------------------------------------------------------------- /CamScaner.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | obj = {"data":{"psnl_vip_property":{"expiry":"4073275762"}}}; 3 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Faded.js: -------------------------------------------------------------------------------- 1 | let obj= JSON.parse($response.body); 2 | obj= { 3 | "status": 200, 4 | "message": "OK", 5 | "data": true, 6 | "subscriptionValid": true 7 | }; 8 | $done({body: JSON.stringify(obj)}); 9 | -------------------------------------------------------------------------------- /Fantastical.js: -------------------------------------------------------------------------------- 1 | /* 2 | ^https:\/\/api\.flexibits\.com\/v1\/(auth|account)\/(device|details|appstore-receipt)\/$ url script-response-body fantastical.js 3 | hostname=api.flexibits.com 4 | */ 5 | 6 | let url=$request.url; 7 | let obj=JSON.parse($response.body); 8 | 9 | if(url.indexOf('device')!=-1){ 10 | 11 | obj.status="success"; 12 | obj.subscription={ 13 | "autorenew": true, 14 | "expiration": "2099-12-31T16:49:37Z", 15 | "expires": "2099-12-31T16:49:37Z" 16 | }; 17 | obj.scope=["notify", "weather", "keyvalue-watch", "keyvalue-verification", "schedjoules", "scheduling", "account", "keyvalue", "fantastical"]; 18 | 19 | } 20 | 21 | if(url.indexOf('details')!=-1){ 22 | 23 | obj.subscription={ 24 | "autorenew": true, 25 | "expiration": "2099-12-31T16:49:37.000000Z", 26 | "uuid": "f1da7c78-e964-4367-915c-886edc794959", 27 | "subscription_type": "AppStore", 28 | "is_expired": false, 29 | "trial": false 30 | }; 31 | } 32 | 33 | if(url.indexOf('appstore-receipt')!=-1){ 34 | 35 | obj.autorenew=true; 36 | obj.expiration="2099-12-31T16:49:37.000000Z"; 37 | obj.subscription_type="AppStore"; 38 | obj.is_expired=false; 39 | obj.trial=false; 40 | } 41 | 42 | $done({body:JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Gyroscope.vip.js: -------------------------------------------------------------------------------- 1 | 2 | let obj = JSON.parse($response.body); 3 | obj.user["active_until_time"] = "2099-01-01T00:00:00Z"; 4 | $done({body: JSON.stringify(obj)}); 5 | //bynubyta -------------------------------------------------------------------------------- /Lightroom.js: -------------------------------------------------------------------------------- 1 | body = $response.body.replace(/while.{7}\n/, ""); 2 | let obj = JSON.parse(body); 3 | obj.entitlement.status="subscriber"; 4 | obj.current_subs={ 5 | "product_id": "lightroom", 6 | "store": "adobe", 7 | "purchase_date": "2019-10-10T16:32:10.254954Z", 8 | "sao": { 9 | "inpkg_CCES": "0", 10 | "inpkg_CCLE": "1", 11 | "inpkg_CCSN": "0", 12 | "inpkg_CCSV": "0", 13 | "inpkg_LCCC": "0", 14 | "inpkg_LPES": "0", 15 | "inpkg_LRBRL": "0", 16 | "inpkg_LRMAC": "0", 17 | "inpkg_LRMC": "0", 18 | "inpkg_LRMP": "0", 19 | "inpkg_LRTB": "0", 20 | "inpkg_PHLT": "0", 21 | "inpkg_PHLT2": "0", 22 | "inpkg_PLES": "0", 23 | "storage_quota": "100" 24 | } 25 | }; 26 | obj.entitlement.storage={ 27 | "used": 0, 28 | "limit": 1154487209165, 29 | "display_limit": 1099511627776, 30 | "warn": 992137445376 31 | }; 32 | obj.avatar.placeholder=true; 33 | body = JSON.stringify(obj); 34 | $done({body}); 35 | -------------------------------------------------------------------------------- /MuscleBooster.js: -------------------------------------------------------------------------------- 1 | /* 2 | Surge: 3 | [Script] 4 | Muscle Booster = type=http-response,pattern=^https:\/\/menscoach-api\.asqq\.io\/prod\/user$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/MuscleBooster.js 5 | 6 | Quantumult X: 7 | [rewrite_local] 8 | ^https:\/\/menscoach-api\.asqq\.io\/prod\/user$ url script-response-body langkhach/MuscleBooster.js 9 | 10 | MITM: menscoach-api.asqq.io 11 | */ 12 | 13 | let obj = JSON.parse($response.body); 14 | obj.is_paid = true; 15 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Ncov.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | //Smart Qx&Surge 4 | let isQuantumultX = $task !== undefined; 5 | let isSurge = $httpClient !== undefined; 6 | var $task = isQuantumultX ? $task : {}; 7 | var $httpClient = isSurge ? $httpClient : {}; 8 | var $prefs = isQuantumultX ? $prefs : {}; 9 | var $persistentStore = isSurge ? $persistentStore : {}; 10 | var $notify = isQuantumultX ? $notify : {}; 11 | var $notification = isSurge ? $notification : {}; 12 | if (isQuantumultX) { 13 | var errorInfo = { 14 | error: '' 15 | }; 16 | $httpClient = { 17 | get: (url, cb) => { 18 | var urlObj; 19 | if (typeof (url) == 'string') { 20 | urlObj = { 21 | url: url 22 | } 23 | } else { 24 | urlObj = url; 25 | } 26 | $task.fetch(urlObj).then(response => { 27 | cb(undefined, response, response.body) 28 | }, reason => { 29 | errorInfo.error = reason.error; 30 | cb(errorInfo, response, '') 31 | }) 32 | }, 33 | post: (url, cb) => { 34 | var urlObj; 35 | if (typeof (url) == 'string') { 36 | urlObj = { 37 | url: url 38 | } 39 | } else { 40 | urlObj = url; 41 | } 42 | url.method = 'POST'; 43 | $task.fetch(urlObj).then(response => { 44 | cb(undefined, response, response.body) 45 | }, reason => { 46 | errorInfo.error = reason.error; 47 | cb(errorInfo, response, '') 48 | }) 49 | } 50 | } 51 | } 52 | if (isSurge) { 53 | $task = { 54 | fetch: url => { 55 | return new Promise((resolve, reject) => { 56 | if (url.method == 'POST') { 57 | $httpClient.post(url, (error, response, data) => { 58 | response.body = data; 59 | resolve(response, { 60 | error: error 61 | }); 62 | }) 63 | } else { 64 | $httpClient.get(url, (error, response, data) => { 65 | response.body = data; 66 | resolve(response, { 67 | error: error 68 | }); 69 | }) 70 | } 71 | }) 72 | 73 | } 74 | } 75 | } 76 | if (isQuantumultX) { 77 | $persistentStore = { 78 | read: key => { 79 | return $prefs.valueForKey(key); 80 | }, 81 | write: (val, key) => { 82 | return $prefs.setValueForKey(val, key); 83 | } 84 | } 85 | } 86 | if (isSurge) { 87 | $prefs = { 88 | valueForKey: key => { 89 | return $persistentStore.read(key); 90 | }, 91 | setValueForKey: (val, key) => { 92 | return $persistentStore.write(val, key); 93 | } 94 | } 95 | } 96 | if (isQuantumultX) { 97 | $notification = { 98 | post: (title, subTitle, detail) => { 99 | $notify(title, subTitle, detail); 100 | } 101 | } 102 | } 103 | if (isSurge) { 104 | $notify = function (title, subTitle, detail) { 105 | $notification.post(title, subTitle, detail); 106 | } 107 | } 108 | //end 109 | 110 | /* 111 | Surge V4 ios, Mac 112 | Api by junookyo 113 | 114 | [Script] 115 | cron "0 0 6-23/3 * * *" script-path=ncov.js 116 | 117 | 118 | MITM = code.junookyo.xyz 119 | */ 120 | var ncovUrl = { 121 | url: 'https://code.junookyo.xyz/api/ncov-moh/data.json', 122 | } 123 | $httpClient.get(ncovUrl, function(error, response, data){ 124 | if (error) { 125 | $notification.post("NCOV", "", "Bad connection") 126 | $done(); 127 | } 128 | else{ 129 | if(response.statusCode == 200) 130 | { 131 | let obj= JSON.parse(data); 132 | if(obj["success"]) 133 | { 134 | obj= obj["data"]; 135 | $notification.post("NCOV ","","🇻🇳 VN: Số người nhiễm: " + obj["vietnam"]["cases"] +", Người chết: " + obj["vietnam"]["deaths"] + ", Hồi phục: " + obj["vietnam"]["recovered"] +"\n🌍 Global: Số người nhiễm: " + obj["global"]["cases"] +", Người chết: " + obj["global"]["deaths"] + ", Hồi phục: " + obj["global"]["recovered"]); 136 | $done(); 137 | } 138 | } 139 | else{ 140 | $notification.post("NCOV", "", "API ERROR"); 141 | } 142 | } 143 | }); -------------------------------------------------------------------------------- /Pdfexpert.vip.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 | 12 | $done({body: JSON.stringify(obj)}); 13 | 14 | // -------------------------------------------------------------------------------- /QuantumultX/Fake_Local-workingcopy.txt: -------------------------------------------------------------------------------- 1 | hostname = api.textnow.me, *.videostarapp.com, avatar-nct.nixcdn.com, spclient.wg.spotify.com, *.googlevideo.com, oa.zalo.me, vsco.co, api.gyrosco.pe, origin-prod-phoenix.jibjab.com, api.termius.com, api.picsart.c*, api.meiease.c*, api.unfold.app, viva-asia1.vvbrd.com, graph.nhaccuatui.com, api.memrise.com , buy.itunes.apple.com, api.sync.me, pool.elsanow.io, lambda.us-east-1.amazonaws.com, api.mondlylanguages.com, api.busuu.com, owa.videoshowiosglobalserver.com:0, accounts.elevateapp.net, purchases.ws.pho.to, api-intl.mr.meitu.com, bmall.camera360.com, api.tv.zing.vn, api.calm.com, www.calm.com, api.global.mp3.zing.vn, apimboom2.globaldelight.net, photos.adobe.io, license.pdfexpert.com, subs.platforms.team, apic.musixmatch.com, api.getmimo.com, api.revenuecat.com, pixmagicapp.com, engbright.com, api.lingokids.com, www.peacefulsoundsapp.com, duolingo-leaderboards-prod.duolingo.com, commerce-i18n-api.faceu.mobi, mobi, mobile-api.adguard.com, api.blinkist.com, api.sololearn.com, receipts.cerebralgardens.com, api-kinemaster-assetstore.*, api.pushover.net, api-cs.intsig.net, api.overhq.com, api.appsyscode.com, api.freeletics.com, api.shred.app, receipt-validator.herewetest.com, api.deezer.com, iap.aps-sdk.com, education.github.com, backend.getdrafts.com, ssl-api.itranslateapp.com, sk.ulysses.app, dayone.me, license.enpass.io, mp.bybutter.com, *.grammarly.com, splice.oracle.*.com, api.keepkeep.com, planner5d.com, secure.istreamer.com, www.api.monkeyuni.net, account.wps.com, menscoach-api.asqq.io, 2 | 3 | # vsco 4 | ^https?:\/\/vsco\.co\/api\/subscriptions\/2.1\/user-subscriptions\/ url script-response-body langkhach/vsco.js 5 | 6 | # gyroscope 7 | ^https:\/\/api\.gyrosco\.pe\/v1\/account\/$ url script-response-body langkhach/Gyroscope.vip.js 8 | 9 | # Termius 10 | https:\/\/api\.termius\.com\/api\/v3\/bulk\/account\/ url script-response-body langkhach/Terminus.js 11 | 12 | # PicsArt 13 | ^https:\/\/api\.(picsart|meiease)\.c(n|om)\/users\/show\/me\.json url script-response-body langkhach/picsArt.vip.js 14 | 15 | #Vivavideo 16 | ^https:\/\/viva-asia1\.vvbrd\.com\/api\/rest\/u\/vip* url script-response-body langkhach/vivavideo.vip.js 17 | 18 | #Undfold 19 | ^https:\/\/api\.unfold\.app\/v1\/ios\/receipts$ url script-response-body langkhach/Unfold.vip.js 20 | 21 | #Nhaccuatui 22 | ^https:\/\/graph\.nhaccuatui\.com\/.*\/users\/info* url script-response-body langkhach/nhaccuatui.js 23 | 24 | #Memrise 25 | ^https:\/\/api\.memrise\.com\/.+\/(me\/$|dashboard\/$|leaderboards\/following\/) url script-response-body langkhach/memrise.vip.js 26 | 27 | # Jibjab 28 | ^https:\/\/origin-prod-phoenix\.jibjab\.com\/v1\/user$ url script-response-body langkhach/jibjab.vip.js 29 | 30 | #buyhack 31 | ^https:\/\/buy\.itunes\.apple\.com\/verifyReceipt$ url script-response-body langkhach/verify_receipt.js 32 | 33 | #sync 34 | ^https:\/\/api\.sync\.me\/api\/purchases\/(report_purchases|get_purchases) url script-response-body langkhach/syn.me.js 35 | 36 | #elsaresponse 37 | ^https:\/\/pool\.elsanow\.io\/user\/api\/v1\/purchase$ url script-response-body langkhach/elsa-response.js 38 | 39 | #elsarewrite 40 | ^https:\/\/pool\.elsanow\.io\/content\/api\/v1\/modules\/download$ url request-header (\r\n)x-session-token:.+(\r\n) request-header $1x-session-token: F3S0w0bysBQFdbjtxpFurrFv2ItBBcBkVQxUddQW+9vjt2JXM751ksqq5GAWpkl+kk9nhig9BGh9JhYHQaokmendY6zLZDscHiRkZD2HrdJclKVCLordAARJhYIrf5C+5OSK6ax2TA45CKi8S09FEtYXN4noXO7gt42NT6WPIv6DKhdIwVxQuIAMLU5abmpMTDlyWeI4ulBWcOQbuZWWZg== 41 | 42 | #drops 43 | ^https:\/\/lambda\.us-east-1\.amazonaws\.com/.*/functions\/prod-4-syncPurchases\/invocations$ url script-response-body langkhach/drops.js 44 | 45 | #mondly 46 | ^https:\/\/api\.mondlylanguages\.com\/v1\/ios\/user\/sync$ url script-response-body langkhach/mondly.vip.js 47 | 48 | #busuu 49 | ^https:\/\/api\.busuu\.com\/users\/me* url script-response-body langkhach/busuu.vip.js 50 | 51 | #Videoshow 52 | ^https:\/\/owa\.videoshowiosglobalserver\.com\/.*\/iosPayClient url script-response-body langkhach/videoshow.vip.js 53 | 54 | #elevate 55 | ^https:\/\/accounts\.elevateapp\.net\/api\/users\?user%5Bauthentication_token* url script-response-body langkhach/elevate.vip.js 56 | 57 | #beautyplus 58 | ^https:\/\/api-intl\.mr\.meitu\.com/.*/subs_offer_elg$ url script-response-body langkhach/beautyplusvip.js 59 | 60 | #camera360 61 | ^https:\/\/bmall\.camera360\.com\/api\/(iap\/check-receipt$|mix\/getinfo$) url script-response-body langkhach/camera360.vip.js 62 | 63 | #zingtv 64 | ^https?:\/\/api\.tv\.zing\.vn\/.*/user* url script-response-body langkhach/zingtvvipv1.js 65 | 66 | #calm 67 | ^https:\/\/api\.calm\.com\/me$ url script-response-body langkhach/calm.vip.js 68 | 69 | #remove_manage 70 | ^https:\/\/www\.calm\.com\/mobile\/manage-subscription\?token=* url reject-img 71 | 72 | #lightroom 73 | ^https:\/\/photos\.adobe\.io\/v2\/accounts* url script-response-body langkhach/Lightroom.js 74 | 75 | #Pdfexpert 76 | ^https:\/\/license\.pdfexpert\.com\/api\/1\.0\/pdfexpert6\/subscription\/(refresh$|check$) url script-response-body langkhach/Pdfexpert.vip.js 77 | 78 | #productive 79 | ^https:\/\/subs\.platforms\.team\/.+\/apple\/verify$ url script-response-body langkhach/productive.js 80 | 81 | #Musixmatch 82 | ^https:\/\/apic\.musixmatch\.com\/ws\/.*\/config\.get url script-response-body langkhach/musixmatch.miao.js 83 | 84 | #boom 85 | ^https:\/\/apimboom2\.globaldelight\.net\/itunesreceipt_v2\.php$ url 302 https://raw.githubusercontent.com/langkhach270389/Scripting/master/boom.vip.rsp 86 | 87 | #mimo 88 | ^https:\/\/api\.getmimo\.com\/v1\/subscriptions$ url script-response-body langkhach/mimo.vip.js 89 | 90 | #mojo¬o 91 | ^https:\/\/api\.revenuecat\.com\/.+\/(receipts$|subscribers\/[a-zA-Z0-9_-]*$) url script-response-body langkhach/revenuecat.js 92 | 93 | #Bright 94 | ^https:\/\/engbright\.com\/app-portal\/apple\/receipt$ url 302 https://raw.githubusercontent.com/langkhach270389/Scripting/master/Bright.rsp 95 | 96 | #lingokids 97 | ^https:\/\/api\.lingokids\.com\/v1\/renovate_session$ url script-response-body langkhach/lingokids.vip.js 98 | 99 | #musicalm 100 | ^https:\/\/www\.peacefulsoundsapp\.com\/api\/v1\/init$ url script-response-body langkhach/musicalm.js 101 | 102 | #duolingo 103 | ^https:\/\/duolingo-leaderboards-prod\.duolingo\.com\/leaderboards* url script-response-body langkhach/duolingo.js 104 | 105 | #ulike 106 | ^https:\/\/commerce-i18n-api\.faceu\.mobi\/commerce\/v1\/subscription\/user_info$ url script-response-body langkhach/ulike.js 107 | 108 | #adguardpremium 109 | ^https:\/\/mobile-api\.adguard\.com\/api\/1\.0\/ios_validate_receipt$ url 302 https://raw.githubusercontent.com/langkhach270389/Scripting/master/Adguard.rsp 110 | 111 | #zingmp3 112 | ^https:\/\/api\.global\.mp3\.zing\.vn\/1\.0\/getUserInfo\?data=* url script-response-body langkhach/zingmp3.js 113 | 114 | #Blinkist 115 | ^https:\/\/api\.blinkist\.com\/v4\/(me$|me.json$|me\/access$) url script-response-body langkhach/blinkist.js 116 | 117 | #sololearn 118 | ^https:\/\/api\.sololearn\.com\/(authenticateDevice|challenge\/GetContestFeed|Profile\/GetProfile)$ url script-response-body langkhach/sololearn.js 119 | 120 | #kinemaster 121 | ^https:\/\/api-kinemaster-assetstore\.(nexstreaming|kinemasters)\.com\/.*\/product\/verifyReceipt$ url script-response-body langkhach/kinemaster.js 122 | 123 | #pushover 124 | ^https:\/\/api\.pushover\.net\/1\/messages\.json* url script-response-body langkhach/pushover.js 125 | 126 | #CamScanner 127 | ^https:\/\/(api|api-cs)\.intsig\.net\/purchase\/cs\/query_property\? url script-response-body langkhach/CamScaner.js 128 | 129 | #over 130 | ^https:\/\/api\.overhq\.com\/(user\/token\/refresh$|subscription\/verifyReceipt$) url script-response-body langkhach/over.vip.js 131 | 132 | 133 | #speak&translate 134 | ^https:\/\/receipt-validator\.herewetest\.com\/apple\/verifyTransaction$ url script-response-body langkhach/speak&translate.js 135 | 136 | #document 137 | ^https:\/\/license\.pdfexpert\.com\/api\/.*\/documents\/subscription\/(refresh$|check$) url script-response-body langkhach/documents.js 138 | 139 | #workingcopy 140 | ^https:\/\/education\.github\.com\/api\/user$ url script-response-body langkhach/workingcopy.js 141 | 142 | #draft 143 | ^https:\/\/backend\.getdrafts\.com\/api\/.*\/verification* url script-response-body langkhach/draft.js 144 | 145 | #phothop&PSexpress 146 | ^https:\/\/lcs-mobile-cops\.adobe\.io\/mobile_profile url script-response-body langkhach/photoshop.js 147 | 148 | #itranslate&lingo&voice&converse 149 | ^https:\/\/ssl-api\.itranslateapp\.com\/.*\/subscriptions\/.*\/ios$ url script-response-body langkhach/itranslate.js 150 | 151 | #ulysses 152 | ;^https:\/\/sk\.ulysses\.app\/api\/v1\/user_offers$ url request-header (\r\n)If-None-Match:.+(\r\n) request-header $1 153 | 154 | ;^https:\/\/sk\.ulysses\.app\/api\/v1\/itunes_receipt_verify$ url script-response-body langkhach/ulysses.js 155 | 156 | #pre_dayone 157 | ;^https:\/\/dayone\.me\/api\/users$ url request-header (\r\n)If-None-Match:.+(\r\n) request-header $1 158 | 159 | #dayone 160 | ^https:\/\/dayone\.me\/api\/(users|v2\/users\/account-status)$ url script-response-body langkhach/dayone.js 161 | 162 | #endel 163 | ^https:\/\/api-production\.endel\.io\/.*\/user$ url script-response-body langkhach/endel.js 164 | 165 | #nichi 166 | ^https?:\/\/mp\.bybutter\.com\/mood\/(official-templates|privileges) url script-response-body langkhach/nichi.js 167 | 168 | #grammarly 169 | ^https:\/\/subscription\.grammarly\.com\/api\/v1$ url script-response-body langkhach/grammarly.js 170 | 171 | #splice 172 | ^https:\/\/splice\.oracle\.\w+\.com\/devices\/me url script-response-body langkhach/splice.js 173 | 174 | #planner5d 175 | ^https:\/\/planner5d\.com\/api\/sets url script-response-body langkhach/planner5d.js 176 | 177 | #playerxtreme 178 | ;^https:\/\/secure\.istreamer\.com\/backend$ url request-header (\r\n)If-None-Match:.+(\r\n) request-header $1 179 | 180 | ^https:\/\/secure\.istreamer\.com\/backend$ url script-response-body langkhach/playerxtreme.js 181 | 182 | #all apps monkey 183 | ^https:\/\/www\.api\.monkeyuni\.net\/api\/.+\/mobile\/account\/load-update url script-response-body langkhach/monkey.js 184 | 185 | ##wps makexp 186 | ;^https:\/\/account\.wps\.com/\api\/users\/.+ url script-response-body langkhach/wps.js 187 | 188 | #VideoStar 189 | ^https?:\/\/.*\.videostarapp\.com\/scripts\/subsNew\.php url script-response-body langkhach/VideoStar.js 190 | 191 | #Textnow 192 | ^https:\/\/api\.textnow\.me\/api2.0\/users\/.* url script-response-body langkhach/Textnow.js 193 | #Muscle Booster 194 | ^https:\/\/menscoach-api\.asqq\.io\/prod\/user$ url script-response-body langkhach/MuscleBooster.js 195 | -------------------------------------------------------------------------------- /QuantumultX/Fake_Vip.txt: -------------------------------------------------------------------------------- 1 | hostname = api.textnow.me, *.videostarapp.com, avatar-nct.nixcdn.com, spclient.wg.spotify.com, *.googlevideo.com, oa.zalo.me, vsco.co, api.gyrosco.pe, origin-prod-phoenix.jibjab.com, api.termius.com, api.picsart.c*, api.meiease.c*, api.unfold.app, viva-asia1.vvbrd.com, graph.nhaccuatui.com, api.memrise.com , buy.itunes.apple.com, api.sync.me, pool.elsanow.io, lambda.us-east-1.amazonaws.com, api.mondlylanguages.com, api.busuu.com, owa.videoshowiosglobalserver.com:0, accounts.elevateapp.net, purchases.ws.pho.to, api-intl.mr.meitu.com, bmall.camera360.com, api.tv.zing.vn, api.calm.com, www.calm.com, api.global.mp3.zing.vn, apimboom2.globaldelight.net, photos.adobe.io, license.pdfexpert.com, subs.platforms.team, apic.musixmatch.com, api.getmimo.com, api.revenuecat.com, pixmagicapp.com, engbright.com, api.lingokids.com, www.peacefulsoundsapp.com, duolingo-leaderboards-prod.duolingo.com, commerce-i18n-api.faceu.mobi, mobi, mobile-api.adguard.com, api.blinkist.com, api.sololearn.com, receipts.cerebralgardens.com, api-kinemaster-assetstore.*, api.pushover.net, api-cs.intsig.net, api.overhq.com, api.appsyscode.com, api.freeletics.com, api.shred.app, receipt-validator.herewetest.com, api.deezer.com, iap.aps-sdk.com, education.github.com, backend.getdrafts.com, ssl-api.itranslateapp.com, sk.ulysses.app, dayone.me, license.enpass.io, mp.bybutter.com, *.grammarly.com, splice.oracle.*.com, api.keepkeep.com, planner5d.com, secure.istreamer.com, www.api.monkeyuni.net, account.wps.com, menscoach-api.asqq.io, 2 | 3 | #vsco 4 | ^https?:\/\/vsco\.co\/api\/subscriptions\/2.1\/user-subscriptions\/ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/vsco.js 5 | 6 | #gyroscope 7 | ^https:\/\/api\.gyrosco\.pe\/v1\/account\/$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/Gyroscope.vip.js 8 | 9 | #Termius 10 | https:\/\/api\.termius\.com\/api\/v3\/bulk\/account\/ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/Terminus.js 11 | 12 | #PicsArt 13 | ^https:\/\/api\.(picsart|meiease)\.c(n|om)\/users\/show\/me\.json url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/picsArt.vip.js 14 | 15 | #Vivavideo 16 | ^https:\/\/viva-asia1\.vvbrd\.com\/api\/rest\/u\/vip* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/vivavideo.vip.js 17 | 18 | #Undfold 19 | ^https:\/\/api\.unfold\.app\/v1\/ios\/receipts$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/Unfold.vip.js 20 | 21 | #Nhaccuatui 22 | ^https:\/\/graph\.nhaccuatui\.com\/.*\/users\/info* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/nhaccuatui.js 23 | 24 | #Memrise 25 | ^https:\/\/api\.memrise\.com\/.+\/(me\/$|dashboard\/$|leaderboards\/following\/) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/memrise.vip.js 26 | 27 | # Jibjab 28 | ^https:\/\/origin-prod-phoenix\.jibjab\.com\/v1\/user$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/jibjab.vip.js 29 | 30 | #buyhack 31 | ^https:\/\/buy\.itunes\.apple\.com\/verifyReceipt$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/verify_receipt.js 32 | 33 | #sync 34 | ^https:\/\/api\.sync\.me\/api\/purchases\/(report_purchases|get_purchases) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/syn.me.js 35 | 36 | #elsaresponse 37 | ^https:\/\/pool\.elsanow\.io\/user\/api\/v1\/purchase$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/elsa-response.js 38 | 39 | #elsarewrite 40 | ^https:\/\/pool\.elsanow\.io\/content\/api\/v1\/modules\/download$ url request-header (\r\n)x-session-token:.+(\r\n) request-header $1x-session-token: F3S0w0bysBQFdbjtxpFurrFv2ItBBcBkVQxUddQW+9vjt2JXM751ksqq5GAWpkl+kk9nhig9BGh9JhYHQaokmendY6zLZDscHiRkZD2HrdJclKVCLordAARJhYIrf5C+5OSK6ax2TA45CKi8S09FEtYXN4noXO7gt42NT6WPIv6DKhdIwVxQuIAMLU5abmpMTDlyWeI4ulBWcOQbuZWWZg== 41 | 42 | #drops 43 | ^https:\/\/lambda\.us-east-1\.amazonaws\.com/.*/functions\/prod-4-syncPurchases\/invocations$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/drops.js 44 | 45 | #mondly 46 | ^https:\/\/api\.mondlylanguages\.com\/v1\/ios\/user\/sync$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/mondly.vip.js 47 | 48 | #busuu 49 | ^https:\/\/api\.busuu\.com\/users\/me* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/busuu.vip.js 50 | 51 | #Videoshow 52 | ^https:\/\/owa\.videoshowiosglobalserver\.com\/.*\/iosPayClient url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/videoshow.vip.js 53 | 54 | #elevate 55 | ^https:\/\/accounts\.elevateapp\.net\/api\/users\?user%5Bauthentication_token* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/elevate.vip.js 56 | 57 | #beautyplus 58 | ^https:\/\/api-intl\.mr\.meitu\.com/.*/subs_offer_elg$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/beautyplusvip.js 59 | 60 | #camera360 61 | ^https:\/\/bmall\.camera360\.com\/api\/(iap\/check-receipt$|mix\/getinfo$) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/camera360.vip.js 62 | 63 | #zingtv 64 | ^https?:\/\/api\.tv\.zing\.vn\/.*/user* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/zingtvvipv1.js 65 | 66 | #calm 67 | ^https:\/\/api\.calm\.com\/me$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/calm.vip.js 68 | 69 | #remove_manage 70 | ^https:\/\/www\.calm\.com\/mobile\/manage-subscription\?token=* url reject-img 71 | 72 | #lightroom 73 | ^https:\/\/photos\.adobe\.io\/v2\/accounts* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/Lightroom.js 74 | 75 | #Pdfexpert 76 | ^https:\/\/license\.pdfexpert\.com\/api\/1\.0\/pdfexpert6\/subscription\/(refresh$|check$) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/Pdfexpert.vip.js 77 | 78 | #productive 79 | ^https:\/\/subs\.platforms\.team\/.+\/apple\/verify$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/productive.js 80 | 81 | #Musixmatch 82 | ^https:\/\/apic\.musixmatch\.com\/ws\/.*\/config\.get url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/musixmatch.miao.js 83 | 84 | #boom 85 | ^https:\/\/apimboom2\.globaldelight\.net\/itunesreceipt_v2\.php$ url 302 https://raw.githubusercontent.com/langkhach270389/Scripting/master/boom.vip.rsp 86 | 87 | #mimo 88 | ^https:\/\/api\.getmimo\.com\/v1\/subscriptions$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/mimo.vip.js 89 | 90 | #mojo¬o 91 | ^https:\/\/api\.revenuecat\.com\/.+\/(receipts$|subscribers\/[a-zA-Z0-9_-]*$) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/revenuecat.js 92 | 93 | #Bright 94 | ^https:\/\/engbright\.com\/app-portal\/apple\/receipt$ url 302 https://raw.githubusercontent.com/langkhach270389/Scripting/master/Bright.rsp 95 | 96 | #lingokids 97 | ^https:\/\/api\.lingokids\.com\/v1\/renovate_session$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/lingokids.vip.js 98 | 99 | #musicalm 100 | ^https:\/\/www\.peacefulsoundsapp\.com\/api\/v1\/init$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/musicalm.js 101 | 102 | #duolingo_test 103 | ^https:\/\/duolingo-leaderboards-prod\.duolingo\.com\/leaderboards* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/duolingo.js 104 | 105 | #ulike 106 | ^https:\/\/commerce-i18n-api\.faceu\.mobi\/commerce\/v1\/subscription\/user_info$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/ulike.js 107 | 108 | #adguardpremium 109 | ^https:\/\/mobile-api\.adguard\.com\/api\/1\.0\/ios_validate_receipt$ url 302 https://raw.githubusercontent.com/langkhach270389/Scripting/master/Adguard.rsp 110 | 111 | #zingmp3 112 | ^https:\/\/api\.global\.mp3\.zing\.vn\/1\.0\/getUserInfo\?data=* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/zingmp3.js 113 | 114 | #Blinkist 115 | ^https:\/\/api\.blinkist\.com\/v4\/(me$|me.json$|me\/access$) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/blinkist.js 116 | 117 | #sololearn 118 | ^https:\/\/api\.sololearn\.com\/(authenticateDevice|challenge\/GetContestFeed|Profile\/GetProfile)$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/sololearn.js 119 | 120 | #kinemaster 121 | ^https:\/\/api-kinemaster-assetstore\.(nexstreaming|kinemasters)\.com\/.*\/product\/verifyReceipt$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/kinemaster.js 122 | 123 | #pushover 124 | ^https:\/\/api\.pushover\.net\/1\/messages\.json* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/pushover.js 125 | 126 | #CamScanner 127 | ^https:\/\/(api|api-cs)\.intsig\.net\/purchase\/cs\/query_property\? url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/CamScaner.js 128 | 129 | #over 130 | ^https:\/\/api\.overhq\.com\/(user\/token\/refresh$|subscription\/verifyReceipt$) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/over.vip.js 131 | 132 | #speak&translate 133 | ^https:\/\/receipt-validator\.herewetest\.com\/apple\/verifyTransaction$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/speak&translate.js 134 | 135 | #document 136 | ^https:\/\/license\.pdfexpert\.com\/api\/.*\/documents\/subscription\/(refresh$|check$) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/documents.js 137 | 138 | #workingcopy 139 | ^https:\/\/education\.github\.com\/api\/user$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/workingcopy.js 140 | 141 | #draft 142 | ^https:\/\/backend\.getdrafts\.com\/api\/.*\/verification* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/draft.js 143 | 144 | #phothop&PSexpress 145 | ^https:\/\/lcs-mobile-cops\.adobe\.io\/mobile_profile url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/photoshop.js 146 | 147 | #itranslate&lingo&voice&converse 148 | ^https:\/\/ssl-api\.itranslateapp\.com\/.*\/subscriptions\/.*\/ios$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/itranslate.js 149 | 150 | #ulysses 151 | ;^https:\/\/sk\.ulysses\.app\/api\/v1\/user_offers$ url request-header (\r\n)If-None-Match:.+(\r\n) request-header $1 152 | 153 | ;^https:\/\/sk\.ulysses\.app\/api\/v1\/itunes_receipt_verify$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/ulysses.js 154 | 155 | #pre_dayone 156 | ;^https:\/\/dayone\.me\/api\/users$ url request-header (\r\n)If-None-Match:.+(\r\n) request-header $1 157 | 158 | #dayone 159 | ^https:\/\/dayone\.me\/api\/(users|v2\/users\/account-status)$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/dayone.js 160 | 161 | #endel 162 | ^https:\/\/api-production\.endel\.io\/.*\/user$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/endel.js 163 | 164 | #shred 165 | ;^https:\/\/api\.shred\.app\/verifyReceipt$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/shred.js 166 | 167 | #nichi 168 | ^https?:\/\/mp\.bybutter\.com\/mood\/(official-templates|privileges) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/nichi.js 169 | 170 | #grammarly 171 | ^https:\/\/subscription\.grammarly\.com\/api\/v1$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/grammarly.js 172 | 173 | #splice 174 | ^https:\/\/splice\.oracle\.\w+\.com\/devices\/me url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/splice.js 175 | 176 | #planner5d 177 | ^https:\/\/planner5d\.com\/api\/sets url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/planner5d.js 178 | 179 | #playerxtreme 180 | ;^https:\/\/secure\.istreamer\.com\/backend$ url request-header (\r\n)If-None-Match:.+(\r\n) request-header $1 181 | 182 | ^https:\/\/secure\.istreamer\.com\/backend$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/playerxtreme.js 183 | 184 | #all apps monkey 185 | ^https:\/\/www\.api\.monkeyuni\.net\/api\/.+\/mobile\/account\/load-update url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/monkey.js 186 | 187 | ##wps makexp 188 | ;^https:\/\/account\.wps\.com/\api\/users\/.+ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/wps.js 189 | 190 | #VideoStar 191 | ^https?:\/\/.*\.videostarapp\.com\/scripts\/subsNew\.php url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/VideoStar.js 192 | 193 | #Textnow 194 | ^https:\/\/api\.textnow\.me\/api2.0\/users\/.* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/Textnow.js 195 | 196 | #Muscle Booster 197 | ^https:\/\/menscoach-api\.asqq\.io\/prod\/user$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/MuscleBooster.js -------------------------------------------------------------------------------- /QuantumultX/Quantumult_Fakevip_LangKhach.txt: -------------------------------------------------------------------------------- 1 | ; 20191020_070434 2 | 3 | [general] 4 | server_check_url=http://www.google.com/generate_204 5 | ;geo_location_checker=http://www.example.com/json/, https://www.example.com/script.js 6 | ;dns_exclusion_list=*.qq.com, qq.com, *.cmpassport.com 7 | ;ssid_suspended_list=LINK_22E174, LINK_22E175 8 | ;udp_whitelist=53, 123, 1900, 80-443 9 | ;excluded_routes= 192.168.0.0/16, 172.16.0.0/12, 100.64.0.0/10, 10.0.0.0/8 10 | ;icmp_auto_reply=true 11 | [dns] 12 | server=1.1.1.1 13 | server=1.0.0.1 14 | 15 | [policy] 16 | 17 | [server_remote] 18 | ;https://raw.githubusercontent.com/crossutility/Quantumult-X/master/server.txt, tag=Sample-01 19 | 20 | [filter_remote] 21 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumult-rule.conf,force-policy=reject, tag= hostvn, enabled=true 22 | 23 | 24 | [rewrite_remote] 25 | https://raw.githubusercontent.com/langkhach270389/Scripting/master/QuantumultX/Fake_Vip.txt, tag=Fake_vip_LangKhach, enabled=true 26 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumultX-rewrite.conf, tag=HostVn, enabled=true 27 | 28 | [server_local] 29 | 30 | 31 | ;shadowsocks=ss-a.example.com:80, method=chacha20, password=pwd, obfs=http, obfs-host=bing.com, obfs-uri=/resource/file, fast-open=false, udp-relay=false, server_check_url=http://www.apple.com/generate_204, tag=Sample-A 32 | ;shadowsocks=ss-b.example.com:80, method=chacha20, password=pwd, obfs=http, obfs-host=bing.com, obfs-uri=/resource/file, fast-open=false, udp-relay=false, tag=Sample-B 33 | ;shadowsocks=ss-c.example.com:443, method=chacha20, password=pwd, obfs=tls, obfs-host=bing.com, fast-open=false, udp-relay=false, tag=Sample-C 34 | ;shadowsocks=ssr-a.example.com:443, method=chacha20, password=pwd, ssr-protocol=auth_chain_b, ssr-protocol-param=def, obfs=tls1.2_ticket_fastauth, obfs-host=bing.com, tag=Sample-D 35 | ;shadowsocks=ws-a.example.com:80, method=aes-128-gcm, password=pwd, obfs=ws, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=Sample-E 36 | ;shadowsocks=ws-b.example.com:80, method=aes-128-gcm, password=pwd, obfs=ws, fast-open=false, udp-relay=false, tag=Sample-F 37 | ;shadowsocks=ws-tls-a.example.com:443, method=aes-128-gcm, password=pwd, obfs=wss, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=Sample-G 38 | 39 | [filter_local] 40 | host-keyword, mobile-api.adguard.com/api/1.0/status.html, reject 41 | ;user-agent, ?abc*, proxy 42 | ;host, www.google.com, proxy 43 | ;host-keyword, adsite, reject 44 | ;host-suffix, googleapis.com, proxy 45 | final, direct 46 | 47 | 48 | # 49 | # The "reject" returns HTTP status code 404 with no content. 50 | # The "reject-200" returns HTTP status code 200 with no content. 51 | # The "reject-img" returns HTTP status code 200 with content of 1px gif. 52 | # The "reject-dict" returns HTTP status code 200 with content of empty json object. 53 | # The "reject-array" returns HTTP status code 200 with content of empty json array. 54 | # The "request-header" works for all the http headers not just one single header, so you can match two or more headers including CRLF in one regular expression. 55 | # The length and encoding related HTTP header fields will be automatically processed by Quantumult if the "rewrite" is body related, so you should not handle them by yourself. The max supported response size is 256kB(decompressed) for response-body and script-response-body. 56 | # When using javascript in rewrite, you can use those objects: $request, $response, $notify(title, subtitle, message), console.log(message) and Quantumult’s built-in objects all have prefix "$". 57 | # Supports: $request.scheme, $request.method, $request.url, $request.path, $request.headers, $response.statusCode, $response.headers, $response.body 58 | # The $notify(title, subtitle, message) will post iOS notifications if Quantumult notification has been enabled. 59 | # The console.log(message) will output logs to Quantumult log file if the log level is "debug". 60 | # 61 | 62 | [mitm] 63 | passphrase = F7E29724 64 | p12 = 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 65 | skip_validating_cert = true 66 | ;force_sni_domain_name = true 67 | 68 | -------------------------------------------------------------------------------- /QuantumultX/Quantumult_Fakevip_LangKhach_Remote.txt: -------------------------------------------------------------------------------- 1 | [general] 2 | server_check_url=http://www.google.com/generate_204 3 | ;geo_location_checker=http://www.example.com/json/, https://www.example.com/script.js 4 | ;dns_exclusion_list=*.qq.com, qq.com, *.cmpassport.com 5 | ;ssid_suspended_list=LINK_22E174, LINK_22E175 6 | udp_whitelist=53, 1024-49151 7 | ;excluded_routes= 192.168.0.0/16, 172.16.0.0/12, 100.64.0.0/10, 10.0.0.0/8 8 | ;icmp_auto_reply=true 9 | [dns] 10 | server=1.1.1.1 11 | server=1.0.0.1 12 | server=8.8.8.8 13 | server=8.8.4.4 14 | 15 | [policy] 16 | static=BẬT, reject, img-url=https://github.com/Koolson/Qure/raw/master/IconSet/Direct.png 17 | static=TẮT, direct, img-url=https://github.com/Koolson/Qure/raw/master/IconSet/Reject.png 18 | static=Chặn OTA, TẮT, BẬT, img-url=https://github.com/Koolson/Qure/raw/master/IconSet/Apple_Update.png 19 | static=Chặn Ads, BẬT, TẮT, img-url=https://github.com/Koolson/Qure/raw/master/IconSet/Advertising.png 20 | static=Chặn FB, TẮT, BẬT, img-url=https://github.com/Koolson/Qure/raw/master/IconSet/Facebook.png 21 | 22 | [server_remote] 23 | 24 | [filter_remote] 25 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumult-exceptions-rule.conf, tag=🇻🇳hostsVN, force-policy=direct, enabled=true 26 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumult-rule.conf, tag=🇻🇳hostsVN, force-policy=Chặn Ads, enabled=true 27 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumult-OTA.conf, tag=🇻🇳hostsVN-OTA, force-policy=Chặn OTA, enabled=true 28 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumult-FB.conf, tag=🇻🇳hostsVN-FB, force-policy=Chặn FB, enabled=true 29 | 30 | [rewrite_remote] 31 | https://raw.githubusercontent.com/langkhach270389/Scripting/master/QuantumultX/Fake_Vip.txt, tag=Fake_Remote_LangKhach, update-interval=86400, opt-parser=false, enabled=true 32 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumultX-rewrite.conf, tag=🇻🇳hostsVN, enabled=true 33 | 34 | [server_local] 35 | ;http=192.168.1.234:8888, username=, password=, fast-open=false, udp-relay=false, certificate=1 ,tag=DEBUG(Charles Fiddler) 36 | ;shadowsocks=ss-a.example.com:80, method=chacha20, password=pwd, obfs=http, obfs-host=bing.com, obfs-uri=/resource/file, fast-open=false, udp-relay=false, server_check_url=http://www.apple.com/generate_204, tag=Sample-A 37 | ;shadowsocks=ss-b.example.com:80, method=chacha20, password=pwd, obfs=http, obfs-host=bing.com, obfs-uri=/resource/file, fast-open=false, udp-relay=false, tag=Sample-B 38 | ;shadowsocks=ss-c.example.com:443, method=chacha20, password=pwd, obfs=tls, obfs-host=bing.com, fast-open=false, udp-relay=false, tag=Sample-C 39 | ;shadowsocks=ssr-a.example.com:443, method=chacha20, password=pwd, ssr-protocol=auth_chain_b, ssr-protocol-param=def, obfs=tls1.2_ticket_fastauth, obfs-host=bing.com, tag=Sample-D 40 | ;shadowsocks=ws-a.example.com:80, method=aes-128-gcm, password=pwd, obfs=ws, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=Sample-E 41 | ;shadowsocks=ws-b.example.com:80, method=aes-128-gcm, password=pwd, obfs=ws, fast-open=false, udp-relay=false, tag=Sample-F 42 | ;shadowsocks=ws-tls-a.example.com:443, method=aes-128-gcm, password=pwd, obfs=wss, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=Sample-G 43 | 44 | [filter_local] 45 | ;host, *, DEBUG(Charles Fiddler) 46 | ;user-agent, ?abc*, proxy 47 | ;host, www.google.com, proxy 48 | ;host-keyword, adsite, reject 49 | ;host-suffix, googleapis.com, proxy 50 | final, direct 51 | 52 | [mitm] 53 | passphrase = 3FDCC70A 54 | p12 = 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 55 | 56 | skip_validating_cert = true 57 | force_sni_domain_name = true 58 | ;empty_sni_enabled = true 59 | 60 | [rewrite_local] 61 | 62 | [task_local] 63 | 64 | -------------------------------------------------------------------------------- /QuantumultX/Quantumult_Fakevip_LangKhach_workingcopy.txt: -------------------------------------------------------------------------------- 1 | [general] 2 | server_check_url=http://www.google.com/generate_204 3 | ;geo_location_checker=http://www.example.com/json/, https://www.example.com/script.js 4 | ;dns_exclusion_list=*.qq.com, qq.com, *.cmpassport.com 5 | ;ssid_suspended_list=LINK_22E174, LINK_22E175 6 | udp_whitelist=53, 1024-49151 7 | ;excluded_routes= 192.168.0.0/16, 172.16.0.0/12, 100.64.0.0/10, 10.0.0.0/8 8 | ;icmp_auto_reply=true 9 | [dns] 10 | server=1.1.1.1 11 | server=1.0.0.1 12 | server=8.8.8.8 13 | server=8.8.4.4 14 | 15 | [policy] 16 | static=BẬT, reject, img-url=https://github.com/Koolson/Qure/raw/master/IconSet/Direct.png 17 | static=TẮT, direct, img-url=https://github.com/Koolson/Qure/raw/master/IconSet/Reject.png 18 | static=Chặn OTA, TẮT, BẬT, img-url=https://github.com/Koolson/Qure/raw/master/IconSet/Apple_Update.png 19 | static=Chặn Ads, BẬT, TẮT, img-url=https://github.com/Koolson/Qure/raw/master/IconSet/Advertising.png 20 | static=Chặn FB, TẮT, BẬT, img-url=https://github.com/Koolson/Qure/raw/master/IconSet/Facebook.png 21 | 22 | [server_remote] 23 | 24 | 25 | [filter_remote] 26 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumult-exceptions-rule.conf, tag=🇻🇳hostsVN, force-policy=direct, enabled=true 27 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumult-rule.conf, tag=🇻🇳hostsVN, force-policy=Chặn Ads, enabled=true 28 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumult-OTA.conf, tag=🇻🇳hostsVN-OTA, force-policy=Chặn OTA, enabled=true 29 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumult-FB.conf, tag=🇻🇳hostsVN-FB, force-policy=Chặn FB, enabled=true 30 | 31 | [rewrite_remote] 32 | https://raw.githubusercontent.com/langkhach270389/Scripting/master/QuantumultX/Fake_Local-workingcopy.txt, tag=Fake iAP Local Lãng Khách, enabled=true 33 | https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-quantumultX-rewrite.conf, tag=🇻🇳hostsVN, enabled=true 34 | 35 | [server_local] 36 | ;http=192.168.1.234:8888, username=, password=, fast-open=false, udp-relay=false, certificate=1 ,tag=DEBUG(Charles Fiddler) 37 | ;shadowsocks=ss-a.example.com:80, method=chacha20, password=pwd, obfs=http, obfs-host=bing.com, obfs-uri=/resource/file, fast-open=false, udp-relay=false, server_check_url=http://www.apple.com/generate_204, tag=Sample-A 38 | ;shadowsocks=ss-b.example.com:80, method=chacha20, password=pwd, obfs=http, obfs-host=bing.com, obfs-uri=/resource/file, fast-open=false, udp-relay=false, tag=Sample-B 39 | ;shadowsocks=ss-c.example.com:443, method=chacha20, password=pwd, obfs=tls, obfs-host=bing.com, fast-open=false, udp-relay=false, tag=Sample-C 40 | ;shadowsocks=ssr-a.example.com:443, method=chacha20, password=pwd, ssr-protocol=auth_chain_b, ssr-protocol-param=def, obfs=tls1.2_ticket_fastauth, obfs-host=bing.com, tag=Sample-D 41 | ;shadowsocks=ws-a.example.com:80, method=aes-128-gcm, password=pwd, obfs=ws, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=Sample-E 42 | ;shadowsocks=ws-b.example.com:80, method=aes-128-gcm, password=pwd, obfs=ws, fast-open=false, udp-relay=false, tag=Sample-F 43 | ;shadowsocks=ws-tls-a.example.com:443, method=aes-128-gcm, password=pwd, obfs=wss, obfs-uri=/ws, fast-open=false, udp-relay=false, tag=Sample-G 44 | 45 | [filter_local] 46 | ;host, *, DEBUG(Charles Fiddler) 47 | ;user-agent, ?abc*, proxy 48 | ;host, www.google.com, proxy 49 | ;host-keyword, adsite, reject 50 | ;host-suffix, googleapis.com, proxy 51 | final, direct 52 | 53 | [mitm] 54 | passphrase = 3FDCC70A 55 | p12 = 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 56 | 57 | skip_validating_cert = true 58 | force_sni_domain_name = true 59 | ;empty_sni_enabled = true 60 | 61 | [rewrite_local] 62 | 63 | [task_local] 64 | 0 6-23/3 * * * langkhach/Ncov.js, enabled=true 65 | 0 6-23/1 * * * langkhach/Appmonitor.js, enabled=true 66 | 67 | -------------------------------------------------------------------------------- /Sharp:3D Pro.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Quantumult X 4 | unlock Shapr:3D PRO 5 | 6 | [rewrite_local] 7 | # unlock Shapr3D 8 | ^https?:\/\/prod\.api\.shapr3d\.com\/user-management\/profile-with-device url script-response-body Shapr3D.js 9 | 10 | [mitm] 11 | hostname = prod.api.shapr3d.com, 12 | 13 | */ 14 | 15 | let obj = JSON.parse($response.body); 16 | obj.subscriptionType = "pro_year"; 17 | obj.subscriptionExpires = "2100-01-01T00:00:00.000Z"; 18 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Surge/DataFlow.js: -------------------------------------------------------------------------------- 1 | //Thông tin đăng nhập 2 | const account = { 3 | user: "user", 4 | pass: "pass", 5 | }; 6 | 7 | //apiloginmobile 8 | var body = "account="+account.user + "&build_code=2020.4.15.2&cmnd=&device_id=00000000-0000-0000-0000-000000000000&device_name=L%20ng%20Kh%20ch%20s%20iPhone%20%28iPhone%20X%29&keyDeviceAcc=xxx&os_type=ios&os_version=13.300000&password="+account.pass + "&version_app=4.3.4"; 9 | 10 | var apiloginmobile = { 11 | url: 'https://apivtp.vietteltelecom.vn:6768/myviettel.php/loginMobile', 12 | headers: {}, 13 | body: body, 14 | }; 15 | 16 | // 17 | async function launch() { 18 | await loginmobile(); 19 | } 20 | 21 | launch() 22 | 23 | function loginmobile(){ 24 | $httpClient.post(apiloginmobile, function(error, response, data){ 25 | if (error) { 26 | //console.log('error'); 27 | } else { 28 | //console.log(data); 29 | if(response.status ==200){ 30 | let obj= JSON.parse(data); 31 | if(obj["errorCode"] === "0"){ 32 | var token= obj["data"]["data"]["token"]; 33 | getdataremain(token); 34 | } 35 | else{ 36 | $notification.post("Data Flow acount user/pass false‼️", "", ""); 37 | //console.log(data); 38 | } 39 | } 40 | } 41 | $done(); 42 | }); 43 | } 44 | 45 | function getdataremain(token){ 46 | var body = "build_code=2020.4.15.2&device_id=00000000-0000-0000-0000-000000000000&device_name=L%20ng%20Kh%20ch%20s%20iPhone%20%28iPhone%20X%29&os_type=ios&os_version=13.300000&token=" + token+ "&version_app=4.3.4"; 47 | var dataremain = { 48 | url: 'https://apivtp.vietteltelecom.vn:6768/myviettel.php/getDataRemain', 49 | headers: {}, 50 | body: body, 51 | }; 52 | $httpClient.post(dataremain, function(error, response, data){ 53 | if (error) { 54 | //console.log('error'); 55 | } else { 56 | //console.log(data); 57 | if(response.status ==200){ 58 | let obj= JSON.parse(data); 59 | if(obj["errorCode"] === "0"){ 60 | var data= obj["data"][0]; 61 | $notification.post("Data Flow: " + data["pack_name"], "", "Remain: " + data["remain"] +"( ~" + Math.round(data["remain_mb"]/1024) + " GB)\nExpiredate: " + data["expireDate"]); 62 | } 63 | else{ 64 | $notification.post("Data Flow token expired‼️", "", "Try to login again in app My Viettel"); 65 | } 66 | } 67 | } 68 | $done(); 69 | }); 70 | } -------------------------------------------------------------------------------- /Surge/IAP_PREMIUM_LangKhach_Release.conf: -------------------------------------------------------------------------------- 1 | [General] 2 | loglevel = notify 3 | bypass-system = true 4 | bypass-tun = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12,127.0.0.0/24 5 | timeout = 5 6 | test-timeout = 5 7 | shared-jsvm-context = true 8 | show-error-page-for-reject = true 9 | network-framework = false 10 | proxy-test-url = http://www.google.com/generate_204 11 | internet-test-url = http://www.google.com/generate_204 12 | skip-proxy = 127.0.0.1, 192.168.0.0/16, 192.168.1.0/16, 10.0.0.0/8, ::ffff:0.0.0.0/1, ::ffff:128.0.0.0/1, localhost, *.local, e.crashlytics.com, captive.apple.com,*ess.apple.com, 13 | always-real-ip = *.nextdns.io, 14 | tls-provider = openssl 15 | tls = 13 16 | ipv6 = false 17 | external-controller-access = langkhach@0.0.0.0:6170 18 | allow-wifi-access = true 19 | http-listen = 0.0.0.0:6152 20 | socks5-listen = 0.0.0.0:6153 21 | wifi-access-http-port = 6152 22 | wifi-access-socks5-port = 6153 23 | use-default-policy-if-wifi-not-primary = true 24 | dns-server = 8.8.8.8, 8.8.4.4, 1.1.1.1, 1.0.0.1 25 | doh-server = https://dns.nextdns.io/3994b1/L%C3%A3ng%20Kh%C3%A1ch%27s%20iPhone 26 | doh-follow-outbound-mode = false 27 | doh-format = wireformat 28 | wifi-assist = true 29 | hijack-dns = 8.8.8.8:53, 8.8.4.4:53 30 | tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12 31 | tun-included-routes = 192.168.1.12/32 32 | 33 | [Replica] 34 | hide-apple-request = 0 35 | hide-crashlytics-request = 1 36 | hide-crash-reporter-request = 1 37 | hide-udp = 1 38 | use-keyword-filter = false 39 | keyword-filter-type = blacklist 40 | keyword-filter = icloud,ocsp,logs,analytic,ads,iad,adthor,applovin,appnext,talk,dropbox,spys,branch,nexdns,.log,log.,measurement,lightricks,gmail.com,duckduckgo,nextdns,github,facebook,mzstatic,nordvpn,zalo, 41 | 42 | [Proxy] 43 | 🟢 Wi-Fi = direct, interface=en0, allow-other-interface=true 44 | 🔵 Cellular(2G/3G/LTE) = direct, interface=pdp_ip0, allow-other-interface=true 45 | 46 | [Proxy Group] 47 | FINAL = ssid, default = WI-FI, cellular = CELLULAR 48 | WI-FI = select, 🟢 Wi-Fi, PROXY 49 | CELLULAR = select, 🔵 Cellular(2G/3G/LTE), PROXY 50 | PROXY = select, policy-path=servers/winscribe.list, update-interval=0 51 | IAP-PREMIUM = select, FakeiAP-Server, FINAL 52 | PXX-BUY = select, IAP-PREMIUM, FINAL 53 | MEDIA = select, FINAL, PROXY 54 | Facebook = select, FINAL, PROXY 55 | SPEEDTEST = select, FINAL, PROXY 56 | FakeiAP-Server = url-test, url=http://www.google.com/generate_204, policy-path=https://raw.githubusercontent.com/tinycarrot/tinycarrot/master/Surge/FakeiAP-Server-Surge.txt, update-interval=21600, timeout=0, interval=0, tolerance=0 57 | ADS = select, policy-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/servers/Ads.list, update-interval=-1 58 | 59 | [Rule] 60 | USER-AGENT,FBiOSSDK*,ADS 61 | DOMAIN-SUFFIX,connect.facebook.net,ADS 62 | DOMAIN-SUFFIX,discovery.api.zaloapp.com,ADS 63 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/Facebook.list,Facebook 64 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/GoogleDrive.list,FINAL 65 | RULE-SET,https://raw.githubusercontent.com/eHpo1/Rules/master/Surge4/Ruleset/Sub/Pornhub.list,MEDIA 66 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/Netflix.list,MEDIA 67 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/HBO.list,MEDIA 68 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/YouTubeMusic.list,MEDIA 69 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/Youtube.list,MEDIA 70 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/Spotify.list,MEDIA 71 | RULE-SET,https://raw.githubusercontent.com/tinycarrot/tinycarrot/master/Surge/FakeiAP-Filter-Surge.txt,IAP-PREMIUM 72 | AND,((USER-AGENT,itunesstored*), (DOMAIN-KEYWORD,-buy.itunes.apple.com)),PXX-BUY 73 | RULE-SET,https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-surge-exceptions-rule.conf,FINAL 74 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/Direct.list,FINAL 75 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/Speedtest.list,SPEEDTEST 76 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/Kakaotalk.list,ADS 77 | RULE-SET,https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-surge-rewrite.conf,ADS 78 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/BlockOTA.list,ADS 79 | RULE-SET,https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hostsVN-surge-rule.conf,ADS 80 | RULE-SET,https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/rules/Antirevoke.list,ADS 81 | AND,((DOMAIN,raw.githubusercontent.com), (USER-AGENT,Surge*)),FINAL,notification-text="♻️External Resources Update",notification-interval=3600 82 | IP-CIDR,0.0.0.0/32,REJECT,no-resolve 83 | # GEOIP,VN,FINAL 84 | RULE-SET,LAN,FINAL 85 | FINAL,FINAL,dns-failed 86 | 87 | [Host] 88 | lightning-sign.com = server:8.8.8.8 89 | *.nordvpn.com = server:8.8.8.8 90 | *dropbox* = server:8.8.8.8 91 | *.ipv6.nextdns.io = server:0.0.0.0 92 | *ess.apple.com = server:8.8.8.8 93 | *.google.com = server:8.8.8.8 94 | *.icloud.com = server:8.8.8.8 95 | in.appcenter.ms = server:8.8.8.8 96 | *.apple.com = server:8.8.8.8 97 | *.crashlytics.com = server:8.8.8.8 98 | ip6-localhost = ::1 99 | ip6-loopback = ::1 100 | 101 | [URL Rewrite] 102 | (assets)\/(com_apple_MobileAsset_SoftwareUpdate.+) $1\/tvOS12DeveloperSeed\/$2 302 103 | (.*video_id=\w{32})(.*watermark=)(.*) $1 302 104 | ^https:\/\/mobile-api\.adguard\.com\/api\/1\.0\/ios_validate_receipt$ https://raw.githubusercontent.com/langkhach270389/Scripting/master/Adguard.rsp 302 105 | 106 | [SSID Setting] 107 | "X-iPhone" cellular-mode=true 108 | 109 | [MITM] 110 | skip-server-cert-verify = true 111 | hostname = api.programminghub.io, sk.ulysses.app, -*.api.zaloapp.com, count.dungmori.com, global.bigwinepot.com:0, prod.api.shapr3d.com, api.textnow.me, *.videostarapp.com, api.nordvpn.com, aweme*.snssdk.com, api*.amemv.com, *-hl.snssdk.com, api*.musical.ly, api*.tiktokv.com, -www.youtube.com, -s.youtube.com, mp.bybutter.com, api.kidsup.net, nomo.dafork.com, -*.googlevideo.com, api.meiease.c*, *.fuliapps.com, splice.oracle.*.com, avatar-nct.nixcdn.com, spclient.wg.spotify.com, oa.zalo.me, vsco.co, api.gyrosco.pe, origin-prod-phoenix.jibjab.com, api.termius.com, api.picsart.c*, api.unfold.app, viva-asia1.vvbrd.com, graph.nhaccuatui.com, api.memrise.com, buy.itunes.apple.com, api.sync.me, pool.elsanow.io, lambda.us-east-1.amazonaws.com, api.mondlylanguages.com, api.busuu.com, owa.videoshowiosglobalserver.com:0, accounts.elevateapp.net, purchases.ws.pho.to, api-intl.mr.meitu.com, bmall.camera360.com, api.tv.zing.vn, api.calm.com, www.calm.com, api.global.mp3.zing.vn, apimboom2.globaldelight.net, photos.adobe.io, license.pdfexpert.com, subs.platforms.team, apic.musixmatch.com, api.getmimo.com, api.revenuecat.com, pixmagicapp.com, engbright.com, api.lingokids.com, www.peacefulsoundsapp.com, duolingo-leaderboards-prod.duolingo.com, commerce-i18n-api.faceu.mobi, mobile-api.adguard.com, api.blinkist.com, api.sololearn.com, receipts.cerebralgardens.com, api.pushover.net, api-cs.intsig.net, api.overhq.com, api.appsyscode.com, api.freeletics.com, api.shred.app, receipt-validator.herewetest.com, api.deezer.com, iap.aps-sdk.com, -education.github.com, backend.getdrafts.com, ssl-api.itranslateapp.com, dayone.me, license.enpass.io, *.grammarly.com, splice.oracle.*.com, api.keepkeep.com, planner5d.com, api-production.endel.io, lcs-mobile-cops.adobe.io, secure.istreamer.com, api.faceapp.io, api.vcus.meitu.com, *shopee.vn, api.madewithfaded.com, www.api.monkeyuni.net, www.fshare.vn, www.monkeyuni.net, api.spendee.com, api.flexibits.com, cloudapp.aiarlabs.com, api.cokepokes.com, api-kinemaster-assetstore.*, api.unicorn-soft.com, www.patreon.com, api.medium.com, user-api.speedtest.net, api.wlvpn.com, www2.https-proxy.me, api.zingmp3.vn, luanxt.com, api.filmicpro.com, updates.speedify.com, centralized.zaloapp.com, api.cercube.com, checkout.stripe.com, menscoach-api.asqq.io, www.lanzous.com, api.glxplay.io 112 | ca-passphrase = ADE02BB0 113 | ca-p12 = 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 114 | 115 | [Script] 116 | Muscle Booster = type=http-response,pattern=^https:\/\/menscoach-api\.asqq\.io\/prod\/user$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/MuscleBooster.js,script-update-interval=0 117 | Sharp:3D Pro = type=http-response,pattern=^https:\/\/prod\.api\.shapr3d\.com\/user-management\/profile-with-device,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Sharp%3A3D%20Pro.js,script-update-interval=0 118 | Textnow = type=http-response,pattern=^https:\/\/api\.textnow\.me\/api2.0\/users\/.+,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Textnow.js,script-update-interval=0 119 | VideoStar = type=http-response,pattern=^https:\/\/.*\.videostarapp\.com\/scripts\/subsNew\.php,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/VideoStar.js,script-update-interval=0 120 | Monkey = type=http-response,pattern=^https:\/\/www\.api\.monkeyuni\.net\/api\/.+\/mobile\/account\/load-update,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/monkey.js,script-update-interval=0 121 | Nomo = type=http-response,pattern=^https:\/\/nomo\.dafork\.com\/api\/v2\/iap\/ios_product_list,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/nomo.js,script-update-interval=0 122 | Faded = type=http-response,pattern=^https:\/\/api\.madewithfaded\.com\/api\/.+\/subscription\/validate$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Faded.js,script-update-interval=0 123 | Remove-nonematch = type=http-request,pattern=^https:\/\/secure\.istreamer\.com\/backend$,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/remove-nonematch.js,script-update-interval=0 124 | Playerxtreme = type=http-response,pattern=^https:\/\/secure\.istreamer\.com\/backend$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/playerxtreme.js,script-update-interval=0 125 | Grammarly = type=http-response,pattern=^https:\/\/subscription\.grammarly\.com\/api\/v1$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/grammarly.js,script-update-interval=0 126 | Nichi = type=http-response,pattern=https?:\/\/mp\.bybutter\.com\/mood\/(official-templates|privileges),requires-body=1,max-size=1048576,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/nichi.js,script-update-interval=0 127 | Splice = type=http-response,pattern=https:\/\/splice\.oracle\.\w+\.com\/devices\/me,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/splice.js,script-update-interval=0 128 | Youtube = type=http-request,pattern=^https://[\s\S]*\.googlevideo\.com/.*&(oad|ctier),script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/youtube.surge.js,script-update-interval=0 129 | Planner5d = type=http-response,pattern=^https:\/\/planner5d\.com\/api\/sets,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/planner5d.js,script-update-interval=0 130 | Dayone = type=http-response,pattern=^https:\/\/dayone\.me\/api\/(users|v2\/users\/(account-status|receipt))$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/dayone.surge.js,script-update-interval=0 131 | Endel = type=http-response,pattern=^https:\/\/api-production\.endel\.io\/.*\/user$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/endel.js,script-update-interval=0 132 | Itranslate = type=http-response,pattern=^https:\/\/ssl-api\.itranslateapp\.com\/.*\/subscriptions\/.*\/ios$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/itranslate.js,script-update-interval=0 133 | Photoshop = type=http-response,pattern=^https:\/\/lcs-mobile-cops\.adobe\.io\/mobile_profile,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/photoshop.js,script-update-interval=0 134 | Draft = type=http-response,pattern=^https:\/\/backend\.getdrafts\.com\/api\/.*\/verification,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/draft.js,script-update-interval=0 135 | Workingcopy = type=http-response,pattern=^https:\/\/education\.github\.com\/api\/user$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/workingcopy.js,script-update-interval=0 136 | Speak&Translate = type=http-response,pattern=^https:\/\/receipt-validator\.herewetest\.com\/apple\/verifyTransaction$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/speak&translate.js,script-update-interval=0 137 | Over = type=http-response,pattern=^https:\/\/api\.overhq\.com\/(user\/token\/refresh$|subscription\/verifyReceipt$),requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/over.vip.js,script-update-interval=0 138 | CamScaner = type=http-response,pattern=^https:\/\/(api|api-cs)\.intsig\.net\/purchase\/cs\/query_property\?,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/CamScaner.js,script-update-interval=0 139 | Kinemaster = type=http-response,pattern=^https:\/\/api-kinemaster-assetstore\.(nexstreaming|kinemasters)\.com\/.+\/product\/verifyReceipt$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/kinemaster.js,script-update-interval=0 140 | Ulike = type=http-response,pattern=^https:\/\/commerce-i18n-api\.faceu\.mobi\/commerce\/v1\/subscription\/user_info$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/ulike.js,script-update-interval=0 141 | Musicalm = type=http-response,pattern=^https:\/\/www\.peacefulsoundsapp\.com\/api\/v1\/init$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/musicalm.js,script-update-interval=0 142 | Lingokids = type=http-response,pattern=^https:\/\/api\.lingokids\.com\/v1\/renovate_session$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/lingokids.vip.js,script-update-interval=0 143 | Bright = type=http-response,pattern=^https:\/\/engbright\.com\/app-portal\/apple\/receipt$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/verify_receipt.js,script-update-interval=0 144 | Revenuecat = type=http-response,pattern=^https:\/\/api\.revenuecat\.com\/.+\/(receipts$|subscribers\/[a-zA-Z0-9_-]*$),requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/revenuecat.js,script-update-interval=0 145 | Momo = type=http-response,pattern=^https:\/\/api\.getmimo\.com\/v1\/subscriptions$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/mimo.vip.js,script-update-interval=0 146 | Boom = type=http-response,pattern=^https:\/\/apimboom2\.globaldelight\.net\/itunesreceipt_v2\.php$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/verify_receipt.js,script-update-interval=0 147 | Musixmatch = type=http-response,pattern=^https:\/\/apic\.musixmatch\.com\/ws\/.*\/config\.get,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/musixmatch.miao.js,script-update-interval=0 148 | Productive = type=http-response,pattern=^https:\/\/subs\.platforms\.team\/.+\/apple\/verify$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/productive.js,script-update-interval=0 149 | Pdfexpert = type=http-response,pattern=^https:\/\/license\.pdfexpert\.com\/api\/.+\/subscription\/(refresh$|check$),requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Pdfexpert.vip.js,script-update-interval=0 150 | Lightroom = type=http-response,pattern=^https:\/\/photos\.adobe\.io\/v2\/accounts,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Lightroom.js,script-update-interval=0 151 | Calm = type=http-response,pattern=^https:\/\/api\.calm\.com\/(me$|receipt$),requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/calm.vip.js,script-update-interval=0 152 | ZingTv = type=http-response,pattern=^https?:\/\/api\.tv\.zing\.vn\/.+/user,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/zingtvvipv1.js,script-update-interval=0 153 | Camera360 = type=http-response,pattern=^https:\/\/bmall\.camera360\.com\/api\/(iap\/check-receipt$|mix\/getinfo$),requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/camera360.vip.js,script-update-interval=0 154 | Beautyplus = type=http-response,pattern=^https:\/\/api-intl\.mr\.meitu\.com/.*/subs_offer_elg$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/beautyplusvip.js,script-update-interval=0 155 | Elevate = type=http-response,pattern=^https:\/\/accounts\.elevateapp\.net\/api\/users\?user%5Bauthentication_token,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/elevate.vip.js,script-update-interval=0 156 | Busuu = type=http-response,pattern=^https:\/\/api\.busuu\.com\/users\/me,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/busuu.vip.js,script-update-interval=0 157 | Mondly = type=http-response,pattern=^https:\/\/api\.mondlylanguages\.com\/v1\/ios\/user\/sync$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/mondly.vip.js,script-update-interval=0 158 | Drops = type=http-response,pattern=^https:\/\/lambda\.us-east-1\.amazonaws\.com/.*/functions\/prod-4-syncPurchases\/invocations$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/drops.js,script-update-interval=0 159 | ElsaSpeak = type=http-response,pattern=^https:\/\/pool\.elsanow\.io\/user\/api\/v1\/purchase$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/elsa-response.js,script-update-interval=0 160 | Elsa-header = type=http-request,pattern=^https:\/\/pool\.elsanow\.io\/content\/api\/v1\/modules\/download$,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/elsa-header.js,script-update-interval=0 161 | Sync.me = type=http-response,pattern=^https:\/\/api\.sync\.me\/api\/purchases\/(report_purchases|get_purchases),requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/syn.me.js,script-update-interval=0 162 | Jibjab = type=http-response,pattern=^https:\/\/origin-prod-phoenix\.jibjab\.com\/v1\/user$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/jibjab.vip.js,script-update-interval=0 163 | Memrise = type=http-response,pattern=^https:\/\/api\.memrise\.com\/.+\/(me\/$|dashboard\/$|leaderboards\/following\/),requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/memrise.vip.js,script-update-interval=0 164 | Nhaccuatui = type=http-response,pattern=^https:\/\/graph\.nhaccuatui\.com\/.*\/users\/info,requires-body=1,max-size=0,debug=1,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/nhaccuatui.js,script-update-interval=0 165 | Unfold = type=http-response,pattern=^https:\/\/api\.unfold\.app\/v1\/ios\/receipts$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Unfold.vip.js,script-update-interval=0 166 | Videoshow = type=http-response,pattern=^https:\/\/owa\.videoshowiosglobalserver\.com:8095\/zone\/1\.0\.1\/iosPayClient\/(payVerify\.htm\?osType=2$|imeiVerify\.htm\?osType=2$),requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/videoshow.vip.js,script-update-interval=0 167 | Vivavideo = type=http-response,pattern=^https:\/\/viva-asia1\.vvbrd\.com\/api\/rest\/u\/vip,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/vivavideo.vip.js,script-update-interval=0 168 | PicsArt = type=http-response,pattern=https:\/\/api\.(picsart|meiease)\.c(n|om)\/users\/show\/me\.json,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/picsArt.vip.js,script-update-interval=0 169 | Terminus = type=http-response,pattern=https:\/\/api\.termius\.com\/api\/v3\/bulk\/account\/,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Terminus.js,script-update-interval=0 170 | Gyroscope = type=http-response,pattern=^https:\/\/api\.gyrosco\.pe\/v1\/account\/$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Gyroscope.vip.js,script-update-interval=0 171 | Vsco = type=http-response,pattern=^https?:\/\/vsco\.co\/api\/subscriptions\/2.1\/user-subscriptions\/,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/vsco.js,script-update-interval=0 172 | verify_receipt.js = type=http-response,pattern=^https:\/\/buy\.itunes\.apple\.com\/verifyReceipt$|^https:\/\/www2\.https-proxy\.me\/verify$,requires-body=1,max-size=262144,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/verify_receipt.js,script-update-interval=0 173 | Sololearn = type=http-response,pattern=^https:\/\/api\.sololearn\.com\/(authenticateDevice|challenge\/GetContestFeed|Profile\/GetProfile)$,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/sololearn.js,script-update-interval=0 174 | Altstore beta = type=http-response,pattern=https:\/\/www\.patreon\.com\/api\/oauth2\/v2\/identity?,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/altstore.js,script-update-interval=0 175 | Shopee_cookie = type=http-request,pattern=^https:\/\/shopee\.vn\/me\/setting,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/shopee_cookie.js,script-update-interval=0 176 | Shopee_checkin = type=cron,cronexp=0 7 * * *,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/shopee_checkin.js,script-update-interval=0 177 | Ncov = type=cron,cronexp=0 0 6-23/6 * * *,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/ncov.js,script-update-interval=0 178 | Dnspod = type=dns,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/dnspod.js,script-update-interval=0 179 | Nextdns_linkedip = type=event,event-name=network-changed,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/nextdns_linkedip.js,script-update-interval=0 180 | // Outbound Mode = type=event,event-name=network-changed,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/Outbound%20Mode.js,script-update-interval=0 181 | DataFlow = type=event,event-name=network-changed,debug=1,script-path=DataFlow.js 182 | Weather = type=cron,cronexp=0 0 6-18/6 * * *,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/weather.js,script-update-interval=0 183 | Appmonitor = type=cron,cronexp=0 0 6-23/1 * * *,timeout=200,script-path=scripts/Appmonitor.js 184 | -------------------------------------------------------------------------------- /Surge/Outbound Mode.js: -------------------------------------------------------------------------------- 1 | /* 2 | event network-changed by Tempoblink 3 | version: 2.1 4 | auther: tempoblink 5 | [Script] 6 | Outbound Mode = type=event,event-name=network-changed,debug=1,script-path=Outbound-changed.js 7 | */ 8 | 9 | //The Notification Format. 10 | //You can change the notification by yourself. 11 | let TITLE = 'Outbound-changed'; 12 | let SUBTITLE_CELLULAR = 'Cellular: '; 13 | let SUBTITLE_WIFI = 'Wi-Fi: '; 14 | let ABOUT_MODE = 'Outbound Mode -> '; 15 | let ABOUT_TIME = 'Time: '; 16 | let FORMAT_TIME = "yyyy-MM-dd hh:mm:ss"; 17 | 18 | //white ssid and black ssid ob rule. 19 | let WHITENAME = [ 20 | "Tầng 3", 21 | "home_ssid2" 22 | ]; 23 | let BLACKNAME = [ 24 | "free_ssid1", 25 | "free_ssid2" 26 | ]; 27 | 28 | //The default outbound, you can change it : 'Direct' or 'Rule' or 'Global-proxy'. 29 | //BLACK|WHITE|OTHERS is to control the WIFI outbound mode, CELLULAR is to control the 2G/3G/4G outbound mode. 30 | //For example: 31 | //BLACKNAME use BLACK select outbound is direct 32 | //WHITENAME use WHITE select outbound is rule 33 | let BLACK = 'Direct'; 34 | let WHITE = 'Rule'; 35 | let OTHERS = 'Rule'; 36 | let CELLULAR = 'Rule'; 37 | 38 | let NETWORK = $network.wifi.ssid; 39 | let TAG = false; 40 | 41 | Date.prototype.format = function(fmt) { 42 | var o = { 43 | "M+" : this.getMonth()+1, 44 | "d+" : this.getDate(), 45 | "h+" : this.getHours(), 46 | "m+" : this.getMinutes(), 47 | "s+" : this.getSeconds(), 48 | "q+" : Math.floor((this.getMonth()+3)/3), 49 | "S" : this.getMilliseconds() 50 | }; 51 | if(/(y+)/.test(fmt)) { 52 | fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 53 | } 54 | for(var k in o) { 55 | if(new RegExp("("+ k +")").test(fmt)){ 56 | fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); 57 | } 58 | } 59 | return fmt; 60 | } 61 | 62 | let DATE = $script.startTime.format(FORMAT_TIME); 63 | 64 | function changeOutboundMode(is_cellular, mode) { 65 | if (is_cellular) { 66 | NETWORK = SUBTITLE_CELLULAR + $network.v4.primaryAddress; 67 | }else { 68 | NETWORK = SUBTITLE_WIFI + NETWORK; 69 | } 70 | if($surge.setOutboundMode(mode.toLowerCase())) 71 | $notification.post(TITLE, NETWORK, ABOUT_MODE + mode + '\n' + ABOUT_TIME + DATE); 72 | $done(); 73 | } 74 | 75 | //wifi select outbound 76 | if ($network.v4.primaryInterface == "en0" && NETWORK != null) { 77 | if (BLACKNAME.indexOf(NETWORK) != -1) { 78 | changeOutboundMode(TAG, BLACK); 79 | } else if (WHITENAME.indexOf(NETWORK) != -1) { 80 | changeOutboundMode(TAG, WHITE); 81 | } else { 82 | changeOutboundMode(TAG, OTHERS); 83 | } 84 | } 85 | 86 | //cellular select outbound 87 | if($network.v4.primaryInterface == "pdp_ip0") { 88 | TAG = true; 89 | changeOutboundMode(TAG, CELLULAR); 90 | } 91 | $done(); -------------------------------------------------------------------------------- /Surge/appprice.js: -------------------------------------------------------------------------------- 1 | //Smart Qx&Surge 2 | let isQuantumultX = $task !== undefined; 3 | let isSurge = $httpClient !== undefined; 4 | var $task = isQuantumultX ? $task : {}; 5 | var $httpClient = isSurge ? $httpClient : {}; 6 | var $prefs = isQuantumultX ? $prefs : {}; 7 | var $persistentStore = isSurge ? $persistentStore : {}; 8 | var $notify = isQuantumultX ? $notify : {}; 9 | var $notification = isSurge ? $notification : {}; 10 | if (isQuantumultX) { 11 | var errorInfo = { 12 | error: '' 13 | }; 14 | $httpClient = { 15 | get: (url, cb) => { 16 | var urlObj; 17 | if (typeof (url) == 'string') { 18 | urlObj = { 19 | url: url 20 | } 21 | } else { 22 | urlObj = url; 23 | } 24 | $task.fetch(urlObj).then(response => { 25 | cb(undefined, response, response.body) 26 | }, reason => { 27 | errorInfo.error = reason.error; 28 | cb(errorInfo, response, '') 29 | }) 30 | }, 31 | post: (url, cb) => { 32 | var urlObj; 33 | if (typeof (url) == 'string') { 34 | urlObj = { 35 | url: url 36 | } 37 | } else { 38 | urlObj = url; 39 | } 40 | url.method = 'POST'; 41 | $task.fetch(urlObj).then(response => { 42 | cb(undefined, response, response.body) 43 | }, reason => { 44 | errorInfo.error = reason.error; 45 | cb(errorInfo, response, '') 46 | }) 47 | } 48 | } 49 | } 50 | if (isSurge) { 51 | $task = { 52 | fetch: url => { 53 | return new Promise((resolve, reject) => { 54 | if (url.method == 'POST') { 55 | $httpClient.post(url, (error, response, data) => { 56 | response.body = data; 57 | resolve(response, { 58 | error: error 59 | }); 60 | }) 61 | } else { 62 | $httpClient.get(url, (error, response, data) => { 63 | response.body = data; 64 | resolve(response, { 65 | error: error 66 | }); 67 | }) 68 | } 69 | }) 70 | 71 | } 72 | } 73 | } 74 | if (isQuantumultX) { 75 | $persistentStore = { 76 | read: key => { 77 | return $prefs.valueForKey(key); 78 | }, 79 | write: (val, key) => { 80 | return $prefs.setValueForKey(val, key); 81 | } 82 | } 83 | } 84 | if (isSurge) { 85 | $prefs = { 86 | valueForKey: key => { 87 | return $persistentStore.read(key); 88 | }, 89 | setValueForKey: (val, key) => { 90 | return $persistentStore.write(val, key); 91 | } 92 | } 93 | } 94 | if (isQuantumultX) { 95 | $notification = { 96 | post: (title, subTitle, detail) => { 97 | $notify(title, subTitle, detail); 98 | } 99 | } 100 | } 101 | if (isSurge) { 102 | $notify = function (title, subTitle, detail) { 103 | $notification.post(title, subTitle, detail); 104 | } 105 | } 106 | //end 107 | 108 | /*using surge cron*/ 109 | 110 | const region = "vn" 111 | const appIds = ["1312014438","990591885","1141312799","1073473333","432850144","896694807","1434207799","924695435","680469088","869346854","935754064","1035331258","904237743","946930094","1373567447","916366645","1382419586","1299735217","1460078746","333710667","1049254261","1489780246","1407367202","436577167","1481018071","1315744137","1436650069","980368562","1007355333","1126386264","492648096","950519698","317107309","539397400","1444671526","1416894836","1117998129","1462386180","558818638","691121579","1474856599","436577167","641613694","1312014438","1416894836","1117998129","1462386180","558818638","691121579","1474856599","436577167","641613694","1312014438"] 112 | 113 | var cacheData = $persistentStore.read() 114 | if (!cacheData) { 115 | cacheData = {} 116 | } else { 117 | cacheData = JSON.parse(cacheData) 118 | } 119 | 120 | $httpClient.post('https://itunes.apple.com/lookup?id=' + appIds + "&country=" + region, function (error, response, data) { 121 | if (error) { 122 | console.log(error); 123 | $notification.post("App Pricer", "bad connection") 124 | $done() 125 | } else { 126 | let appData = JSON.parse(data).results 127 | let priceChanged = "" 128 | let newAppAdded = "" 129 | for (var i = 0; i < appData.length; i++) { 130 | if (cacheData[appData[i].trackId]) { 131 | if (appData[i].formattedPrice != cacheData[appData[i].trackId].price) { 132 | priceChanged = priceChanged + "🏷 " + appData[i].trackName + " " + cacheData[appData[i].trackId].price + " → " + appData[i].formattedPrice + "\n" 133 | cacheData[appData[i].trackId].price = appData[i].formattedPrice 134 | } 135 | } else { 136 | newAppAdded = newAppAdded + "🏷 " + appData[i].trackName + " " + appData[i].formattedPrice + "\n" 137 | cacheData[appData[i].trackId] = { 138 | name: appData[i].trackName, 139 | price: appData[i].formattedPrice 140 | } 141 | } 142 | } 143 | if (priceChanged) { 144 | $notification.post("Price Changed", "", priceChanged) 145 | } 146 | if (newAppAdded) { 147 | $notification.post("New Apps Added", "", newAppAdded) 148 | } 149 | $persistentStore.write(JSON.stringify(cacheData)) 150 | $done() 151 | } 152 | }) 153 | -------------------------------------------------------------------------------- /Surge/dnspod.js: -------------------------------------------------------------------------------- 1 | const url = 'http://119.29.29.29/d?dn=' + $domain; 2 | if ($network.v4.primaryInterface === 'en0') { 3 | $httpClient.get(url, function(error, response, data) { 4 | if (error) { 5 | $done({server: '8.8.8.8'}); 6 | } else { 7 | $done({addresses: data.split(';'), ttl: 600}); 8 | } 9 | }); 10 | } else { 11 | $done({server: '8.8.8.8'}); 12 | } -------------------------------------------------------------------------------- /Surge/modules/GameMod.sgmodule: -------------------------------------------------------------------------------- 1 | #!name=🎲 Game Mode 2 | #!desc= Always Real Ip Hosts 3 | #!system=ios 4 | 5 | [General] 6 | always-real-ip = %APPEND% *.srv.nintendo.net, *.stun.playstation.net, xbox.*.microsoft.com, *.xboxlive.com, *.momo.vn, -------------------------------------------------------------------------------- /Surge/modules/Old_iPA_Downloader.sgmodule: -------------------------------------------------------------------------------- 1 | #!name=Old_iPA_Downloader by @Lãng Khách 2 | #!desc=Requires: Computers need to trust root Surge certificate and set proxy rule domain-keyword: -buy.itunes.apple.com. (iOS. Open AppleStore search app. Share app into shortcut Old_iPA_Downloader, choose version app. PC: Open iTunes search and click Get). Done (Check \Music\iTunes\iTunes Media\Mobile Applications) 3 | #!system=ios 4 | //Link shortcut: https://www.icloud.com/shortcuts/bdbba3de9c8d42fe858bf210d20e5603 5 | 6 | [Script] 7 | 8 | old_ipa.js = type=http-request,pattern=(https:\/\/(.+\-|)buy\.itunes\.apple\.com\/WebObjects\/MZBuy.woa\/wa\/buyProduct)|(https:\/\/api\.unlimapps\.com\/.+\/apple_apps\/.+\/versions\?=),requires-body=1,max-size=0,debug=1,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/Surge/old_ipa.js 9 | 10 | 11 | [MITM] 12 | hostname = %APPEND% *-buy.itunes.apple.com, api.unlimapps.com, 13 | -------------------------------------------------------------------------------- /Surge/modules/Q-Search.sgmodule: -------------------------------------------------------------------------------- 1 | #!name=Q-Search 2 | #!desc=Safari Search Add-ons 3 | 4 | //safari set default search duckduckgo 5 | [URL Rewrite] 6 | ^https:\/\/duckduckgo.com\/\?q=gh\+([^&]+).+ https://github.com/search?q=$1 302 7 | ^https:\/\/duckduckgo.com\/\?q=gm\+([^&]+).+ https://www.google.com/search?&tbm=isch&q=$1 302 8 | ^https:\/\/duckduckgo.com\/\?q=ph\+([^&]+).+ https://pornhub.com/video/search?search=$1 302 9 | ^https:\/\/duckduckgo.com\/\?q=so\+([^&]+).+ https://stackoverflow.com/search?q=$1 302 10 | ^https:\/\/duckduckgo.com\/\?q=se\+([^&]+).+ https://stackexchange.com/search?q=$1 302 11 | ^https:\/\/duckduckgo.com\/\?q=wa\+([^&]+).+ https://www.wolframalpha.com/input/?i=$1 302 12 | ^https:\/\/duckduckgo.com\/\?q=([^&]+).+ https://www.google.com/search?q=$1 302 13 | [MITM] 14 | hostname = %APPEND% duckduckgo.com -------------------------------------------------------------------------------- /Surge/ncov.js: -------------------------------------------------------------------------------- 1 | /* 2 | Surge V4 ios, Mac 3 | Api by junookyo 4 | 5 | [Script] 6 | cron "0 0 6-23/3 * * *" script-path=ncov.js 7 | 8 | 9 | MITM = code.junookyo.xyz 10 | */ 11 | var ncovUrl = { 12 | url: 'https://code.junookyo.xyz/api/ncov-moh/data.json', 13 | } 14 | $httpClient.post(ncovUrl, function(error, response, data){ 15 | if (error) { 16 | $notification.post("NCOV", "", "Bad connection") 17 | $done(); 18 | } 19 | else{ 20 | if(response.status == 200) 21 | { 22 | let obj= JSON.parse(data); 23 | if(obj["success"]) 24 | { 25 | obj= obj["data"]; 26 | $notification.post("NCOV ","","🇻🇳 VN: Số người nhiễm: " + obj["vietnam"]["cases"] +", Người chết: " + obj["vietnam"]["deaths"] + ", Hồi phục: " + obj["vietnam"]["recovered"] +"\n🌍 Global: Số người nhiễm: " + obj["global"]["cases"] +", Người chết: " + obj["global"]["deaths"] + ", Hồi phục: " + obj["global"]["recovered"]); 27 | $done(); 28 | } 29 | } 30 | else{ 31 | $notification.post("NCOV", "", "API ERROR"); 32 | } 33 | } 34 | }); 35 | -------------------------------------------------------------------------------- /Surge/nextdns_linkedip.js: -------------------------------------------------------------------------------- 1 | //Script event auto linked ipv4 nextdns: network-change 2 | 3 | async function launch() { 4 | await linkedip(); 5 | $done(); 6 | } 7 | launch() 8 | function linkedip(){ 9 | $httpClient.post('https://link-ip.nextdns.io/3994b1/40bcbadb4693c2a5', function(error, response, data){ 10 | if (error) { 11 | console.log('❌'); 12 | } else { 13 | console.log('🔔'+ data); 14 | } 15 | }); 16 | } -------------------------------------------------------------------------------- /Surge/old_ipa.js: -------------------------------------------------------------------------------- 1 | /* 2 | Old_iPA_Downloader by LangKhach 3 | */ 4 | var url = $request.url; 5 | var obj = $request.body; 6 | 7 | const api= "unlimapps"; 8 | const buy= "buyProduct"; 9 | 10 | if(url.indexOf(api) != -1){ 11 | var appidget = url.match(/\d{6,}$/); 12 | console.log("🟢\n appid: " + appidget); 13 | $persistentStore.write(appidget.toString(),"appid"); 14 | $notification.post('Old_iPA_Dowloader', 'iTunes PC search app and click Get', 'By @Lãng Khách'); 15 | $done({body}); 16 | } 17 | if(url.indexOf(buy) != -1){ 18 | var appid= $persistentStore.read("appid"); 19 | var body= obj.replace(/\d{6,}/, appid); 20 | console.log('🟢 Old_iPA_Downloader \nappid: ' + appid); 21 | $notification.post("Old_iPA_Downloader rewrite stustus: OK","",""); 22 | $done({body}); 23 | } -------------------------------------------------------------------------------- /Surge/rules/Antirevoke.list: -------------------------------------------------------------------------------- 1 | DOMAIN,ocsp.apple.com 2 | -------------------------------------------------------------------------------- /Surge/rules/Apple.list: -------------------------------------------------------------------------------- 1 | 2 | DOMAIN,identity.apple.com 3 | DOMAIN-SUFFIX,ls.apple.com 4 | DOMAIN-SUFFIX,gs-loc.apple.com 5 | DOMAIN-SUFFIX,cdn-apple.com 6 | DOMAIN-SUFFIX,apple.com 7 | DOMAIN-SUFFIX,mzstatic.com 8 | DOMAIN-SUFFIX,icloud.com 9 | DOMAIN-SUFFIX,me.com 10 | DOMAIN-SUFFIX,icloud-content.com 11 | DOMAIN,apsu.apple.com 12 | DOMAIN,setup.icloud.com 13 | DOMAIN,xp.apple.com 14 | DOMAIN,gsa.apple.com 15 | DOMAIN,gsas.apple.com 16 | DOMAIN,se.itunes.apple.com 17 | DOMAIN,sp.itunes.apple.com 18 | DOMAIN,itunes.apple.com 19 | DOMAIN,init.itunes.apple.com 20 | DOMAIN,audio.itunes.apple.com 21 | DOMAIN,iosapps.itunes.apple.com 22 | DOMAIN,beta.itunes.apple.com 23 | DOMAIN-SUFFIX,ess.apple.com 24 | DOMAIN-SUFFIX,gc.apple.com 25 | DOMAIN-SUFFIX,swcdn.apple.com 26 | DOMAIN-SUFFIX,blobstore.apple.com 27 | DOMAIN-SUFFIX,configuration.apple.com 28 | DOMAIN-SUFFIX,itunes.apple.com 29 | DOMAIN-SUFFIX,easytimetv.com 30 | DOMAIN-SUFFIX,edgesuite.net 31 | DOMAIN-SUFFIX,phobos.apple.com 32 | DOMAIN-SUFFIX,trailers.apple.com 33 | DOMAIN-SUFFIX,cddbp.net 34 | 35 | PROCESS-NAME,trustd 36 | USER-AGENT,*com.apple.mobileme.fmip1 37 | USER-AGENT,*WeatherFoundation* 38 | USER-AGENT,%E5%9C%B0%E5%9B%BE* 39 | USER-AGENT,%E8%AE%BE%E7%BD%AE* 40 | USER-AGENT,AppStore* 41 | USER-AGENT,com.apple.appstored* 42 | USER-AGENT,com.apple.geod* 43 | USER-AGENT,com.apple.Maps 44 | USER-AGENT,FindMyFriends* 45 | USER-AGENT,FindMyiPhone* 46 | USER-AGENT,FMDClient* 47 | USER-AGENT,FMFD* 48 | USER-AGENT,fmflocatord* 49 | USER-AGENT,geod* 50 | USER-AGENT,locationd* 51 | USER-AGENT,Maps* 52 | USER-AGENT,TestFlight* 53 | DOMAIN-SUFFIX,itunes.com 54 | DOMAIN,api.smoot.apple.cn 55 | -------------------------------------------------------------------------------- /Surge/rules/AppleTV.list: -------------------------------------------------------------------------------- 1 | # > Apple TV 2 | DOMAIN,np-edge.itunes.apple.com 3 | DOMAIN,play-edge.itunes.apple.com 4 | DOMAIN-SUFFIX,tv.apple.com -------------------------------------------------------------------------------- /Surge/rules/Applenew.list: -------------------------------------------------------------------------------- 1 | # > Apple News 2 | DOMAIN,gspe1-ssl.ls.apple.com 3 | DOMAIN,gspe1-ssl.ls.apple.com 4 | USER-AGENT,AppleNews* 5 | DOMAIN,gateway.icloud.com 6 | DOMAIN-SUFFIX,apple.news 7 | DOMAIN,news-client.apple.com 8 | DOMAIN,news-edge.apple.com 9 | DOMAIN,news-events.apple.com 10 | DOMAIN,apple.comscoreresearch.com -------------------------------------------------------------------------------- /Surge/rules/BlockOTA.list: -------------------------------------------------------------------------------- 1 | DOMAIN,gdmf.apple.com 2 | DOMAIN,gdmf.apple.com.akadns.net 3 | DOMAIN,mesu.apple.com 4 | DOMAIN,mesu-cdn.apple.com.akadns.net 5 | DOMAIN,mesu-cdn.origin-apple.com.akadns.net 6 | DOMAIN,mesu.g.aaplimg.com 7 | DOMAIN,appldnld.apple.com 8 | DOMAIN,appldnld.apple.com.akadns.net 9 | -------------------------------------------------------------------------------- /Surge/rules/Direct.list: -------------------------------------------------------------------------------- 1 | USER-AGENT,*MoMo* 2 | -------------------------------------------------------------------------------- /Surge/rules/Facebook.list: -------------------------------------------------------------------------------- 1 | # Facebook 2 | DOMAIN-KEYWORD,facebook 3 | DOMAIN-KEYWORD,fbcdn 4 | -------------------------------------------------------------------------------- /Surge/rules/GoogleDrive.list: -------------------------------------------------------------------------------- 1 | USER-AGENT,Google.Drive* 2 | USER-AGENT,com.google.Drive* 3 | USER-AGENT, %E4%BA%91%E7%AB%AF%E7%A1%AC%E7%9B%98* 4 | DOMAIN-SUFFIX,docs.google.com -------------------------------------------------------------------------------- /Surge/rules/HBO.list: -------------------------------------------------------------------------------- 1 | # > HBO NOW & HBO GO 2 | USER-AGENT,HBO%20NOW* 3 | DOMAIN-SUFFIX,execute-api.ap-southeast-1.amazonaws.com 4 | DOMAIN-SUFFIX,hbo.com 5 | DOMAIN-SUFFIX,hbogo.com 6 | DOMAIN-SUFFIX,hboasia.com 7 | DOMAIN-SUFFIX,hbogo.com 8 | DOMAIN-SUFFIX,hbogoasia.com 9 | DOMAIN-SUFFIX,hbogoasia.hk -------------------------------------------------------------------------------- /Surge/rules/Kakaotalk.list: -------------------------------------------------------------------------------- 1 | DOMAIN-SUFFIX,item.kakao.com 2 | DOMAIN-SUFFIX,booking-loco.kakao.com 3 | DOMAIN-SUFFIX,open.kakao.com 4 | DOMAIN-SUFFIX,open.kakaocdn.net -------------------------------------------------------------------------------- /Surge/rules/MyViettel.list: -------------------------------------------------------------------------------- 1 | //My Viettel 2 | IP-CIDR,171.244.149.206/32 3 | DOMAIN-SUFFIX,vietteltelecom.vn 4 | IP-CIDR,10.60.102.165/32 5 | USER-AGENT,My%20Viettel* -------------------------------------------------------------------------------- /Surge/rules/Netflix.list: -------------------------------------------------------------------------------- 1 | USER-AGENT,Argo* 2 | DOMAIN-SUFFIX,netflix.com 3 | DOMAIN-SUFFIX,netflix.net 4 | DOMAIN-SUFFIX,nflxext.com 5 | DOMAIN-SUFFIX,nflximg.com 6 | DOMAIN-SUFFIX,nflximg.net 7 | DOMAIN-SUFFIX,nflxso.net 8 | DOMAIN-SUFFIX,nflxvideo.net 9 | DOMAIN-KEYWORD,netflix 10 | DOMAIN-KEYWORD,nflx 11 | -------------------------------------------------------------------------------- /Surge/rules/Speedtest.list: -------------------------------------------------------------------------------- 1 | # > Fast 2 | DOMAIN-SUFFIX,fast.com 3 | 4 | # > Speedtest 5 | USER-AGENT,SpeedTest* 6 | DOMAIN-KEYWORD,speedtest 7 | DOMAIN-SUFFIX,speedtest.net 8 | DOMAIN-SUFFIX,ooklaserver.net 9 | URL-REGEX,speedtest\d.macau.ctm.net:8080 10 | DOMAIN-SUFFIX,88-f.net 11 | DOMAIN,st.pautina-telecom.ru 12 | DOMAIN-SUFFIX,goodnet.su -------------------------------------------------------------------------------- /Surge/rules/Spotify.list: -------------------------------------------------------------------------------- 1 | # > Spotify 2 | USER-AGENT,Spotify* 3 | DOMAIN-SUFFIX,pscdn.co 4 | DOMAIN-SUFFIX,scdn.co 5 | DOMAIN-SUFFIX,spotify.com 6 | DOMAIN-SUFFIX,spoti.fi -------------------------------------------------------------------------------- /Surge/rules/YouTubeMusic.list: -------------------------------------------------------------------------------- 1 | # > Youtube_Music 2 | USER-AGENT,*YouTubeMusic* 3 | USER-AGENT,*com.google.ios.youtubemusic* -------------------------------------------------------------------------------- /Surge/rules/Youtube.list: -------------------------------------------------------------------------------- 1 | # > YouTube 2 | USER-AGENT,com.google.ios.youtube* 3 | USER-AGENT,YouTube*,YouTube 4 | DOMAIN-SUFFIX,googlevideo.com 5 | DOMAIN-SUFFIX,youtube.com 6 | DOMAIN,youtubei.googleapis.com -------------------------------------------------------------------------------- /Surge/servers/Ads.list: -------------------------------------------------------------------------------- 1 | 🚫 ad-gif = reject-tinygif 2 | 🔴 ad-block = reject 3 | 🟢 ad-pass = direct -------------------------------------------------------------------------------- /Surge/servers/Appcake.list: -------------------------------------------------------------------------------- 1 | 🔴 update-block = reject 2 | 🟢 update-install-pass = direct -------------------------------------------------------------------------------- /Surge/servers/Final.list: -------------------------------------------------------------------------------- 1 | 🟢 Wifi = direct, interface=en0, allow-other-interface=true 2 | 🔵 Cellular = direct, interface=pdp_ip0, allow-other-interface=true -------------------------------------------------------------------------------- /Surge/servers/winscribe.list: -------------------------------------------------------------------------------- 1 | 🇺🇸 = socks5, socks-us.windscribe.com, 1080, username=xxx, password=xxx 2 | 🇳🇿 = socks5, socks-nl.windscribe.com, 1080, username=xxx, password=notshare 3 | -------------------------------------------------------------------------------- /Surge/weather.js: -------------------------------------------------------------------------------- 1 | const lang = "en" 2 | var lat_lon = "21.14603996377535,106.073258917024" 3 | var api = "d61d56e7025c803083cb4e4d4513d1a3" 4 | async function launch() { 5 | await weather(); 6 | $done(); 7 | } 8 | 9 | launch() 10 | 11 | function weather() { 12 | let info = { 13 | url: "https://api.darksky.net/forecast/" + api + "/" + lat_lon + "?lang=" + lang + "&units=si&exclude=currently,minutely", //?lang=en&units=si 14 | headers: {}, 15 | } 16 | $httpClient.get(info, async function (error, response, data) { 17 | if (error) { 18 | console.log(error); 19 | $notification.post("Dark Sky", lat_lon + 'bad connection', error); 20 | } else { 21 | var obj = JSON.parse(data); 22 | console.log(obj); 23 | var hour_summary = obj.hourly.summary; 24 | var icon_text = obj.hourly.icon; 25 | var icon = "❓" 26 | if (icon_text == "clear-day") icon = "☀️"; 27 | if (icon_text == "partly-cloudy-day") icon = "🌤"; 28 | if (icon_text == "cloudy") icon = "☁️"; 29 | if (icon_text == "rain") icon = "🌧"; 30 | if (icon_text == "snow") icon = "☃️"; 31 | if (icon_text == "sleet") icon = "🌨"; 32 | if (icon_text == "wind") icon = "🌬"; 33 | if (icon_text == "fog") icon = "🌫"; 34 | if (icon_text == "partly-cloudy-night") icon = "🌑"; 35 | if (icon_text == "clear-night") icon = "🌑"; 36 | var daily_prec_chance = obj.daily.data[0].precipProbability; 37 | var daily_maxtemp = obj.daily.data[0].temperatureMax; 38 | var daily_mintemp = obj.daily.data[0].temperatureMin; 39 | $notification.post("Tp. Bắc Ninh", icon + " " +Math.round(daily_mintemp) + " - " + Math.round(daily_maxtemp) + " ☔️ " + (Number(daily_prec_chance) * 100).toFixed(1)+ "%", hour_summary); } 40 | }); 41 | } 42 | -------------------------------------------------------------------------------- /Terminus.js: -------------------------------------------------------------------------------- 1 | let obj=JSON.parse($response.body) 2 | obj.account["pro_mode"] = true; 3 | obj.account["plan_type"] = "Premium"; 4 | obj.account["user_type"] = "Premium"; 5 | obj.account["current_period"]["until"] = "2099-10-10T03:27:34"; 6 | $done({body:JSON.stringify(obj)}) 7 | //bynubyta -------------------------------------------------------------------------------- /Textnow.js: -------------------------------------------------------------------------------- 1 | /* 2 | ^https:\/\/api\.textnow\.me\/api2.0\/users\/.* url script-response-body langkhach/Textnow.js 3 | */var obj = JSON.parse($response.body); 4 | obj['show_ads'] = false; 5 | obj['premium_calling'] = true; 6 | $done({body: JSON.stringify(obj)}); 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Unfold.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj = { 4 | "status": 0, 5 | "environment": "Production", 6 | "receipt": { 7 | "receipt_type": "Production", 8 | "app_item_id": 1247275033, 9 | "receipt_creation_date": "2019-06-06 11:22:01 Etc/GMT", 10 | "bundle_id": "com.moonlab.unfoldstories", 11 | "original_purchase_date": "2019-06-06 11:13:18 Etc/GMT", 12 | "in_app": [ 13 | { 14 | "quantity": "1", 15 | "purchase_date_ms": "1559820071000", 16 | "expires_date": "9999-05-02 06:35:04 Etc/GMT", 17 | "expires_date_pst": "9999-05-01 23:35:04 America/Los_Angeles", 18 | "is_in_intro_offer_period": "false", 19 | "transaction_id": "350000478662776", 20 | "is_trial_period": "true", 21 | "original_transaction_id": "350000478662776", 22 | "purchase_date": "2019-06-06 11:21:11 Etc/GMT", 23 | "product_id": "UNFOLD_PLUS_YEAR", 24 | "original_purchase_date_pst": "2019-06-06 04:21:11 America/Los_Angeles", 25 | "original_purchase_date_ms": "1559820071000", 26 | "web_order_line_item_id": "310000127554953", 27 | "expires_date_ms": "4081386904000", 28 | "purchase_date_pst": "2019-06-06 04:21:11 America/Los_Angeles", 29 | "original_purchase_date": "2019-06-06 11:21:11 Etc/GMT" 30 | } 31 | ], 32 | "adam_id": 1247275033, 33 | "receipt_creation_date_pst": "2019-06-06 04:22:01 America/Los_Angeles", 34 | "request_date": "2019-06-06 11:26:42 Etc/GMT", 35 | "request_date_pst": "2019-06-06 04:26:42 America/Los_Angeles", 36 | "version_external_identifier": 831552801, 37 | "request_date_ms": "1559820402780", 38 | "original_purchase_date_pst": "2019-06-06 04:13:18 America/Los_Angeles", 39 | "application_version": "2104", 40 | "original_purchase_date_ms": "1559819598000", 41 | "receipt_creation_date_ms": "1559820121000", 42 | "original_application_version": "1", 43 | "download_id": 75046221646570 44 | }, 45 | "pending_renewal_info": [ 46 | { 47 | "product_id": "UNFOLD_PLUS_YEAR", 48 | "original_transaction_id": "310000410687477", 49 | "auto_renew_product_id": "UNFOLD_PLUS_YEAR", 50 | "auto_renew_status": "1" 51 | } 52 | ], 53 | "latest_receipt_info": [ 54 | { 55 | "quantity": "1", 56 | "purchase_date_ms": "1559820071000", 57 | "expires_date": "9999-05-02 06:35:04 Etc/GMT", 58 | "expires_date_pst": "9999-05-01 23:35:04 America/Los_Angeles", 59 | "is_in_intro_offer_period": "false", 60 | "transaction_id": "350000478662776", 61 | "is_trial_period": "true", 62 | "original_transaction_id": "350000478662776", 63 | "purchase_date": "2019-06-06 11:21:11 Etc/GMT", 64 | "product_id": "UNFOLD_PLUS_YEAR", 65 | "original_purchase_date_pst": "2019-06-06 04:21:11 America/Los_Angeles", 66 | "original_purchase_date_ms": "1559819598000", 67 | "web_order_line_item_id": "310000127554953", 68 | "expires_date_ms": "4081386904000", 69 | "purchase_date_pst": "2019-06-06 04:21:11 America/Los_Angeles", 70 | "original_purchase_date": "2019-06-06 11:21:11 Etc/GMT" 71 | } 72 | ], 73 | "latest_receipt": "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" 74 | }; 75 | $done({body: JSON.stringify(obj)}); 76 | -------------------------------------------------------------------------------- /VideoStar.js: -------------------------------------------------------------------------------- 1 | /* 2 | [rewrite_local] 3 | ^https:\/\/.*\.videostarapp\.com\/scripts\/subsNew\.php url script-response-body langkhach/VideoStar.js 4 | 5 | [mitm] 6 | hostname = *.videostarapp.com, 7 | 8 | */ 9 | 10 | let obj = JSON.parse($response.body); 11 | obj.latest_receipt = [{ 12 | "quantity": "1", 13 | "product_id": "OneYearUnlockVS", 14 | "transaction_id": "230000563000000", 15 | "original_transaction_id": "230000563000000", 16 | "purchase_date": "2018-07-24 00:08:51 Etc/GMT", 17 | "purchase_date_ms": "1532390931000", 18 | "purchase_date_pst": "2018-07-23 17:08:51 America/Los_Angeles", 19 | "original_purchase_date": "2018-07-24 00:08:57 Etc/GMT", 20 | "original_purchase_date_ms": "1532390931000", 21 | "original_purchase_date_pst": "2018-07-23 17:08:57 America/Los_Angeles", 22 | "expires_date": "2060-07-24 00:08:51 Etc/GMT", 23 | "expires_date_ms": "2840141331000", 24 | "expires_date_pst": "2060-07-23 17:08:51 America/Los_Angeles", 25 | "web_order_line_item_id": "230000189000000", 26 | "is_trial_period": "false", 27 | "is_in_intro_offer_period": "false", 28 | "subscription_group_identifier": "20300000" 29 | }]; 30 | 31 | obj.in_app = [{ 32 | "quantity": "1", 33 | "product_id": "OneYearUnlockVS", 34 | "transaction_id": "230000563000000", 35 | "original_transaction_id": "230000563000000", 36 | "purchase_date": "2018-07-24 00:08:51 Etc/GMT", 37 | "purchase_date_ms": "1532390931000", 38 | "purchase_date_pst": "2018-07-23 17:08:51 America/Los_Angeles", 39 | "original_purchase_date": "2018-07-24 00:08:57 Etc/GMT", 40 | "original_purchase_date_ms": "1532390931000", 41 | "original_purchase_date_pst": "2018-07-23 17:08:57 America/Los_Angeles", 42 | "expires_date": "2020-07-24 00:08:51 Etc/GMT", 43 | "expires_date_ms": "230000563000000", 44 | "expires_date_pst": "2060-07-23 17:08:51 America/Los_Angeles", 45 | "web_order_line_item_id": "230000189000000", 46 | "is_trial_period": "false", 47 | "is_in_intro_offer_period": "false" 48 | }]; 49 | 50 | obj.activeSubs = { 51 | "OneYearUnlockVS": "4102445330000" 52 | } 53 | 54 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /altstore.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | obj ={ 3 | "data": { 4 | "attributes": { 5 | "first_name": "barry", 6 | "full_name": "barry chen" 7 | }, 8 | "id": "30618536", 9 | "relationships": { 10 | "memberships": { 11 | "data": [{ 12 | "id": "e3a5c718-d930-4b92-a8b9-677f4699c9a4", 13 | "type": "tier" 14 | }] 15 | } 16 | }, 17 | "type": "member" 18 | }, 19 | "included": [{ 20 | "attributes": { 21 | "full_name": "barry chen", 22 | "patron_status": "active_patron" 23 | }, 24 | "id": "e3a5c718-d930-4b92-a8b9-677f4699c9a4", 25 | "type": "member" 26 | }], 27 | "links": { 28 | "self":"https://www.patreon.com/api/oauth2/v2/user/30618536" 29 | } 30 | } 31 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /appprice.js: -------------------------------------------------------------------------------- 1 | //Smart Qx&Surge 2 | let isQuantumultX = $task !== undefined; 3 | let isSurge = $httpClient !== undefined; 4 | var $task = isQuantumultX ? $task : {}; 5 | var $httpClient = isSurge ? $httpClient : {}; 6 | var $prefs = isQuantumultX ? $prefs : {}; 7 | var $persistentStore = isSurge ? $persistentStore : {}; 8 | var $notify = isQuantumultX ? $notify : {}; 9 | var $notification = isSurge ? $notification : {}; 10 | if (isQuantumultX) { 11 | var errorInfo = { 12 | error: '' 13 | }; 14 | $httpClient = { 15 | get: (url, cb) => { 16 | var urlObj; 17 | if (typeof (url) == 'string') { 18 | urlObj = { 19 | url: url 20 | } 21 | } else { 22 | urlObj = url; 23 | } 24 | $task.fetch(urlObj).then(response => { 25 | cb(undefined, response, response.body) 26 | }, reason => { 27 | errorInfo.error = reason.error; 28 | cb(errorInfo, response, '') 29 | }) 30 | }, 31 | post: (url, cb) => { 32 | var urlObj; 33 | if (typeof (url) == 'string') { 34 | urlObj = { 35 | url: url 36 | } 37 | } else { 38 | urlObj = url; 39 | } 40 | url.method = 'POST'; 41 | $task.fetch(urlObj).then(response => { 42 | cb(undefined, response, response.body) 43 | }, reason => { 44 | errorInfo.error = reason.error; 45 | cb(errorInfo, response, '') 46 | }) 47 | } 48 | } 49 | } 50 | if (isSurge) { 51 | $task = { 52 | fetch: url => { 53 | return new Promise((resolve, reject) => { 54 | if (url.method == 'POST') { 55 | $httpClient.post(url, (error, response, data) => { 56 | response.body = data; 57 | resolve(response, { 58 | error: error 59 | }); 60 | }) 61 | } else { 62 | $httpClient.get(url, (error, response, data) => { 63 | response.body = data; 64 | resolve(response, { 65 | error: error 66 | }); 67 | }) 68 | } 69 | }) 70 | 71 | } 72 | } 73 | } 74 | if (isQuantumultX) { 75 | $persistentStore = { 76 | read: key => { 77 | return $prefs.valueForKey(key); 78 | }, 79 | write: (val, key) => { 80 | return $prefs.setValueForKey(val, key); 81 | } 82 | } 83 | } 84 | if (isSurge) { 85 | $prefs = { 86 | valueForKey: key => { 87 | return $persistentStore.read(key); 88 | }, 89 | setValueForKey: (val, key) => { 90 | return $persistentStore.write(val, key); 91 | } 92 | } 93 | } 94 | if (isQuantumultX) { 95 | $notification = { 96 | post: (title, subTitle, detail) => { 97 | $notify(title, subTitle, detail); 98 | } 99 | } 100 | } 101 | if (isSurge) { 102 | $notify = function (title, subTitle, detail) { 103 | $notification.post(title, subTitle, detail); 104 | } 105 | } 106 | //end 107 | 108 | /*using surge cron*/ 109 | 110 | const region = "vn" 111 | const appIds = ["1436429074","1062022008","882914841","1481018071","406239138","1312014438","990591885","1141312799","1073473333","432850144","896694807","924695435","680469088","869346854","935754064","1035331258","904237743","946930094","1373567447","916366645","1382419586","1299735217","1460078746","333710667","1049254261","1489780246","1407367202","436577167","1481018071","1315744137","1436650069","980368562","1007355333","1126386264","492648096","950519698","317107309","539397400","1444671526","1416894836","1117998129","1462386180","558818638","691121579","1474856599","436577167","641613694","1312014438","1416894836","1117998129","1462386180","558818638","691121579","1474856599","436577167","641613694","1312014438"] 112 | 113 | var cacheData = $persistentStore.read() 114 | if (!cacheData) { 115 | cacheData = {} 116 | } else { 117 | cacheData = JSON.parse(cacheData) 118 | } 119 | 120 | $httpClient.post('https://itunes.apple.com/lookup?id=' + appIds + "&country=" + region, function (error, response, data) { 121 | if (error) { 122 | console.log(error); 123 | $notification.post("App Pricer", "bad connection") 124 | $done() 125 | } else { 126 | let appData = JSON.parse(data).results 127 | let priceChanged = "" 128 | let newAppAdded = "" 129 | for (var i = 0; i < appData.length; i++) { 130 | if (cacheData[appData[i].trackId]) { 131 | if (appData[i].formattedPrice != cacheData[appData[i].trackId].price) { 132 | priceChanged = priceChanged + "🏷 " + appData[i].trackName + " " + cacheData[appData[i].trackId].price + " → " + appData[i].formattedPrice + "\n" 133 | cacheData[appData[i].trackId].price = appData[i].formattedPrice 134 | } 135 | } else { 136 | newAppAdded = newAppAdded + "🏷 " + appData[i].trackName + " " + appData[i].formattedPrice + "\n" 137 | cacheData[appData[i].trackId] = { 138 | name: appData[i].trackName, 139 | price: appData[i].formattedPrice 140 | } 141 | } 142 | } 143 | if (priceChanged) { 144 | $notification.post("Price Changed", "", priceChanged) 145 | } 146 | if (newAppAdded) { 147 | $notification.post("New Apps Added", "", newAppAdded) 148 | } 149 | $persistentStore.write(JSON.stringify(cacheData)) 150 | $done() 151 | } 152 | }) 153 | -------------------------------------------------------------------------------- /beautyplusvip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | 4 | obj= { 5 | "status": 0, 6 | "expires_date": "9999-06-06 19:57:41" 7 | }; 8 | $done({body: JSON.stringify(obj)}); 9 | 10 | 11 | // Mô tả 12 | -------------------------------------------------------------------------------- /blinkist.js: -------------------------------------------------------------------------------- 1 | let obj=JSON.parse($response.body); 2 | let url = $request.url; 3 | const cons1= "https://api.blinkist.com/v4/me"; 4 | const cons2= "https://api.blinkist.com/v4/me.json"; 5 | const cons3= "https://api.blinkist.com/v4/me/access"; 6 | if((url===cons1)||(url===cons2)) 7 | { 8 | obj["user"]["trial_ending_at"]="2099-11-07T19:26:12.000+00:00"; 9 | obj["user"]["free_access_ending_at"] = "2099-11-02T10:43:43.483+00:00"; 10 | obj["user"]["subscription_period_ending_at"]= "2099-11-02T10:43:43.483+00:00"; 11 | obj["user"]["access_type"]= "premium"; 12 | obj["user"]["access_source"]="itunes"; 13 | obj["user"]["features"]= 14 | [ 15 | "read", 16 | "text_marker", 17 | "audio", 18 | "send_to_kindle", 19 | "evernote", 20 | "minute", 21 | "sync_to_evernote", 22 | "home_row_localization" 23 | ]; 24 | obj["user"]["current_minute_id"]= "onboarding_4"; 25 | obj["user"] ["current_minute_id_expires_at"]= "2099-11-06T23:00:00.000Z"; 26 | obj["user"] ["minute_subscribed_at"]= "2019-11-01T14:46:17.000Z"; 27 | } 28 | if(url===cons3) 29 | { 30 | obj["user_access"]["type"]="premium"; 31 | obj["user_access"]["marketplace"]= "itunes"; obj["user_access"]["valid_until"]= "2099-11-07T19:26:12.000+00:00"; 32 | obj["user_access"]["premium"]= "softpaywall"; 33 | } 34 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /boom.vip.rsp: -------------------------------------------------------------------------------- 1 | { 2 | "status" : "0", 3 | "receipt-data" : { 4 | "status" : 0, 5 | "environment" : "Production", 6 | "receipt" : { 7 | "receipt_type" : "Production", 8 | "app_item_id" : 1065511007, 9 | "receipt_creation_date" : "2019-10-30 16:52:23 Etc\\/GMT", 10 | "bundle_id" : "com.globaldelight.iBoom", 11 | "original_purchase_date" : "2019-04-17 04:07:39 Etc\\/GMT", 12 | "in_app" : [ 13 | { 14 | "quantity" : "1", 15 | "purchase_date_ms" : "1555474256000", 16 | "expires_date" : "2099-04-17 04:10:56 Etc\\/GMT", 17 | "expires_date_pst" : "2099-04-16 21:10:56 America\\/Los_Angeles", 18 | "is_in_intro_offer_period" : "false", 19 | "transaction_id" : "470000445785125", 20 | "is_trial_period" : "false", 21 | "original_transaction_id" : "470000445785125", 22 | "purchase_date" : "2019-04-17 04:10:56 Etc\\/GMT", 23 | "product_id" : "com.globaldelight.iBoom.LifetimeDiscountPack", 24 | "original_purchase_date_pst" : "2019-04-16 21:10:59 America\\/Los_Angeles", 25 | "original_purchase_date_ms" : "1555474259000", 26 | "web_order_line_item_id" : "470000137081235", 27 | "expires_date_ms" : "1587096656000", 28 | "purchase_date_pst" : "2019-04-16 21:10:56 America\\/Los_Angeles", 29 | "original_purchase_date" : "2019-04-17 04:10:59 Etc\\/GMT" 30 | } 31 | ], 32 | "adam_id" : 1065511007, 33 | "receipt_creation_date_pst" : "2019-10-30 09:52:23 America\\/Los_Angeles", 34 | "request_date" : "2019-10-30 16:52:29 Etc\\/GMT", 35 | "request_date_pst" : "2019-10-30 09:52:29 America\\/Los_Angeles", 36 | "version_external_identifier" : 832251566, 37 | "request_date_ms" : "1572454349573", 38 | "original_purchase_date_pst" : "2019-04-16 21:07:39 America\\/Los_Angeles", 39 | "application_version" : "1.4.70002", 40 | "original_purchase_date_ms" : "1555474059000", 41 | "receipt_creation_date_ms" : "1572454343000", 42 | "original_application_version" : "1.4.10008", 43 | "download_id" : 87042883772350 44 | }, 45 | "latest_receipt_info" : [ 46 | { 47 | "quantity" : "1", 48 | "purchase_date_ms" : "1555474256000", 49 | "expires_date" : "2099-04-17 04:10:56 Etc\\/GMT", 50 | "expires_date_pst" : "2099-04-16 21:10:56 America\\/Los_Angeles", 51 | "is_in_intro_offer_period" : "false", 52 | "transaction_id" : "470000445785125", 53 | "is_trial_period" : "false", 54 | "original_transaction_id" : "470000445785125", 55 | "purchase_date" : "2019-04-17 04:10:56 Etc\\/GMT", 56 | "product_id" : "com.globaldelight.iBoom.LifetimeDiscountPack", 57 | "original_purchase_date_pst" : "2019-04-16 21:10:59 America\\/Los_Angeles", 58 | "subscription_group_identifier" : "20461753", 59 | "original_purchase_date_ms" : "1555474259000", 60 | "web_order_line_item_id" : "470000137081235", 61 | "expires_date_ms" : "4080082256000", 62 | "purchase_date_pst" : "2019-04-16 21:10:56 America\\/Los_Angeles", 63 | "original_purchase_date" : "2019-04-17 04:10:59 Etc\\/GMT" 64 | } 65 | ], 66 | "pending_renewal_info" : [ 67 | { 68 | "product_id" : "com.globaldelight.iBoom.LifetimeDiscountPack", 69 | "original_transaction_id" : "470000445785125", 70 | "auto_renew_product_id" : "com.globaldelight.iBoom.LifetimeDiscountPack", 71 | "auto_renew_status" : "0" 72 | } 73 | ] 74 | } 75 | } -------------------------------------------------------------------------------- /busuu.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj.data.is_premium= true; 3 | obj.data.access.tier= "plus"; 4 | $done({body: JSON.stringify(obj)}); 5 | -------------------------------------------------------------------------------- /calm.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj["subscription"]= { 4 | "in_free_trial_window": true, 5 | "subscription_plan": "com.calm.yearly.trial.one_week.usd_50", 6 | "began": "2019-04-22T12:12:54.000Z", 7 | "is_lifetime": true, 8 | "valid": true, 9 | "is_renewable": true, 10 | "is_in_billing_retry_period": false, 11 | "will_renew": true, 12 | "expires": "2099-04-29T12:12:54.000Z", 13 | "user_id": "KgagpU1URv", 14 | "type": "ios", 15 | "is_canceled": false, 16 | "free_trial_began": "2019-04-22T12:12:54.000Z", 17 | "coupon_used": false, 18 | "has_ever_done_free_trial": true, 19 | "is_free": false, 20 | "ios_details": { 21 | "product_id": "com.calm.yearly.trial.one_week.usd_50", 22 | "began": "2019-04-22T12:12:54.000Z", 23 | "is_free_trial": true, 24 | "id": "540000370675471", 25 | "is_canceled": false, 26 | "is_renewable": true, 27 | "free_trial_ended": "2099-04-29T12:12:54.000Z", 28 | "free_trial_began": "2019-04-22T12:12:54.000Z", 29 | "will_renew": true, 30 | "original_transaction_id": "540000370675471", 31 | "expires": "2099-04-29T12:12:54.000Z" 32 | }, 33 | "free_trial_ended": "2099-04-29T12:12:54.000Z" 34 | }; 35 | 36 | $done({body: JSON.stringify(obj)}); 37 | 38 | -------------------------------------------------------------------------------- /camera360.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj= 3 | { 4 | "status": 200, 5 | "data": { 6 | "sandbox": 1, 7 | "purchaseTime": 1571682188, 8 | "giftVip": 0, 9 | "productId": "VIP_yearly_29.99", 10 | "appleVip": 1, 11 | "expireTime": 4096532852, 12 | "operationVip": 1, 13 | "errorCode": 0 14 | }, 15 | "message": "ok", 16 | "exetime": "1572056389212-1572056391362", 17 | "serverTime": 1572056391.3622 18 | }; 19 | $done({body: JSON.stringify(obj)}); 20 | -------------------------------------------------------------------------------- /cleancacheulysses.js: -------------------------------------------------------------------------------- 1 | /*http-request ^https:\/\/sk\.ulysses\.app\/api\/v1\/user_offers$ script-path= cleancacheulysses.js 2 | */ 3 | 4 | //mitm: sk.ulysses.app 5 | 6 | 7 | const headers = $request.headers 8 | delete headers["If-None-Match"] 9 | $done({headers}) -------------------------------------------------------------------------------- /dayone.js: -------------------------------------------------------------------------------- 1 | if ($response.statusCode == 200) { 2 | if ($request.url.endsWith("account-status")) { 3 | 4 | $done({body: JSON.stringify({ 5 | "expirationDate": 1893427199000, 6 | "startDate": 1546272000000, 7 | "subscriptionPlan": "com.bloombuilt.dayoneios.subscription.premium.yearly_discounted_trial", 8 | "lastRenewalDate": 1546531200000, 9 | "subscriptionName": "premium", 10 | "bundleReason": "purchase", 11 | "cancellationDate": 0 12 | } )}); 13 | 14 | } else { 15 | const bodyJson = JSON.parse($response.body); 16 | 17 | bodyJson.featureBundle = {"bundleName":"premium","features":[{"name":"imagesPerEntry","limit":30,"canUpgrade":false},{"name":"printingDiscount","canUpgrade":false},{"name":"syncMac","canUpgrade":false},{"name":"prioritySupport","canUpgrade":false},{"name":"sync","canUpgrade":false},{"name":"journalLimit","limit":100,"canUpgrade":false},{"name":"audioPerEntry","limit":10,"canUpgrade":false}]}; 18 | 19 | $done({body: JSON.stringify(bodyJson)}); 20 | } 21 | } else { 22 | $done({}); 23 | } 24 | -------------------------------------------------------------------------------- /dayone.surge.js: -------------------------------------------------------------------------------- 1 | if ($response.status == 200) { 2 | if ($request.url.endsWith("account-status")) { 3 | $done({body: JSON.stringify({ 4 | "expirationDate": 1893427199000, 5 | "startDate": 1546272000000, 6 | "subscriptionPlan": "com.bloombuilt.dayoneios.subscription.premium.yearly_discounted_trial", 7 | "lastRenewalDate": 1546531200000, 8 | "subscriptionName": "premium", 9 | "bundleReason": "purchase", 10 | "cancellationDate": 0 11 | } )}); 12 | } 13 | else { let body= $response.body; 14 | let obj= JSON.parse(body); 15 | const feature= {"bundleName":"premium","features":[{"name":"imagesPerEntry","limit":30,"canUpgrade":false},{"name":"printingDiscount","canUpgrade":false},{"name":"syncMac","canUpgrade":false},{"name":"prioritySupport","canUpgrade":false},{"name":"sync","canUpgrade":false},{"name":"journalLimit","limit":100,"canUpgrade":false},{"name":"audioPerEntry","limit":10,"canUpgrade":false}]}; 16 | if(body.indexOf("featureBundle") !=-1) 17 | { 18 | obj["featureBundle"]= feature; 19 | } 20 | else { 21 | obj["bundle"]= feature; 22 | } 23 | $done({body: JSON.stringify(obj)}); 24 | } 25 | } else { 26 | $done({}); 27 | } 28 | -------------------------------------------------------------------------------- /documents.js: -------------------------------------------------------------------------------- 1 | 2 | var obj= { 3 | "originalTransactionId" : "20000625420102", 4 | "subscriptionState" : "trial", 5 | "isInGracePeriod" : false, 6 | "subscriptionExpirationDate" : "17:48 25/11/2099", 7 | "isDocuments6User" : true, 8 | "isEligibleForIntroPeriod" : false, 9 | "subscriptionAutoRenewStatus" : "autoRenewOff", 10 | "subscriptionReceiptId" : "1530908572000" 11 | }; 12 | 13 | $done({body: JSON.stringify(obj)}); 14 | 15 | // Descriptions -------------------------------------------------------------------------------- /draft.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj= { 4 | "active_expires_at" : "2029-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)}); 11 | 12 | // Descriptions -------------------------------------------------------------------------------- /drops.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj= { 4 | "purchases": [ 5 | { 6 | "topUpId": "iapPremiumYearly70FreeTrial", 7 | "provider": "apple", 8 | "receipt": "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", 9 | "status": "valid", 10 | "purchaseDate": 1555871338000, 11 | "expirationDate": 4080738538000, 12 | "transactionId": "540000370461013" 13 | } 14 | ] 15 | }; 16 | 17 | $done({body: JSON.stringify(obj)}); 18 | 19 | // Descriptions 20 | 21 | -------------------------------------------------------------------------------- /duolingo.js: -------------------------------------------------------------------------------- 1 | var body = $response.body; 2 | var url = $request.url; 3 | var obj = JSON.parse(body); 4 | obj['num_sessions_remaining_to_unlock'] = 0; 5 | obj['tier'] = 4; 6 | if(!obj['active']) 7 | { 8 | obj['active'] = {}; 9 | } 10 | obj['active']['collab_goal_accepted'] = false; 11 | obj['active']['complete'] = false; 12 | if(!obj['active']['contest']){ 13 | obj['active']['contest'] = {} 14 | } 15 | obj['active']['contest']['contest_end'] = '2099-11-04T00:00:00Z' 16 | obj['active']['contest']['contest_start'] = '2019-10-28T00:00:00Z' 17 | obj['active']['contest']['contest_state'] = 'ACTIVE' 18 | obj['active']['contest']['registration_end'] = '2099-11-03T00:00:00Z' 19 | obj['active']['contest']['registration_state'] = 'OPEN' 20 | body = JSON.stringify(obj); 21 | $done({body}); 22 | -------------------------------------------------------------------------------- /elevate.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj.user.is_on_free_trial= false; 3 | obj.user.subscription_expiration_date_epoch= 4100909894; 4 | obj.user.current_subscription= { 5 | "sku": "com.elevateapp.elevate.renewable.year_subscription_16", 6 | "duration": "annual", 7 | "store": "App Store" 8 | }; 9 | obj.user.can_purchase= false; 10 | 11 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /elsa-header.js: -------------------------------------------------------------------------------- 1 | let headers = $request.headers 2 | headers["x-session-token"]= "F3S0w0bysBQFdbjtxpFurrFv2ItBBcBkVQxUddQW+9vjt2JXM751ksqq5GAWpkl+kk9nhig9BGh9JhYHQaokmendY6zLZDscHiRkZD2HrdJclKVCLordAARJhYIrf5C+5OSK6ax2TA45CKi8S09FEtYXN4noXO7gt42NT6WPIv6DKhdIwVxQuIAMLU5abmpMTDlyWeI4ulBWcOQbuZWWZg=="; 3 | $done({headers}) -------------------------------------------------------------------------------- /elsa-response.js: -------------------------------------------------------------------------------- 1 | 2 | var obj = JSON.parse($response.body); 3 | if($request.method=="GET") 4 | { 5 | obj["subscriptions"] = [ 6 | { 7 | "expire_at": "21190505", 8 | "subscription": "lifetime_membership", 9 | "days_to_end": 36469, 10 | "created_at": "20190529151809" 11 | } 12 | ]; 13 | $done({body: JSON.stringify(obj)}); 14 | } 15 | -------------------------------------------------------------------------------- /endel.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj["subscription_info"]= { 4 | "type" : "IOS", 5 | "valid_until" : 1873089612.367564 6 | }; 7 | 8 | $done({body: JSON.stringify(obj)}); 9 | 10 | // Descriptions -------------------------------------------------------------------------------- /grammarly.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body) 2 | obj.isPremium = true; 3 | $done({body:JSON.stringify(obj)}) -------------------------------------------------------------------------------- /instasize.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj= { 4 | "data": { 5 | "id": "2354993", 6 | "type": "ios_subscriptions", 7 | "attributes": { 8 | "intro_offer_period": false, 9 | "created_at": "2019-04-26T18:59:13.664Z", 10 | "expires_at": "2119-05-03T18:59:11.000Z", 11 | "trial": true, 12 | "validated_on_request": true, 13 | "renewal_info": { 14 | "auto_renew": true, 15 | "auto_renew_product_type": "instasize_premium_plus_subscription" 16 | }, 17 | "original_transaction_id": "540000371928348", 18 | "updated_at": "2019-04-26T18:59:23.144Z", 19 | "pay_as_you_go": false, 20 | "updated_by": "validation", 21 | "payments_count": 0, 22 | "product_type": "instasize_premium_plus_subscription", 23 | "environment": "Production", 24 | "status": "active", 25 | "intro_price_expires_at": null 26 | } 27 | } 28 | }; 29 | 30 | $done({body: JSON.stringify(obj)}); 31 | 32 | // Mô tả 33 | -------------------------------------------------------------------------------- /itranslate.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj= {"licenses": [{"is_trial_period": true, "product_id": "com.itranslate.pro.yearly", "original_transaction_id": "20000627379146", "expires_date_ms": 4099246456000, "bundle_id": "com.outerspaceapps.itranslate", "transaction_id": "20000627379146"}, {"is_trial_period": true, "product_id": "com.itranslate.pro.yearly", "original_transaction_id": "20000627379146", "expires_date_ms": 4099246456000, "bundle_id": "com.outerspaceapps.itranslate", "transaction_id": "20000627379146"}]}; 4 | 5 | $done({body: JSON.stringify(obj)}); 6 | 7 | // Descriptions -------------------------------------------------------------------------------- /jibjab.vip.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | obj.data.attributes["is-paid"] = true; 3 | $done({body: JSON.stringify(obj)}); 4 | //bynubyta -------------------------------------------------------------------------------- /kinemaster.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj= { 4 | "is_valid_device" : true, 5 | "has_valid_subscription" : true, 6 | "expiration_date_ms" : 4097755192000, 7 | "is_table_resettable" : true, 8 | "subscription_product_id" : "com.kinemaster.sub.annual.ia2", 9 | "state_code" : 0 10 | }; 11 | 12 | $done({body: JSON.stringify(obj)}); 13 | 14 | // Descriptions -------------------------------------------------------------------------------- /lingokids.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj["info"]["subscriptions"]= [ 4 | { 5 | "status": "active", 6 | "product": "unlimited", 7 | "duration_unit": "months", 8 | "id": 805063, 9 | "platform": "apple", 10 | "duration_value": 1, 11 | "starts_at": 1572617692, 12 | "ends_at": 4099821292, 13 | "auto_renew_status": true, 14 | "plan_id": "lk.ios.s1m.t1m.p15.v1", 15 | "state": "active" 16 | }]; 17 | 18 | $done({body: JSON.stringify(obj)}); 19 | 20 | // Descriptions -------------------------------------------------------------------------------- /memrise.vip.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | let url = $request.url; 3 | const cons1 = "me/"; 4 | const cons2 = "dashboard/"; 5 | const cons3 = "following/"; 6 | 7 | if(url.endsWith(cons1)) { 8 | obj["profile"]["is_pro"] = true; 9 | } 10 | 11 | if(url.endsWith(cons2)) { 12 | obj["user"]["is_premium"] = true; 13 | } 14 | 15 | if(url.indexOf(cons3) != -1 ) { 16 | obj["users"][0]["is_premium"] = true; 17 | } 18 | $done({body: JSON.stringify(obj)}); 19 | -------------------------------------------------------------------------------- /mimo.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj= { 4 | "source": "ios", 5 | "status": "active", 6 | "interval": "yearly", 7 | "billingInfo": { 8 | "currency": "USD", 9 | "nextBillingPrice": 59.98999999999999 10 | }, 11 | "subscriptions": [ 12 | { 13 | "source": "ios", 14 | "status": "active", 15 | "interval": "yearly", 16 | "billingInfo": { 17 | "currency": "USD", 18 | "nextBillingPrice": 59.98999999999999 19 | }, 20 | "intervalCount": 1, 21 | "activeUntil": "2099-10-10T08:04:21+00:00", 22 | "createdAt": "2019-10-03T08:04:21+00:00", 23 | "clientSecret": "", 24 | "isActive": true 25 | } 26 | ], 27 | "intervalCount": 1, 28 | "activeUntil": "2099-10-10T08:04:21+00:00", 29 | "createdAt": "2019-10-03T08:04:21+00:00", 30 | "clientSecret": "", 31 | "isActive": true 32 | }; 33 | 34 | $done({body: JSON.stringify(obj)}); 35 | -------------------------------------------------------------------------------- /mondly.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj["pucharses"]= [10]; 4 | obj["subscriptions"]= { 5 | "10": "2099-09-09 05:05:05" 6 | }; 7 | obj["subscription"]= { 8 | "10": "2099-09-09 05:05:05" 9 | }; 10 | obj["parsed_transactions"]= [ 11 | "540000370283138" 12 | ]; 13 | $done({body: JSON.stringify(obj)}); 14 | -------------------------------------------------------------------------------- /monkey.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj.data.purchased= 4 | { 5 | "product_list": [ 6 | ], 7 | "is_active": true, 8 | "time_expire": 0, 9 | "pay_inapp": true, 10 | "is_free": false 11 | }; 12 | $done({body: JSON.stringify(obj)}); 13 | 14 | // Descriptionsp -------------------------------------------------------------------------------- /musicalm.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj["data"]["is_premium"]=1; 4 | obj["meta"]["current_subscription_expiration_date"]= "2 November 2099"; 5 | obj["meta"]["current_subscription_expiry_date"]= "2099-11-09 04:48:25"; 6 | $done({body: JSON.stringify(obj)}); 7 | 8 | // Descriptions -------------------------------------------------------------------------------- /musixmatch.miao.js: -------------------------------------------------------------------------------- 1 | let obj=JSON.parse($response.body); 2 | let usr=obj.message.body; 3 | usr.app_config.trial=false; 4 | usr.app_config.active_products=[ 5 | { 6 | "product_id" : "com.musixmatch.offers.removeads.autorenewable.oneyear", 7 | "start_date" : "2019-10-27T16:27:38.000Z", 8 | "creation_date" : "2019-10-27T16:27:38.000Z", 9 | "credits" : 10, 10 | "end_date" : "2099-11-03T17:27:38.000Z", 11 | "product_type" : "subscription", 12 | "features" : { 13 | "no_ads" : 1, 14 | "clean_metadata" : 1, 15 | "party_mode" : 1, 16 | "lyrics_offline" : 1 17 | } 18 | } 19 | ], 20 | 21 | usr.app_config.reference= "active"; 22 | usr.app_config.last_modified="Fri Nov 08 2019 17:35:48 GMT+0000 (UTC)"; 23 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /nhaccuatui.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | let url = $request.url; 3 | var cons = "users/info"; 4 | if(url.indexOf(cons) != -1) 5 | { 6 | obj.data.VIPExpire= "27/03/9999 00:00:00"; 7 | obj.data.isVIP= true; 8 | } 9 | $done({body: JSON.stringify(obj)}); 10 | -------------------------------------------------------------------------------- /nichi.js: -------------------------------------------------------------------------------- 1 | body = $response.body.replace(/preview/g, "free").replace(/view/g, "unlimited").replace(/true/g, "false"); 2 | $done({body}); -------------------------------------------------------------------------------- /over.vip.js: -------------------------------------------------------------------------------- 1 | var body = $response.body; 2 | let obj = JSON.parse(body); 3 | obj.user.subscription["isSubscriptionActive"] = true; 4 | obj.user.subscription["entitlement"] = ["OVER_PRO"]; 5 | $done({body:JSON.stringify(obj)}); 6 | 7 | -------------------------------------------------------------------------------- /photoshop.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body) 2 | let pro= obj["mobileProfile"]; 3 | pro["profileStatus"] = "PROFILE_AVAILABLE"; 4 | pro["legacyProfile"] = "{}"; 5 | pro["relationshipProfile"] = "[]"; 6 | $done({body: JSON.stringify(obj)}) -------------------------------------------------------------------------------- /picsArt.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj.subscription= { 4 | "granted": true 5 | }; 6 | $done({body: JSON.stringify(obj)}); 7 | 8 | // Mô tả 9 | -------------------------------------------------------------------------------- /planner5d.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj= 4 | { 5 | "accessDays": 999999999, 6 | "allSets": 1, 7 | "error": 0, 8 | "m": { 9 | "r": "999999999", 10 | "useSubscriptions": true, 11 | "expiredSubscription": "999999999", 12 | "subscription": "com.planner5d.planner5d.subscription.yearly" 13 | } 14 | }; 15 | 16 | $done({body: JSON.stringify(obj)}); 17 | 18 | // Descriptions 19 | -------------------------------------------------------------------------------- /playerxtreme.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj= 4 | { 5 | "res": "OK", 6 | "response": { 7 | "result": "0", 8 | "purchases": [{ 9 | "productID": "com.pentaloop.playerx.addon.pro", 10 | "purchaseDate": "2019-12-14 21:31:16 Etc/GMT", 11 | "originalPurchaseDate": "2019-12-14 21:31:16 Etc/GMT", 12 | "type": "0", 13 | "isTrialPeriod": "false" 14 | }] 15 | } 16 | }; 17 | 18 | $done({body: JSON.stringify(obj)}); 19 | 20 | // Descriptions -------------------------------------------------------------------------------- /productive.js: -------------------------------------------------------------------------------- 1 | var obj = 'NrhWQe0eCWjK87jNSzCeR6kCEXJC+XjEAMd6fgwyNTkyAgWt2Ej2RM2amodpkQHVpBovl\/a1MAKQ2fcsM+EUha2gYEg1Y8IV5AXSnsD+hWsIIb3JhIibc4XeDn3FZmEUZJECESNOQ50W0V9piL1UJEKd0yTEpaG0JRKzcJOQF4MCoD6dRQN8VpNRg\/IY\/7iyfrTYpv0gvNNmi08upsDVO\/m0DO1qvY8WR0Cwk\/4bLl8xpwDH3IFF7xt6Sy9MdTGczXwsdtzZVIY004W+6DXGmt00eJSD6fmsUGDTLDUK9rhqFPpDg2+Y3ISVnlFih3gHL0Xv1o2QcvZKZf4APAHuY4jrz2Z8jZ35HMH28\/2htiejLzCtCMLqDcNzcdtczk43CWaiRcL8rQhN3\/eylOu2dLD4KPAoaoyY5PXWDgTLgNfDqRaZAcPWyHT6pEjiUrArKD\/1kGqgOBFaLngUIHcxHGn5M2SNawBCv1XUdCijvckCPzw4KIyEykV9\/+4yM\/0Jz2BxwKMMdaTJlFw4cJ0ohyipPqak4aOLbsQg1Ezpchc='; 2 | $done({body: obj}); -------------------------------------------------------------------------------- /proxy.js: -------------------------------------------------------------------------------- 1 | /* 2 | list raw example: http://spys.me/proxy.txt 3 | //Surge4 4 | http-response ^http:\/\/spys\.me\/proxy\.txt$ requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/proxy.js 5 | 6 | // 7 | FreeProxy = url-test, url=http://www.google.com/generate_204, policy-path=http://spys.me/proxy.txt, update-interval=3600, timeout=0, interval=0, tolerance=0 8 | // 9 | */ 10 | var obj= $response.body; 11 | var proxy= []; 12 | obj= obj.match(/((\d{1,3}\.){3}\d{1,3}):(\d+).+([A-Z]){2}.+(S\s\+).+\n/g); 13 | for (var i = 0; i < obj.length; i++) { 14 | proxy[i]= obj[i].match(/[A-Z]{2}-[A-Z]{1}-S/) + "_" +i + " = http, " + obj[i]; 15 | } 16 | console.log(proxy); 17 | $done({body: proxy.toString().replace(/[A-Z]{2},/g, "\n [A-Z]{2}").replace(/\n,/g, "\n").replace(/:/g, ", ")}); 18 | -------------------------------------------------------------------------------- /pushover.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj["user"]["is_ios_licensed"]= true; 4 | 5 | $done({body: JSON.stringify(obj)}); 6 | 7 | // Descriptions -------------------------------------------------------------------------------- /quanx.js: -------------------------------------------------------------------------------- 1 | /* 2 | hostname = raw.githubusercontent.com, *.github.io, 3 | ^https:\/\/(raw.githubusercontent|\w+\.github)\.(com|io)\/.*\.js$ url script-response-body quanx.js 4 | */ 5 | var body = $response.body; 6 | body = '\/*\n@supported F06A2C1CA3BE\n*\/\n' + body; 7 | $done(body); -------------------------------------------------------------------------------- /remove-nonematch.js: -------------------------------------------------------------------------------- 1 | const headers = $request.headers 2 | delete headers["If-None-Match"] 3 | $done({headers}) -------------------------------------------------------------------------------- /revenuecat.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | obj["subscriber"]["subscriptions"]= { 3 | "revenuecat.pro.yearly": { 4 | "is_sandbox": false, 5 | "period_type": "active", 6 | "billing_issues_detected_at": null, 7 | "unsubscribe_detected_at": null, 8 | "expires_date": "2099-12-01T03:51:32Z", 9 | "original_purchase_date": "2019-10-31T02:51:33Z", 10 | "purchase_date": "2019-10-31T02:51:32Z", 11 | "store": "app_store" 12 | } 13 | }; 14 | obj["subscriber"]["entitlements"]= { 15 | "pro": { 16 | "expires_date": "2099-12-01T03:51:32Z", 17 | "product_identifier": "revenuecat.pro.yearly", 18 | "purchase_date": "2019-10-31T02:51:32Z" 19 | } 20 | }; 21 | $done({body: JSON.stringify(obj)}); 22 | -------------------------------------------------------------------------------- /shopee_checkin.js: -------------------------------------------------------------------------------- 1 | /* 2 | [Script] 3 | cron "0 6 * * *" script-path=Shopee_checkin.js 4 | 5 | http-request ^https:\/\/shopee\.vn\/me\/setting max-size=0,script-path=shopee_getcookie.js 6 | 7 | MITM = shopee.vn 8 | */ 9 | var shopeeUrl = { 10 | url: 'https://shopee.vn/mkt/coins/api/v2/checkin', 11 | headers: { 12 | Cookie: $persistentStore.read("CookieSP"), 13 | } 14 | } 15 | $httpClient.post(shopeeUrl, function(error, response, data){ 16 | if (error) { 17 | $notification.post("Shopee checkin", "", "Lỗi kết nối‼️") 18 | $done(); 19 | } 20 | else{ 21 | if(response.status == 200) 22 | { 23 | let obj= JSON.parse(data); 24 | if(obj["data"]["success"]) 25 | { 26 | var user = obj["data"]["username"]; 27 | var coins = obj["data"]["increase_coins"]; 28 | $notification.post("Shopee " + user, "", "Đã nhận được " + coins + "💰"); 29 | $done(); 30 | } 31 | } 32 | else{ 33 | $notification.post("Shopee Cookie đã hết hạn‼️", "", "Hãy đăng nhập lại 🔓"); 34 | } 35 | } 36 | }); 37 | -------------------------------------------------------------------------------- /shopee_cookie.js: -------------------------------------------------------------------------------- 1 | /* 2 | Shoppe Check in Get Cookie. 3 | The following URL check in once 4 | https://shopee.vn 5 | 6 | http-request ^https:\/\/shopee\.vn\/me\/setting max-size=0,script-path=shopee_getcookie.js 7 | 8 | MITM = shopee.vn 9 | */ 10 | 11 | if ($request.headers['Cookie']) { 12 | var headerSP = $request.headers['Cookie']; 13 | var cookie = $persistentStore.write(headerSP, "CookieSP"); 14 | if (!cookie){ 15 | $notification.post("Shopee Cookie lỗi‼️", "", "Đăng nhập lại") 16 | } else { 17 | $notification.post("Shopee Cookie done🎉🎉", "", "") 18 | } 19 | } else { 20 | $notification.post("Shopee lỗi đọc cookiee‼️", "", "Đăng nhập lại") 21 | } 22 | $done({}) -------------------------------------------------------------------------------- /shred.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj= { 4 | "response" : { 5 | "status" : 0, 6 | "latest_receipt_info" : [ 7 | { 8 | "quantity" : "1", 9 | "purchase_date_ms" : "1575696159000", 10 | "expires_date" : "2099-12-14 05:22:39 Etc/GMT", 11 | "expires_date_pst" : "2099-12-13 21:22:39 America/Los_Angeles", 12 | "is_in_intro_offer_period" : "false", 13 | "transaction_id" : "580000409514451", 14 | "is_trial_period" : "true", 15 | "original_transaction_id" : "580000409514451", 16 | "purchase_date" : "2019-12-07 05:22:39 Etc/GMT", 17 | "product_id" : "com.shred.shredlabs.subscription.7daytrialyear", 18 | "original_purchase_date_pst" : "2019-12-06 21:22:40 America/Los_Angeles", 19 | "subscription_group_identifier" : "20487991", 20 | "original_purchase_date_ms" : "1575696160000", 21 | "web_order_line_item_id" : "580000141742525", 22 | "expires_date_ms" : "4100823704000", 23 | "purchase_date_pst" : "2019-12-06 21:22:39 America/Los_Angeles", 24 | "original_purchase_date" : "2019-12-07 05:22:40 Etc/GMT" 25 | } 26 | ], 27 | "is_trial_offer_available" : false, 28 | "active_subscription_info" : { 29 | "originalTransactionId" : "580000409514451", 30 | "id" : 25582, 31 | "latestExpireDate" : 4100823704, 32 | "latestReceiptData" : "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", 33 | "productID" : "com.shred.shredlabs.subscription.7daytrialyear" 34 | } 35 | }, 36 | "code" : 200 37 | }; 38 | 39 | $done({body: JSON.stringify(obj)}); 40 | 41 | // Descriptions -------------------------------------------------------------------------------- /sololearn.js: -------------------------------------------------------------------------------- 1 | /* 2 | QX: ^https:\/\/api\.sololearn\.com\/(authenticateDevice|challenge\/GetContestFeed|Profile\/GetProfile)$ url script-response-body langkhach/sololearn.js 3 | 4 | Surge: http-response ^https:\/\/api\.sololearn\.com\/(authenticateDevice|challenge\/GetContestFeed|Profile\/GetProfile)$ requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/langkhach270389/Scripting/master/sololearn.js 5 | 6 | hostname=api.sololearn.com 7 | */ 8 | 9 | let url=$request.url; 10 | let obj=JSON.parse($response.body); 11 | 12 | if (url.endsWith('authenticateDevice')) { 13 | obj.user.badge="platinum|platinum_mod|pro"; 14 | obj.user.accessLevel=65520; 15 | obj.user.isPro=true; 16 | obj.user.proExpireDate="2099-01-31T00:00:00"; 17 | } 18 | 19 | if (url.endsWith('GetContestFeed')) { 20 | let num=obj.feed.length; 21 | if (num==0) { 22 | $done({}); 23 | } else { 24 | for (var i=0;i