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