diff --git a/pom.xml b/pom.xml index 03e8c191d..d2a50b6f0 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.tonikelope MegaBasterd - 6.72 + 6.73 jar diff --git a/src/main/java/com/tonikelope/megabasterd/ChunkDownloader.java b/src/main/java/com/tonikelope/megabasterd/ChunkDownloader.java index bbac68934..25f8f3e57 100644 --- a/src/main/java/com/tonikelope/megabasterd/ChunkDownloader.java +++ b/src/main/java/com/tonikelope/megabasterd/ChunkDownloader.java @@ -113,7 +113,7 @@ public class ChunkDownloader implements Runnable, SecureSingleThreadNotifiable { int http_error = 0, http_status = -1, conta_error = 0; - boolean chunk_error = false, slow_proxy = false, turbo_mode = false, timeout = false; + boolean chunk_error = false, slow_proxy = false, timeout = false; String worker_url = null; @@ -127,9 +127,9 @@ public class ChunkDownloader implements Runnable, SecureSingleThreadNotifiable { _current_smart_proxy = proxy_manager.getFastestProxy(); - getDownload().enableTurboMode(); - - turbo_mode = true; + if (!getDownload().isTurbo()) { + getDownload().enableTurboMode(); + } } while (!_download.getMain_panel().isExit() && !_exit && !_download.isStopped()) { @@ -171,10 +171,8 @@ public class ChunkDownloader implements Runnable, SecureSingleThreadNotifiable { _current_smart_proxy = proxy_manager.getFastestProxy(); - if (!turbo_mode) { + if (!getDownload().isTurbo()) { getDownload().enableTurboMode(); - - turbo_mode = true; } } @@ -385,7 +383,7 @@ public class ChunkDownloader implements Runnable, SecureSingleThreadNotifiable { _download.getProgress_meter().secureNotify(); } - if (!_exit && !_download.isStopped() && !timeout && (http_error != 509 || _current_smart_proxy != null) && http_error != 403 && http_error != 503) { + if (!_exit && !_download.isStopped() && !timeout && _current_smart_proxy == null && http_error != 509 && http_error != 403 && http_error != 503) { _error_wait = true; diff --git a/src/main/java/com/tonikelope/megabasterd/Download.java b/src/main/java/com/tonikelope/megabasterd/Download.java index c80f898e0..a4dffdf71 100644 --- a/src/main/java/com/tonikelope/megabasterd/Download.java +++ b/src/main/java/com/tonikelope/megabasterd/Download.java @@ -189,6 +189,10 @@ public class Download implements Transference, Runnable, SecureSingleThreadNotif } + public boolean isTurbo() { + return _turbo; + } + public String getCustom_chunks_dir() { return _custom_chunks_dir; } diff --git a/src/main/java/com/tonikelope/megabasterd/MainPanel.java b/src/main/java/com/tonikelope/megabasterd/MainPanel.java index aeb472166..fd4ffa6dc 100644 --- a/src/main/java/com/tonikelope/megabasterd/MainPanel.java +++ b/src/main/java/com/tonikelope/megabasterd/MainPanel.java @@ -53,7 +53,7 @@ import javax.swing.UIManager; */ public final class MainPanel { - public static final String VERSION = "6.72"; + public static final String VERSION = "6.73"; public static final int THROTTLE_SLICE_SIZE = 16 * 1024; public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024; public static final int STREAMER_PORT = 1337; @@ -956,9 +956,19 @@ public final class MainPanel { public void byebye(boolean restart) { + _byebye(restart, true); + } + + public void byebye(boolean restart, boolean restart_warning) { + + _byebye(restart, restart_warning); + } + + private void _byebye(boolean restart, boolean restart_warning) { + if (!_exit && checkByeBye()) { - if (restart) { + if (restart && restart_warning) { JOptionPane.showMessageDialog(getView(), LabelTranslatorSingleton.getInstance().translate("MegaBasterd will restart"), LabelTranslatorSingleton.getInstance().translate("Restart required"), JOptionPane.WARNING_MESSAGE); } diff --git a/src/main/java/com/tonikelope/megabasterd/MiscTools.java b/src/main/java/com/tonikelope/megabasterd/MiscTools.java index 4f734532e..4f83f9355 100644 --- a/src/main/java/com/tonikelope/megabasterd/MiscTools.java +++ b/src/main/java/com/tonikelope/megabasterd/MiscTools.java @@ -833,7 +833,7 @@ public class MiscTools { boolean error = false, error509 = false, error403 = false; - SmartMegaProxyManager proxy_manager = null; + SmartMegaProxyManager proxy_manager = MainPanel.getProxy_manager(); String current_proxy = null; @@ -904,6 +904,11 @@ public class MiscTools { } + if (current_proxy != null) { + con.setConnectTimeout(Transference.HTTP_PROXY_CONNECT_TIMEOUT); + con.setReadTimeout(Transference.HTTP_PROXY_READ_TIMEOUT); + } + con.setUseCaches(false); con.setRequestProperty("User-Agent", MainPanel.DEFAULT_USER_AGENT); diff --git a/src/main/java/com/tonikelope/megabasterd/SmartMegaProxyManager.java b/src/main/java/com/tonikelope/megabasterd/SmartMegaProxyManager.java index d26e69c10..832b66a8b 100644 --- a/src/main/java/com/tonikelope/megabasterd/SmartMegaProxyManager.java +++ b/src/main/java/com/tonikelope/megabasterd/SmartMegaProxyManager.java @@ -39,19 +39,22 @@ public final class SmartMegaProxyManager { public synchronized String getFastestProxy() { - Set keys = _proxy_list.keySet(); + if (_proxy_list.size() > 0) { - Long current_time = System.currentTimeMillis(); + Set keys = _proxy_list.keySet(); - for (String k : keys) { + Long current_time = System.currentTimeMillis(); - if (_proxy_list.get(k) < current_time) { + for (String k : keys) { - return k; + if (_proxy_list.get(k) < current_time) { + + return k; + } } } - LOG.log(Level.WARNING, "{0} Smart Proxy Manager: NO PROXYS AVAILABLE!!", new Object[]{Thread.currentThread().getName()}); + LOG.log(Level.WARNING, "{0} Smart Proxy Manager: NO PROXYS AVAILABLE!! (Refreshing...)", new Object[]{Thread.currentThread().getName()}); refreshProxyList(); diff --git a/src/main/java/com/tonikelope/megabasterd/StreamChunkDownloader.java b/src/main/java/com/tonikelope/megabasterd/StreamChunkDownloader.java index f0dd3e29e..23fa5fe4c 100644 --- a/src/main/java/com/tonikelope/megabasterd/StreamChunkDownloader.java +++ b/src/main/java/com/tonikelope/megabasterd/StreamChunkDownloader.java @@ -130,7 +130,6 @@ public class StreamChunkDownloader implements Runnable { if (current_smart_proxy != null) { con.setConnectTimeout(Transference.HTTP_PROXY_CONNECT_TIMEOUT); - con.setReadTimeout(Transference.HTTP_PROXY_READ_TIMEOUT); } diff --git a/src/main/resources/images/mbasterd_screen.png b/src/main/resources/images/mbasterd_screen.png index 634367199..5133a1471 100644 Binary files a/src/main/resources/images/mbasterd_screen.png and b/src/main/resources/images/mbasterd_screen.png differ