Advertisement
Kyrexar

[SSR] Icefox

Aug 4th, 2020 (edited)
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.73 KB | None | 0 0
  1. package icefox;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.net.HttpURLConnection;
  7. import java.net.MalformedURLException;
  8. import java.net.URL;
  9. import java.util.Arrays;
  10. import java.util.Scanner;
  11.  
  12. public class Icefox {
  13.     public static void main(String[] args) throws IOException {
  14.         String[] codigo = new String[525];
  15.         Arrays.fill(codigo, "");
  16.         // CODIGOS 1XX - Informacion
  17.         codigo[100] = "Continue";
  18.         codigo[101] = "Switching Protocols";
  19.         codigo[102] = "Processing";
  20.         codigo[103] = "Early Hints";
  21.         // CODIGOS 2XX - Correcto
  22.         codigo[200] = "OK";
  23.         codigo[201] = "Created";
  24.         codigo[202] = "Accepted";
  25.         codigo[203] = "Non-Authoritative Information";
  26.         codigo[204] = "No Content";
  27.         codigo[205] = "Reset Content";
  28.         codigo[206] = "Partial Content";
  29.         // CODIGOS 3XX - Redireccion
  30.         codigo[300] = "Multiple Choices";
  31.         codigo[301] = "Moved Permanently";
  32.         codigo[302] = "Found";
  33.         codigo[303] = "See Other";
  34.         codigo[304] = "Not Modified";
  35.         codigo[305] = "Use Proxy";
  36.         codigo[306] = "Unused";
  37.         codigo[307] = "Temporary Redirect";
  38.         codigo[308] = "Permanent Redirect";
  39.         // CODIGOS 4XX - Errores del cliente
  40.         codigo[400] = "Bad Request";
  41.         codigo[401] = "Unauthorized";
  42.         codigo[402] = "Payment Required";
  43.         codigo[403] = "Forbidden";
  44.         codigo[404] = "Not Found";
  45.         codigo[405] = "Method Not Allowed";
  46.         codigo[406] = "Not Acceptable";
  47.         codigo[407] = "Proxy Authentication Required";
  48.         codigo[408] = "Request Timeout";
  49.         codigo[409] = "Conflict";
  50.         codigo[410] = "Gone";
  51.         codigo[411] = "Length Required";
  52.         codigo[412] = "Precondition Failed";
  53.         codigo[413] = "Request Entity Too Large";
  54.         codigo[414] = "Request-URI Too Long";
  55.         codigo[415] = "Unsupported Media Type";
  56.         codigo[416] = "Requested Range Not Satisfiable";
  57.         codigo[417] = "Expectation Failed";
  58.         codigo[418] = "I'm a teapot";
  59.         codigo[421] = "Misdirected Request";
  60.         codigo[422] = "Unprocessable Entity";
  61.         codigo[423] = "Locked";
  62.         codigo[425] = "Too Early";
  63.         codigo[426] = "Upgrade Required";
  64.         codigo[428] = "Precondition Required";
  65.         codigo[429] = "Too Many Requests";
  66.         codigo[431] = "Request Header Fields Too Large";
  67.         codigo[451] = "Unavailable For Legal Reasons";
  68.         // CODIGOS 5XX - Errores del servidor
  69.         codigo[500] = "Internal Server Error";
  70.         codigo[501] = "Not Implemented";
  71.         codigo[502] = "Bad Gateway";
  72.         codigo[503] = "Service Unavailable";
  73.         codigo[504] = "Gateway Timeout";
  74.         codigo[505] = "HTTP Version Not Supported";
  75.         codigo[506] = "Variant Also Negotiates";
  76.         codigo[507] = "Insufficient Storage";
  77.         codigo[511] = "Network Authentication Required";
  78.         codigo[520] = "Web server is returning an unknown error";
  79.         codigo[522] = "Connection timed out";
  80.         codigo[524] = "A timeout occurred";
  81.  
  82.         System.out.println(
  83.                 "WWWNNNWWNWWWWNWWWWWWWWWWNKkOXWWWNWWNWWWW\nWWNWWNNNWNWWX0kdoollloodxxodx0XXXWWWWWWW\nWWNWNkxXNKxc,..........,coooodxdxXWWWWWN\nWNWNOc:dd:''';cc;.....',ldoooooooxKNWNWW\nWWWXd:clllooodo,.......'cddoooooood0NWNN\nNNXxccllloooodl;,;;'....,ldoooooodod0NNN\nWXxccclllooodollool,.....,:ooooooddod0NW\nNOl:ccllloooddo:,'.........,:odddooddkXW\nNxccccclllllc::'.............:ooddooddkX\nXd:ccccllc:c,................;oloddddoo0\nNxcccccccccll:'....','.......;dolodooodX\nW0lcccccccllloollloddoc,.....cxoooodooON\nWXxccccccclllc:::::,''......cddooooookXW\nWWKoccccccccll:,.........,:lddoooooodKWN\nWWNKdccccccccclllc:::::clooooooooollkNWW\nWWNWXklcccccccccllllllllloooooollldONWNW\nWWNWNNKkocccccccccccccllllllllldx0XNWNWW\nWWNWNNWNXOxocc::ccccccccccc:coOXNWWWNNWN\nNNWWNWWNNWNX0Okddolllllooddk0XWWNWWNWWWW\nWNWWWWWWNNWNWWWNNXKKKKKXXNNWWWWWNNWWNWWW");
  84.  
  85.         System.out.println("  _____ _____ ______ ______ ______   __");
  86.         System.out.println(" |_   _/ ____|  ____|  ____/ __ \\ \\ / /");
  87.         System.out.println("   | || |    | |__  | |__ | |  | \\ V / ");
  88.         System.out.println("   | || |    |  __| |  __|| |  | |> <  ");
  89.         System.out.println("  _| || |____| |____| |   | |__| / . \\ ");
  90.         System.out.println(" |_____\\_____|______|_|    \\____/_/ \\_\\ ©\n");
  91.  
  92.         System.out.println("Bienvenido a Icefox 1.0");
  93.  
  94.         Scanner sc = new Scanner(System.in);
  95.         System.out.print("Introduzca una URL (o salir): ");
  96.         String dir = sc.nextLine();
  97.         int status;
  98.  
  99.         while (!dir.equals("salir")) {
  100.             if (dir.equals("icefox")) { // Modo debugging codigos HTTP
  101.                 for (int i = 200; i < codigo.length; i++) {
  102.                     if (!codigo[i].equals("")) {
  103.                         try {
  104.                             dir = "https://httpstat.us/" + i;
  105.                             System.out.println("Probando " + dir);
  106.                             URL url = new URL(dir);
  107.                             HttpURLConnection con = (HttpURLConnection) url.openConnection();
  108.                             con.setRequestMethod("GET");
  109.                             status = con.getResponseCode();
  110.                             System.out.println("El servidor a devuelto el codigo " + status + ": " + codigo[status]);
  111.                             BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
  112.                             String inputLine;
  113.                             StringBuffer contenido = new StringBuffer();
  114.                             while ((inputLine = in.readLine()) != null) {
  115.                                 contenido.append(inputLine);
  116.                             }
  117.                             in.close();
  118.                             con.disconnect();
  119.                             System.out.println(contenido);
  120.                         } catch (Exception e) {
  121.                             System.out.println("Error: " + e);
  122.                         }
  123.                     }
  124.                 }
  125.             } else { // Si se introduce una URL
  126.                 try {
  127.                     URL url = new URL(dir);
  128.                     HttpURLConnection con = (HttpURLConnection) url.openConnection();
  129.                     con.setRequestMethod("GET"); // Le hace un HTTP GET
  130.                     status = con.getResponseCode();
  131.                     System.out.println("El servidor a devuelto el codigo " + status + ": " + codigo[status]);
  132.  
  133.                     if (status == 200) { // Si el servidor da el OK
  134.                         System.out.println("Descargando archivo html");
  135.  
  136.                         // Empieza a descargar el html
  137.                         BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
  138.                         String inputLine;
  139.                         StringBuffer contenido = new StringBuffer();
  140.                         while ((inputLine = in.readLine()) != null) {
  141.                             contenido.append(inputLine);
  142.                         }
  143.                         in.close(); // Cierra el buffer
  144.                         con.disconnect(); // Cierra la conexión
  145.                        
  146.                         String res = contenido.toString().replace("><", ">\n<"); // Saltos de linea
  147.  
  148.                         System.out.print("¿Cuanto quiere ver del html(0=todo)? ");
  149.                         try{
  150.                             int t = Integer.parseInt(sc.nextLine());
  151.                             if (t <= 0) {
  152.                                 System.out.println(res);
  153.                             } else {
  154.                                 System.out.println(res.substring(0, t));
  155.                             }
  156.                         } catch( NumberFormatException e ){
  157.                             System.out.println("Eso no es un numero");
  158.                         }
  159.                        
  160.                     }
  161.                 } catch (MalformedURLException e) { // Captura URLs mal escritas
  162.                     System.out.println("Revisa la URL");
  163.                 }
  164.             }
  165.             System.out.print("Introduzca una URL (o salir): ");
  166.             dir = sc.nextLine();
  167.         }
  168.         sc.close();
  169.     }
  170. }
  171.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement