From 0ff9fa667b6d048ad99aa3216a6a1269e12a7231 Mon Sep 17 00:00:00 2001 From: 4pr0n Date: Sat, 3 May 2014 01:13:14 -0700 Subject: [PATCH] 1.0.34 - Anonib ripper, better updater #8 --- pom.xml | 2 +- .../rarchives/ripme/ripper/rippers/ChanRipper.java | 12 ++++++++++-- .../java/com/rarchives/ripme/ui/UpdateUtils.java | 9 +++++++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 38290a057..515b3d87a 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.rarchives.ripme ripme jar - 1.0.33 + 1.0.34 ripme http://rip.rarchives.com diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/ChanRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/ChanRipper.java index be7ec7579..c9571991c 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/ChanRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/ChanRipper.java @@ -38,6 +38,9 @@ public String getHost() { @Override public boolean canRip(URL url) { // TODO Whitelist? + if (url.getHost().equals("anon-ib.com")) { + return true; + } return url.getHost().contains("chan") && ( url.toExternalForm().contains("/res/") // Most chans || url.toExternalForm().contains("/thread/")); // 4chan @@ -53,10 +56,10 @@ public String getGID(URL url) throws MalformedURLException { String u = url.toExternalForm(); if (u.contains("/res/")) { - p = Pattern.compile("^.*chan.*\\.[a-z]{2,3}/[a-zA-Z0-9]+/res/([0-9]+)(\\.html|\\.php)?.*$"); + p = Pattern.compile("^.*(chan|anon-ib).*\\.[a-z]{2,3}/[a-zA-Z0-9]+/res/([0-9]+)(\\.html|\\.php)?.*$"); m = p.matcher(u); if (m.matches()) { - return m.group(1); + return m.group(2); } } else if (u.contains("/thread/")) { @@ -91,6 +94,11 @@ public void rip() throws IOException { logger.debug("Skipping link that does not contain /src/: " + link.attr("href")); continue; } + if (link.attr("href").contains("=http") + || link.attr("href").contains("http://imgops.com/")) { + logger.debug("Skipping link that contains '=http' or 'imgops.com': " + link.attr("href")); + continue; + } System.err.println("URL=" + link.attr("href")); p = Pattern.compile("^.*\\.(jpg|jpeg|png|gif)$", Pattern.CASE_INSENSITIVE); m = p.matcher(link.attr("href")); diff --git a/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java b/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java index ee57a8f54..8b5556cfb 100644 --- a/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java +++ b/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java @@ -16,10 +16,12 @@ import org.jsoup.Jsoup; import org.jsoup.nodes.Document; +import com.rarchives.ripme.utils.Utils; + public class UpdateUtils { private static final Logger logger = Logger.getLogger(UpdateUtils.class); - private static final String DEFAULT_VERSION = "1.0.33"; + private static final String DEFAULT_VERSION = "1.0.34"; private static final String updateJsonURL = "http://rarchives.com/ripme.json"; private static final String updateJarURL = "http://rarchives.com/ripme.jar"; private static final String mainFileName = "ripme.jar"; @@ -58,6 +60,9 @@ public static void updateProgram(JLabel configUpdateLabel) { StringBuilder changeList = new StringBuilder(); for (int i = 0; i < jsonChangeList.length(); i++) { String change = jsonChangeList.getString(i); + if (change.startsWith(UpdateUtils.getThisJarVersion() + ":")) { + break; + } changeList.append("
+ " + change); } @@ -136,7 +141,7 @@ private static void downloadJarAndLaunch(String updateJarURL) Response response; response = Jsoup.connect(updateJarURL) .ignoreContentType(true) - .timeout(60000) + .timeout(Utils.getConfigInteger("download.timeout", 60 * 1000)) .maxBodySize(1024 * 1024 * 100) .execute(); FileOutputStream out = new FileOutputStream(updateFileName);