diff --git a/src/main/java/org/parabot/Landing.java b/src/main/java/org/parabot/Landing.java index f1b0e8a..7c1fd58 100644 --- a/src/main/java/org/parabot/Landing.java +++ b/src/main/java/org/parabot/Landing.java @@ -12,7 +12,6 @@ import org.parabot.core.ui.utils.UILog; import java.io.File; -import javax.swing.JOptionPane; import javax.swing.UIManager; /** @@ -46,13 +45,6 @@ public final class Landing { t.printStackTrace(); } - if (Core.hasValidation() && !Core.isValid()) { - if (Core.newVersionAlert() == JOptionPane.YES_OPTION) { - Core.downloadNewVersion(); - return; - } - } - Core.verbose("Starting 2006Scape..."); ServerSelector.initServer = "2006Scape"; new BotUI(); @@ -110,10 +102,6 @@ public final class Landing { case "-no_sec": Core.disableSec(); break; - case "-no_validation": - case "-ignore_updates": - Core.disableValidation(); - break; case "-uuid": Core.setQuickLaunchByUuid(Integer.parseInt(args[++i])); break; diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index 8438ec5..85c4f51 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -16,8 +16,6 @@ public class Configuration extends org.parabot.api.Configuration { public static final String GET_SERVER_PROVIDER_TYPE = "http://v3.bdn.parabot.org/api/bot/server/type?server=%s"; public static final String SERVER_PROVIDER_INFO = "http://v3.bdn.parabot.org/api/bot/list/%s?latest=true"; public static final String GET_SERVER_SETTINGS = "http://bdn.parabot.org/api/get.php?action=get_settings"; - public static final String API_DOWNLOAD_BOT = "http://v3.bdn.parabot.org/api/bot/download/client"; - public static final String DOWNLOAD_BOT = "http://bdn.parabot.org/versions/"; public static final String DATA_API = "http://bdn.parabot.org/api/v2/data/"; public static final String ITEM_API = DATA_API + "items/"; diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index 0ca68e0..e48fd68 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -27,22 +27,11 @@ import javax.swing.JOptionPane; */ @SuppressWarnings("Duplicates") public class Core { - - private static final Version currentVersion = Configuration.BOT_VERSION; private static int quickLaunchByUuid = -1; // used like -server, but denoted by an Int rather than the server name private static boolean verbose; private static boolean dump; - private static boolean validate = true; private static boolean secure = true; - public static void disableValidation() { - Core.validate = false; - } - - public static boolean hasValidation() { - return validate; - } - public static int getQuickLaunchByUuid() { return quickLaunchByUuid; } @@ -113,128 +102,6 @@ public class Core { System.out.println(line); } - /** - * Compares the latest version from the BDN and the current version - * - * @return True if the current version is equal or higher than the latest version, false if lower than the latest version - */ - public static boolean validVersion() { - String url = String.format(Configuration.COMPARE_VERSION_URL, "client", currentVersion.get()); - - BufferedReader br = WebUtil.getReader(url); - try { - if (br != null) { - JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(br); - boolean latest = (Boolean) object.get("result"); - if (!latest) { - Directories.clearCache(); - } - Core.verbose("Local version: " + currentVersion.get() + ". " + (latest ? "This is up to date." : "This is Out Of Date. Cache will be cleared.")); - return latest; - } - } catch (IOException | ParseException e) { - e.printStackTrace(); - } finally { - try { - if (br != null) { - br.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - return true; - } - - public static void downloadNewVersion() { - UILog.log("Updates", - "Please download the newest version of Parabot at " - + Configuration.DOWNLOAD_BOT + (currentVersion.isNightly() ? Configuration.NIGHTLY_APPEND : ""), - JOptionPane.INFORMATION_MESSAGE); - URI uri = URI.create(Configuration.API_DOWNLOAD_BOT + (currentVersion.isNightly() ? Configuration.NIGHTLY_APPEND : "")); - try { - Desktop.getDesktop().browse(uri); - } catch (IOException e1) { - JOptionPane.showMessageDialog(null, "Connection Error", - "Error", JOptionPane.ERROR_MESSAGE); - e1.printStackTrace(); - } - } - - /** - * Checks for updates. - * - * @return true if no update is required, otherwise false. - */ - public static boolean isValid() { - Core.verbose("Checking for updates..."); - validateCache(); - - if (validate) { - if (validVersion() && checksumValid()) { - Core.verbose("No updates available."); - return true; - } else { - Core.verbose("Updates available..."); - return false; - } - } else { - Core.verbose("Validation disabled"); - return true; - } - } - - /** - * Alerts the user that there is a new version - */ - public static int newVersionAlert() { - return UILog.alert("Parabot Update", "There's a new version of Parabot! \nDo you wish to download it?\n\nThe current version could have some problems!", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); - } - - /** - * Checks the version of the bot using a checksum of the jar comparison against checksum given by the website - * - * @return true if no new version is found, otherwise false. - */ - private static boolean checksumValid() { - File f = new File(Landing.class.getProtectionDomain().getCodeSource().getLocation().getFile()); - if (f.isFile()) { - try { - MessageDigest md = MessageDigest.getInstance("MD5"); - File location = new File(Landing.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()); - if (location.exists()) { - FileInputStream fis = new FileInputStream(location); - byte[] dataBytes = new byte[1024]; - - int nread; - - while ((nread = fis.read(dataBytes)) != -1) { - md.update(dataBytes, 0, nread); - } - - byte[] mdbytes = md.digest(); - - StringBuilder sb = new StringBuilder(); - for (byte mdbyte : mdbytes) { - sb.append(Integer.toString((mdbyte & 0xff) + 0x100, 16).substring(1)); - } - - String result; - if ((result = WebUtil.getContents(String.format(Configuration.COMPARE_CHECKSUM_URL, "client", currentVersion.get()), "checksum=" + URLEncoder.encode(sb.toString(), "UTF-8"))) != null) { - JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(result); - boolean upToDate = (boolean) object.get("result"); - Core.verbose("Local checksum: " + URLEncoder.encode(sb.toString(), "UTF-8") + ". " + (upToDate ? "This matches BDN and is up to date." : "BDN mismatch, must be Out Of Date.")); - return upToDate; - } - } - } catch (NoSuchAlgorithmException | ParseException | IOException | URISyntaxException e) { - e.printStackTrace(); - } - } - return true; - } - /** * Method that removes the cache contents after 3 days */