mirror of
https://github.com/tonikelope/megabasterd.git
synced 2025-05-20 16:27:12 +02:00
2.65
This commit is contained in:
parent
cb242c116d
commit
db05ac4fef
@ -110,15 +110,10 @@ public class ChunkDownloader implements Runnable, SecureSingleThreadNotifiable {
|
|||||||
|
|
||||||
while (!_exit && !_download.isStopped()) {
|
while (!_exit && !_download.isStopped()) {
|
||||||
|
|
||||||
if (_download.getMain_panel().isUse_smart_proxy() && _download.getMain_panel().getProxy_manager().isEnabled() && !_download.getMain_panel().isUse_smart_proxy()) {
|
|
||||||
|
|
||||||
_download.getMain_panel().getProxy_manager().setUse_smart_proxy(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (httpclient == null || error || _download.getMain_panel().isUse_smart_proxy()) {
|
if (httpclient == null || error || _download.getMain_panel().isUse_smart_proxy()) {
|
||||||
|
|
||||||
if (error509 && _download.getMain_panel().isUse_smart_proxy() && !_download.getMain_panel().getProxy_manager().isEnabled()) {
|
if (error509 && _download.getMain_panel().isUse_smart_proxy() && !_download.getMain_panel().getProxy_manager().isEnabled()) {
|
||||||
_download.getMain_panel().getProxy_manager().setUse_smart_proxy(true);
|
_download.getMain_panel().getProxy_manager().setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_download.getMain_panel().isUse_smart_proxy() && _download.getMain_panel().getProxy_manager().isEnabled() && !MainPanel.isUse_proxy()) {
|
if (_download.getMain_panel().isUse_smart_proxy() && _download.getMain_panel().getProxy_manager().isEnabled() && !MainPanel.isUse_proxy()) {
|
||||||
@ -147,7 +142,7 @@ public class ChunkDownloader implements Runnable, SecureSingleThreadNotifiable {
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
httpclient = MiscTools.getApacheKissHttpClient();
|
httpclient = MiscTools.getApacheKissHttpClient();
|
||||||
_download.getMain_panel().getProxy_manager().setUse_smart_proxy(false);
|
_download.getMain_panel().getProxy_manager().setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (httpclient == null) {
|
} else if (httpclient == null) {
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
/*
|
|
||||||
* To change this license header, choose License Headers in Project Properties.
|
|
||||||
* To change this template file, choose Tools | Templates
|
|
||||||
* and open the template in the editor.
|
|
||||||
*/
|
|
||||||
package megabasterd;
|
package megabasterd;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
@ -12,6 +12,10 @@ import javax.crypto.CipherInputStream;
|
|||||||
import javax.crypto.NoSuchPaddingException;
|
import javax.crypto.NoSuchPaddingException;
|
||||||
import static megabasterd.CryptTools.*;
|
import static megabasterd.CryptTools.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class ChunkWriter implements Runnable, SecureSingleThreadNotifiable {
|
public final class ChunkWriter implements Runnable, SecureSingleThreadNotifiable {
|
||||||
|
|
||||||
private long _last_chunk_id_written;
|
private long _last_chunk_id_written;
|
||||||
|
@ -10,6 +10,10 @@ import java.util.logging.Level;
|
|||||||
import static java.util.logging.Level.SEVERE;
|
import static java.util.logging.Level.SEVERE;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class ClipboardSpy implements Runnable, ClipboardOwner, SecureSingleThreadNotifiable, ClipboardChangeObservable {
|
public final class ClipboardSpy implements Runnable, ClipboardOwner, SecureSingleThreadNotifiable, ClipboardChangeObservable {
|
||||||
|
|
||||||
private static final int SLEEP = 250;
|
private static final int SLEEP = 250;
|
||||||
|
@ -2,6 +2,10 @@ package megabasterd;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class ContentType {
|
public final class ContentType {
|
||||||
|
|
||||||
private final HashMap<String, String> _content_type;
|
private final HashMap<String, String> _content_type;
|
||||||
|
@ -11,6 +11,10 @@ import javax.swing.Action;
|
|||||||
import javax.swing.JPopupMenu;
|
import javax.swing.JPopupMenu;
|
||||||
import javax.swing.text.JTextComponent;
|
import javax.swing.text.JTextComponent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class ContextMenuMouseListener extends MouseAdapter {
|
public final class ContextMenuMouseListener extends MouseAdapter {
|
||||||
|
|
||||||
private final JPopupMenu _popup;
|
private final JPopupMenu _popup;
|
||||||
|
@ -39,6 +39,10 @@ import org.apache.http.impl.client.CloseableHttpClient;
|
|||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
import org.codehaus.jackson.map.ObjectMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class CryptTools {
|
public final class CryptTools {
|
||||||
|
|
||||||
public static final int[] AES_ZERO_IV_I32A = {0, 0, 0, 0};
|
public static final int[] AES_ZERO_IV_I32A = {0, 0, 0, 0};
|
||||||
|
@ -9,6 +9,10 @@ import java.util.logging.Logger;
|
|||||||
import static megabasterd.DBTools.*;
|
import static megabasterd.DBTools.*;
|
||||||
import static megabasterd.MainPanel.*;
|
import static megabasterd.MainPanel.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class DownloadManager extends TransferenceManager {
|
public final class DownloadManager extends TransferenceManager {
|
||||||
|
|
||||||
public DownloadManager(MainPanel main_panel) {
|
public DownloadManager(MainPanel main_panel) {
|
||||||
|
@ -17,6 +17,10 @@ import javax.swing.SpinnerNumberModel;
|
|||||||
import static megabasterd.MainPanel.*;
|
import static megabasterd.MainPanel.*;
|
||||||
import static megabasterd.MiscTools.*;
|
import static megabasterd.MiscTools.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class DownloadView extends javax.swing.JPanel implements TransferenceView {
|
public final class DownloadView extends javax.swing.JPanel implements TransferenceView {
|
||||||
|
|
||||||
private final Download _download;
|
private final Download _download;
|
||||||
|
@ -9,6 +9,10 @@ import java.util.logging.Logger;
|
|||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import static megabasterd.MiscTools.*;
|
import static megabasterd.MiscTools.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class GlobalSpeedMeter implements Runnable {
|
public final class GlobalSpeedMeter implements Runnable {
|
||||||
|
|
||||||
public static final int SLEEP = 3000;
|
public static final int SLEEP = 3000;
|
||||||
|
@ -4,7 +4,6 @@ import com.sun.net.httpserver.Headers;
|
|||||||
import com.sun.net.httpserver.HttpExchange;
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
import com.sun.net.httpserver.HttpHandler;
|
import com.sun.net.httpserver.HttpHandler;
|
||||||
import com.sun.net.httpserver.HttpServer;
|
import com.sun.net.httpserver.HttpServer;
|
||||||
import java.awt.Color;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
@ -30,6 +29,10 @@ import org.apache.http.HttpStatus;
|
|||||||
import org.apache.http.client.methods.HttpGet;
|
import org.apache.http.client.methods.HttpGet;
|
||||||
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class KissVideoStreamServer implements HttpHandler, SecureSingleThreadNotifiable {
|
public final class KissVideoStreamServer implements HttpHandler, SecureSingleThreadNotifiable {
|
||||||
|
|
||||||
public static final int THREAD_START = 0x01;
|
public static final int THREAD_START = 0x01;
|
||||||
@ -98,15 +101,7 @@ public final class KissVideoStreamServer implements HttpHandler, SecureSingleThr
|
|||||||
|
|
||||||
public void start(int port, String context) throws IOException {
|
public void start(int port, String context) throws IOException {
|
||||||
|
|
||||||
swingInvoke(
|
_main_panel.getView().updateKissStreamServerStatus("Stream server running on port: " + STREAMER_PORT);
|
||||||
new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
_main_panel.getView().getKiss_server_status().setForeground(new Color(0, 128, 0));
|
|
||||||
|
|
||||||
_main_panel.getView().getKiss_server_status().setText("Stream server running on localhost:" + STREAMER_PORT + " (Waiting for request...)");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
HttpServer httpserver = HttpServer.create(new InetSocketAddress(InetAddress.getLoopbackAddress(), port), 0);
|
HttpServer httpserver = HttpServer.create(new InetSocketAddress(InetAddress.getLoopbackAddress(), port), 0);
|
||||||
|
|
||||||
@ -130,24 +125,18 @@ public final class KissVideoStreamServer implements HttpHandler, SecureSingleThr
|
|||||||
|
|
||||||
private void _updateStatusView() {
|
private void _updateStatusView() {
|
||||||
|
|
||||||
swingInvoke(
|
String status;
|
||||||
new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
String status;
|
|
||||||
|
|
||||||
if (getWorking_threads().size() > 0) {
|
if (getWorking_threads().size() > 0) {
|
||||||
|
|
||||||
status = "Stream server running on localhost:" + STREAMER_PORT + " Connections: " + getWorking_threads().size();
|
status = "Stream server running on port: " + STREAMER_PORT + " (" + getWorking_threads().size() + ")";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
status = "Stream server running on localhost:" + STREAMER_PORT + " (Waiting for request...)";
|
status = "Stream server running on port: " + STREAMER_PORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
_main_panel.getView().getKiss_server_status().setText(status);
|
_main_panel.getView().updateKissStreamServerStatus(status);
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,10 @@ import javax.swing.filechooser.FileNameExtensionFilter;
|
|||||||
import static megabasterd.MainPanel.*;
|
import static megabasterd.MainPanel.*;
|
||||||
import static megabasterd.MiscTools.*;
|
import static megabasterd.MiscTools.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class LinkGrabberDialog extends javax.swing.JDialog implements ClipboardChangeObserver {
|
public final class LinkGrabberDialog extends javax.swing.JDialog implements ClipboardChangeObserver {
|
||||||
|
|
||||||
private boolean _download;
|
private boolean _download;
|
||||||
|
@ -34,6 +34,7 @@ import javax.swing.JOptionPane;
|
|||||||
import static javax.swing.JOptionPane.QUESTION_MESSAGE;
|
import static javax.swing.JOptionPane.QUESTION_MESSAGE;
|
||||||
import static javax.swing.JOptionPane.YES_NO_CANCEL_OPTION;
|
import static javax.swing.JOptionPane.YES_NO_CANCEL_OPTION;
|
||||||
import static javax.swing.JOptionPane.showOptionDialog;
|
import static javax.swing.JOptionPane.showOptionDialog;
|
||||||
|
import javax.swing.UIManager;
|
||||||
import static megabasterd.DBTools.*;
|
import static megabasterd.DBTools.*;
|
||||||
import static megabasterd.MiscTools.*;
|
import static megabasterd.MiscTools.*;
|
||||||
import static megabasterd.Transference.*;
|
import static megabasterd.Transference.*;
|
||||||
@ -46,7 +47,7 @@ import org.apache.http.auth.UsernamePasswordCredentials;
|
|||||||
*/
|
*/
|
||||||
public final class MainPanel {
|
public final class MainPanel {
|
||||||
|
|
||||||
public static final String VERSION = "2.64";
|
public static final String VERSION = "2.65";
|
||||||
public static final int THROTTLE_SLICE_SIZE = 16 * 1024;
|
public static final int THROTTLE_SLICE_SIZE = 16 * 1024;
|
||||||
public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024;
|
public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024;
|
||||||
public static final int STREAMER_PORT = 1337;
|
public static final int STREAMER_PORT = 1337;
|
||||||
@ -66,6 +67,9 @@ public final class MainPanel {
|
|||||||
|
|
||||||
setNimbusLookAndFeel();
|
setNimbusLookAndFeel();
|
||||||
|
|
||||||
|
UIManager.put("OptionPane.messageFont", DEFAULT_FONT.deriveFont(15f * ZOOM_FACTOR));
|
||||||
|
UIManager.put("OptionPane.buttonFont", DEFAULT_FONT.deriveFont(13f * ZOOM_FACTOR));
|
||||||
|
|
||||||
if (args.length > 0) {
|
if (args.length > 0) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -193,8 +197,8 @@ public final class MainPanel {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (_megacrypter_reverse) {
|
if (_megacrypter_reverse) {
|
||||||
_mega_proxy_server = new MegaProxyServer(UUID.randomUUID().toString(), _megacrypter_reverse_port);
|
_mega_proxy_server = new MegaProxyServer(this, UUID.randomUUID().toString(), _megacrypter_reverse_port);
|
||||||
_mega_proxy_server.start();
|
THREAD_POOL.execute(_mega_proxy_server);
|
||||||
} else {
|
} else {
|
||||||
_mega_proxy_server = null;
|
_mega_proxy_server = null;
|
||||||
}
|
}
|
||||||
|
@ -173,6 +173,8 @@
|
|||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Component id="kiss_server_status" max="32767" attributes="0"/>
|
<Component id="kiss_server_status" max="32767" attributes="0"/>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
|
<Component id="mc_reverse_status" max="32767" attributes="0"/>
|
||||||
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="smart_proxy_status" max="32767" attributes="0"/>
|
<Component id="smart_proxy_status" max="32767" attributes="0"/>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="logo_label" min="-2" max="-2" attributes="0"/>
|
<Component id="logo_label" min="-2" max="-2" attributes="0"/>
|
||||||
@ -191,7 +193,10 @@
|
|||||||
<Group type="103" groupAlignment="1" attributes="0">
|
<Group type="103" groupAlignment="1" attributes="0">
|
||||||
<Component id="logo_label" min="-2" max="-2" attributes="0"/>
|
<Component id="logo_label" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="smart_proxy_status" alignment="1" min="-2" pref="24" max="-2" attributes="0"/>
|
<Component id="smart_proxy_status" alignment="1" min="-2" pref="24" max="-2" attributes="0"/>
|
||||||
<Component id="kiss_server_status" alignment="1" min="-2" pref="24" max="-2" attributes="0"/>
|
<Group type="103" alignment="1" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="mc_reverse_status" min="-2" pref="24" max="-2" attributes="0"/>
|
||||||
|
<Component id="kiss_server_status" min="-2" pref="24" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="-2" pref="2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -212,15 +217,30 @@
|
|||||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||||
<Font name="Dialog" size="14" style="2"/>
|
<Font name="Dialog" size="14" style="2"/>
|
||||||
</Property>
|
</Property>
|
||||||
|
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||||
|
<Color blue="66" green="66" red="66" type="rgb"/>
|
||||||
|
</Property>
|
||||||
<Property name="doubleBuffered" type="boolean" value="true"/>
|
<Property name="doubleBuffered" type="boolean" value="true"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
|
<Component class="javax.swing.JLabel" name="mc_reverse_status">
|
||||||
|
<Properties>
|
||||||
|
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||||
|
<Font name="Dialog" size="14" style="2"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||||
|
<Color blue="66" green="66" red="66" type="rgb"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="smart_proxy_status">
|
<Component class="javax.swing.JLabel" name="smart_proxy_status">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||||
<Font name="Dialog" size="14" style="2"/>
|
<Font name="Dialog" size="14" style="2"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="horizontalAlignment" type="int" value="4"/>
|
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||||
|
<Color blue="66" green="66" red="66" type="rgb"/>
|
||||||
|
</Property>
|
||||||
<Property name="doubleBuffered" type="boolean" value="true"/>
|
<Property name="doubleBuffered" type="boolean" value="true"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
@ -253,7 +273,7 @@
|
|||||||
</Group>
|
</Group>
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="status_down_label" pref="679" max="32767" attributes="0"/>
|
<Component id="status_down_label" pref="699" max="32767" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="close_all_finished_down_button" min="-2" max="-2" attributes="0"/>
|
<Component id="close_all_finished_down_button" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -297,6 +317,9 @@
|
|||||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||||
<Font name="Dialog" size="16" style="2"/>
|
<Font name="Dialog" size="16" style="2"/>
|
||||||
</Property>
|
</Property>
|
||||||
|
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||||
|
<Color blue="66" green="66" red="66" type="rgb"/>
|
||||||
|
</Property>
|
||||||
<Property name="doubleBuffered" type="boolean" value="true"/>
|
<Property name="doubleBuffered" type="boolean" value="true"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
@ -376,7 +399,7 @@
|
|||||||
</Group>
|
</Group>
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="status_up_label" pref="679" max="32767" attributes="0"/>
|
<Component id="status_up_label" pref="699" max="32767" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="close_all_finished_up_button" min="-2" max="-2" attributes="0"/>
|
<Component id="close_all_finished_up_button" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -420,6 +443,9 @@
|
|||||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||||
<Font name="Dialog" size="16" style="2"/>
|
<Font name="Dialog" size="16" style="2"/>
|
||||||
</Property>
|
</Property>
|
||||||
|
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||||
|
<Color blue="66" green="66" red="66" type="rgb"/>
|
||||||
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JButton" name="close_all_finished_up_button">
|
<Component class="javax.swing.JButton" name="close_all_finished_up_button">
|
||||||
|
@ -31,6 +31,10 @@ import static megabasterd.DBTools.*;
|
|||||||
import static megabasterd.MainPanel.*;
|
import static megabasterd.MainPanel.*;
|
||||||
import static megabasterd.MiscTools.*;
|
import static megabasterd.MiscTools.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class MainPanelView extends javax.swing.JFrame {
|
public final class MainPanelView extends javax.swing.JFrame {
|
||||||
|
|
||||||
private final MainPanel _main_panel;
|
private final MainPanel _main_panel;
|
||||||
@ -115,6 +119,49 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
return smart_proxy_status;
|
return smart_proxy_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public JLabel getMc_reverse_status() {
|
||||||
|
return mc_reverse_status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateKissStreamServerStatus(final String status) {
|
||||||
|
|
||||||
|
swingInvoke(
|
||||||
|
new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
|
||||||
|
getKiss_server_status().setText(status);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateSmartProxyStatus(final String status) {
|
||||||
|
|
||||||
|
swingInvoke(
|
||||||
|
new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
|
||||||
|
getSmart_proxy_status().setText(status);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateMCReverseStatus(final String status) {
|
||||||
|
|
||||||
|
swingInvoke(
|
||||||
|
new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
|
||||||
|
getMc_reverse_status().setText(status);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public MainPanelView(MainPanel main_panel) {
|
public MainPanelView(MainPanel main_panel) {
|
||||||
|
|
||||||
_main_panel = main_panel;
|
_main_panel = main_panel;
|
||||||
@ -152,6 +199,7 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
|
|
||||||
logo_label = new javax.swing.JLabel();
|
logo_label = new javax.swing.JLabel();
|
||||||
kiss_server_status = new javax.swing.JLabel();
|
kiss_server_status = new javax.swing.JLabel();
|
||||||
|
mc_reverse_status = new javax.swing.JLabel();
|
||||||
smart_proxy_status = new javax.swing.JLabel();
|
smart_proxy_status = new javax.swing.JLabel();
|
||||||
jTabbedPane1 = new javax.swing.JTabbedPane();
|
jTabbedPane1 = new javax.swing.JTabbedPane();
|
||||||
downloads_panel = new javax.swing.JPanel();
|
downloads_panel = new javax.swing.JPanel();
|
||||||
@ -192,10 +240,14 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
logo_label.setDoubleBuffered(true);
|
logo_label.setDoubleBuffered(true);
|
||||||
|
|
||||||
kiss_server_status.setFont(new java.awt.Font("Dialog", 2, 14)); // NOI18N
|
kiss_server_status.setFont(new java.awt.Font("Dialog", 2, 14)); // NOI18N
|
||||||
|
kiss_server_status.setForeground(new java.awt.Color(102, 102, 102));
|
||||||
kiss_server_status.setDoubleBuffered(true);
|
kiss_server_status.setDoubleBuffered(true);
|
||||||
|
|
||||||
|
mc_reverse_status.setFont(new java.awt.Font("Dialog", 2, 14)); // NOI18N
|
||||||
|
mc_reverse_status.setForeground(new java.awt.Color(102, 102, 102));
|
||||||
|
|
||||||
smart_proxy_status.setFont(new java.awt.Font("Dialog", 2, 14)); // NOI18N
|
smart_proxy_status.setFont(new java.awt.Font("Dialog", 2, 14)); // NOI18N
|
||||||
smart_proxy_status.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
|
smart_proxy_status.setForeground(new java.awt.Color(102, 102, 102));
|
||||||
smart_proxy_status.setDoubleBuffered(true);
|
smart_proxy_status.setDoubleBuffered(true);
|
||||||
|
|
||||||
jTabbedPane1.setDoubleBuffered(true);
|
jTabbedPane1.setDoubleBuffered(true);
|
||||||
@ -206,6 +258,7 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
global_speed_down_label.setDoubleBuffered(true);
|
global_speed_down_label.setDoubleBuffered(true);
|
||||||
|
|
||||||
status_down_label.setFont(new java.awt.Font("Dialog", 2, 16)); // NOI18N
|
status_down_label.setFont(new java.awt.Font("Dialog", 2, 16)); // NOI18N
|
||||||
|
status_down_label.setForeground(new java.awt.Color(102, 102, 102));
|
||||||
status_down_label.setDoubleBuffered(true);
|
status_down_label.setDoubleBuffered(true);
|
||||||
|
|
||||||
close_all_finished_down_button.setBackground(new java.awt.Color(0, 153, 51));
|
close_all_finished_down_button.setBackground(new java.awt.Color(0, 153, 51));
|
||||||
@ -245,7 +298,7 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
.addComponent(pause_all_down_button))
|
.addComponent(pause_all_down_button))
|
||||||
.addGroup(downloads_panelLayout.createSequentialGroup()
|
.addGroup(downloads_panelLayout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addComponent(status_down_label, javax.swing.GroupLayout.DEFAULT_SIZE, 679, Short.MAX_VALUE)
|
.addComponent(status_down_label, javax.swing.GroupLayout.DEFAULT_SIZE, 699, Short.MAX_VALUE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(close_all_finished_down_button))
|
.addComponent(close_all_finished_down_button))
|
||||||
.addComponent(jScrollPane_down)
|
.addComponent(jScrollPane_down)
|
||||||
@ -275,6 +328,7 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
global_speed_up_label.setDoubleBuffered(true);
|
global_speed_up_label.setDoubleBuffered(true);
|
||||||
|
|
||||||
status_up_label.setFont(new java.awt.Font("Dialog", 2, 16)); // NOI18N
|
status_up_label.setFont(new java.awt.Font("Dialog", 2, 16)); // NOI18N
|
||||||
|
status_up_label.setForeground(new java.awt.Color(102, 102, 102));
|
||||||
|
|
||||||
close_all_finished_up_button.setBackground(new java.awt.Color(0, 153, 51));
|
close_all_finished_up_button.setBackground(new java.awt.Color(0, 153, 51));
|
||||||
close_all_finished_up_button.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
|
close_all_finished_up_button.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
|
||||||
@ -313,7 +367,7 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
.addComponent(pause_all_up_button))
|
.addComponent(pause_all_up_button))
|
||||||
.addGroup(uploads_panelLayout.createSequentialGroup()
|
.addGroup(uploads_panelLayout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addComponent(status_up_label, javax.swing.GroupLayout.DEFAULT_SIZE, 679, Short.MAX_VALUE)
|
.addComponent(status_up_label, javax.swing.GroupLayout.DEFAULT_SIZE, 699, Short.MAX_VALUE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(close_all_finished_up_button))
|
.addComponent(close_all_finished_up_button))
|
||||||
.addComponent(jScrollPane_up)
|
.addComponent(jScrollPane_up)
|
||||||
@ -452,6 +506,8 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addComponent(kiss_server_status, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addComponent(kiss_server_status, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
|
.addComponent(mc_reverse_status, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(smart_proxy_status, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addComponent(smart_proxy_status, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(logo_label)))
|
.addComponent(logo_label)))
|
||||||
@ -466,7 +522,9 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||||
.addComponent(logo_label)
|
.addComponent(logo_label)
|
||||||
.addComponent(smart_proxy_status, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(smart_proxy_status, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(kiss_server_status, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE))
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(mc_reverse_status, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addComponent(kiss_server_status, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||||
.addGap(2, 2, 2))
|
.addGap(2, 2, 2))
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -713,16 +771,17 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
|
|
||||||
if (_main_panel.getMega_proxy_server() == null) {
|
if (_main_panel.getMega_proxy_server() == null) {
|
||||||
|
|
||||||
_main_panel.setMega_proxy_server(new MegaProxyServer(UUID.randomUUID().toString(), _main_panel.getMegacrypter_reverse_port()));
|
_main_panel.setMega_proxy_server(new MegaProxyServer(_main_panel, UUID.randomUUID().toString(), _main_panel.getMegacrypter_reverse_port()));
|
||||||
_main_panel.getMega_proxy_server().start();
|
|
||||||
|
THREAD_POOL.execute(_main_panel.getMega_proxy_server());
|
||||||
|
|
||||||
} else if (_main_panel.getMega_proxy_server().getPort() != _main_panel.getMegacrypter_reverse_port()) {
|
} else if (_main_panel.getMega_proxy_server().getPort() != _main_panel.getMegacrypter_reverse_port()) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
_main_panel.getMega_proxy_server().stopServer();
|
_main_panel.getMega_proxy_server().stopServer();
|
||||||
_main_panel.setMega_proxy_server(new MegaProxyServer(UUID.randomUUID().toString(), _main_panel.getMegacrypter_reverse_port()));
|
_main_panel.setMega_proxy_server(new MegaProxyServer(_main_panel, UUID.randomUUID().toString(), _main_panel.getMegacrypter_reverse_port()));
|
||||||
_main_panel.getMega_proxy_server().start();
|
THREAD_POOL.execute(_main_panel.getMega_proxy_server());
|
||||||
|
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
|
Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
|
||||||
@ -1016,6 +1075,7 @@ public final class MainPanelView extends javax.swing.JFrame {
|
|||||||
private javax.swing.JLabel kiss_server_status;
|
private javax.swing.JLabel kiss_server_status;
|
||||||
private javax.swing.JLabel logo_label;
|
private javax.swing.JLabel logo_label;
|
||||||
private javax.swing.JMenuBar main_menubar;
|
private javax.swing.JMenuBar main_menubar;
|
||||||
|
private javax.swing.JLabel mc_reverse_status;
|
||||||
private javax.swing.JMenuItem new_download_menu;
|
private javax.swing.JMenuItem new_download_menu;
|
||||||
private javax.swing.JMenuItem new_stream_menu;
|
private javax.swing.JMenuItem new_stream_menu;
|
||||||
private javax.swing.JMenuItem new_upload_menu;
|
private javax.swing.JMenuItem new_upload_menu;
|
||||||
|
@ -24,6 +24,10 @@ import org.apache.http.entity.StringEntity;
|
|||||||
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
import org.codehaus.jackson.map.ObjectMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class MegaAPI {
|
public final class MegaAPI {
|
||||||
|
|
||||||
public static final String API_URL = "https://g.api.mega.co.nz";
|
public static final String API_URL = "https://g.api.mega.co.nz";
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
package megabasterd;
|
package megabasterd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class MegaAPIException extends Exception {
|
public final class MegaAPIException extends Exception {
|
||||||
|
|
||||||
public MegaAPIException(String message) {
|
public MegaAPIException(String message) {
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
package megabasterd;
|
package megabasterd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class MegaCrypterAPIException extends Exception {
|
public final class MegaCrypterAPIException extends Exception {
|
||||||
|
|
||||||
public MegaCrypterAPIException(String message) {
|
public MegaCrypterAPIException(String message) {
|
||||||
|
@ -9,18 +9,23 @@ import java.util.regex.Matcher;
|
|||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import static megabasterd.MiscTools.*;
|
import static megabasterd.MiscTools.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
/**
|
/**
|
||||||
* Thanks to -> https://stackoverflow.com/users/6477541/sarvesh-agarwal
|
* Thanks to -> https://stackoverflow.com/users/6477541/sarvesh-agarwal
|
||||||
*/
|
*/
|
||||||
public class MegaProxyServer extends Thread {
|
public class MegaProxyServer implements Runnable {
|
||||||
|
|
||||||
private final String _password;
|
private final String _password;
|
||||||
private final int _port;
|
private final int _port;
|
||||||
private ServerSocket _serverSocket;
|
private ServerSocket _serverSocket;
|
||||||
|
private final MainPanel _main_panel;
|
||||||
|
|
||||||
public MegaProxyServer(String password, int port) {
|
public MegaProxyServer(MainPanel main_panel, String password, int port) {
|
||||||
|
|
||||||
super("Server Thread");
|
_main_panel = main_panel;
|
||||||
_password = password;
|
_password = password;
|
||||||
_port = port;
|
_port = port;
|
||||||
|
|
||||||
@ -42,6 +47,8 @@ public class MegaProxyServer extends Thread {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
|
_main_panel.getView().updateMCReverseStatus("MCReverse running on port: " + _port);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
_serverSocket = new ServerSocket(_port);
|
_serverSocket = new ServerSocket(_port);
|
||||||
@ -54,7 +61,6 @@ public class MegaProxyServer extends Thread {
|
|||||||
(new Handler(socket, _password)).start();
|
(new Handler(socket, _password)).start();
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO: implement catch
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,6 +76,8 @@ public class MegaProxyServer extends Thread {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_main_panel.getView().updateMCReverseStatus("");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Handler extends Thread {
|
public static class Handler extends Thread {
|
||||||
@ -105,7 +113,6 @@ public class MegaProxyServer extends Thread {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO: implement catch
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -156,8 +163,8 @@ public class MegaProxyServer extends Thread {
|
|||||||
try {
|
try {
|
||||||
forwardSocket = new Socket(matcher.group(1), Integer.parseInt(matcher.group(2)));
|
forwardSocket = new Socket(matcher.group(1), Integer.parseInt(matcher.group(2)));
|
||||||
|
|
||||||
} catch (IOException | NumberFormatException e) { // TODO: implement catch
|
} catch (IOException | NumberFormatException e) {
|
||||||
// TODO: implement catch
|
|
||||||
outputStreamWriter.write("HTTP/" + matcher.group(3) + " 502 Bad Gateway\r\n");
|
outputStreamWriter.write("HTTP/" + matcher.group(3) + " 502 Bad Gateway\r\n");
|
||||||
outputStreamWriter.write("Proxy-agent: MegaBasterd/0.1\r\n");
|
outputStreamWriter.write("Proxy-agent: MegaBasterd/0.1\r\n");
|
||||||
outputStreamWriter.write("\r\n");
|
outputStreamWriter.write("\r\n");
|
||||||
@ -200,7 +207,6 @@ public class MegaProxyServer extends Thread {
|
|||||||
try {
|
try {
|
||||||
remoteToClient.join();
|
remoteToClient.join();
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
// TODO: implement catch
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -225,14 +231,12 @@ public class MegaProxyServer extends Thread {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO: implement catch
|
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
_clientSocket.close();
|
_clientSocket.close();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO: implement catch
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,10 @@ import org.apache.http.protocol.HttpContext;
|
|||||||
import org.apache.http.protocol.RequestContent;
|
import org.apache.http.protocol.RequestContent;
|
||||||
import org.apache.http.protocol.RequestTargetHost;
|
import org.apache.http.protocol.RequestTargetHost;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class MiscTools {
|
public final class MiscTools {
|
||||||
|
|
||||||
public static final int EXP_BACKOFF_BASE = 2;
|
public static final int EXP_BACKOFF_BASE = 2;
|
||||||
|
@ -4,6 +4,10 @@ import java.util.logging.Level;
|
|||||||
import static java.util.logging.Level.SEVERE;
|
import static java.util.logging.Level.SEVERE;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class ProgressMeter implements Runnable, SecureSingleThreadNotifiable {
|
public final class ProgressMeter implements Runnable, SecureSingleThreadNotifiable {
|
||||||
|
|
||||||
private final Transference _transference;
|
private final Transference _transference;
|
||||||
|
@ -34,6 +34,10 @@ import static megabasterd.DBTools.*;
|
|||||||
import static megabasterd.MainPanel.*;
|
import static megabasterd.MainPanel.*;
|
||||||
import static megabasterd.MiscTools.*;
|
import static megabasterd.MiscTools.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author tonikelope
|
||||||
|
*/
|
||||||
public final class SettingsDialog extends javax.swing.JDialog {
|
public final class SettingsDialog extends javax.swing.JDialog {
|
||||||
|
|
||||||
private String _download_path;
|
private String _download_path;
|
||||||
|
@ -45,18 +45,18 @@ public class SmartMegaProxyManager implements Runnable {
|
|||||||
return _enabled;
|
return _enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUse_smart_proxy(boolean use_smart_proxy) {
|
public void setEnabled(boolean enabled) {
|
||||||
|
|
||||||
if (!_main_panel.isLimit_download_speed()) {
|
if (!_main_panel.isLimit_download_speed()) {
|
||||||
|
|
||||||
if (!_enabled && use_smart_proxy) {
|
if (!_enabled && enabled) {
|
||||||
_main_panel.getView().getGlobal_speed_down_label().setForeground(Color.BLACK);
|
_main_panel.getView().getGlobal_speed_down_label().setForeground(Color.BLACK);
|
||||||
} else if (_enabled && !use_smart_proxy) {
|
} else if (_enabled && !enabled) {
|
||||||
_main_panel.getView().getGlobal_speed_down_label().setForeground(new Color(0, 128, 255));
|
_main_panel.getView().getGlobal_speed_down_label().setForeground(new Color(0, 128, 255));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_enabled = use_smart_proxy;
|
_enabled = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setExit(boolean exit) {
|
public void setExit(boolean exit) {
|
||||||
@ -104,7 +104,7 @@ public class SmartMegaProxyManager implements Runnable {
|
|||||||
_proxy_list.remove(proxy);
|
_proxy_list.remove(proxy);
|
||||||
}
|
}
|
||||||
|
|
||||||
_main_panel.getView().getSmart_proxy_status().setText("SmartProxy: " + _proxy_list.size() + " ");
|
_main_panel.getView().updateSmartProxyStatus("SmartProxy: " + _proxy_list.size());
|
||||||
|
|
||||||
if (_proxy_list.isEmpty()) {
|
if (_proxy_list.isEmpty()) {
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ public class SmartMegaProxyManager implements Runnable {
|
|||||||
_enabled = false;
|
_enabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_main_panel.getView().getSmart_proxy_status().setText("SmartProxy: " + _proxy_list.size() + " ");
|
_main_panel.getView().updateSmartProxyStatus("SmartProxy: " + _proxy_list.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (MalformedURLException ex) {
|
} catch (MalformedURLException ex) {
|
||||||
@ -187,7 +187,7 @@ public class SmartMegaProxyManager implements Runnable {
|
|||||||
|
|
||||||
Logger.getLogger(SmartMegaProxyManager.class.getName()).log(Level.INFO, "{0} Smart Proxy Manager: hello!", new Object[]{Thread.currentThread().getName()});
|
Logger.getLogger(SmartMegaProxyManager.class.getName()).log(Level.INFO, "{0} Smart Proxy Manager: hello!", new Object[]{Thread.currentThread().getName()});
|
||||||
|
|
||||||
_main_panel.getView().getSmart_proxy_status().setVisible(true);
|
_main_panel.getView().updateSmartProxyStatus("");
|
||||||
|
|
||||||
while (!_exit) {
|
while (!_exit) {
|
||||||
|
|
||||||
@ -203,9 +203,7 @@ public class SmartMegaProxyManager implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_main_panel.getView().getSmart_proxy_status().setText("");
|
_main_panel.getView().updateSmartProxyStatus("");
|
||||||
|
|
||||||
_main_panel.getView().getSmart_proxy_status().setVisible(false);
|
|
||||||
|
|
||||||
Logger.getLogger(SmartMegaProxyManager.class.getName()).log(Level.INFO, "{0} Smart Proxy Manager: bye bye", new Object[]{Thread.currentThread().getName()});
|
Logger.getLogger(SmartMegaProxyManager.class.getName()).log(Level.INFO, "{0} Smart Proxy Manager: bye bye", new Object[]{Thread.currentThread().getName()});
|
||||||
|
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
/*
|
|
||||||
* To change this license header, choose License Headers in Project Properties.
|
|
||||||
* To change this template file, choose Tools | Templates
|
|
||||||
* and open the template in the editor.
|
|
||||||
*/
|
|
||||||
package megabasterd;
|
package megabasterd;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -63,15 +58,10 @@ public class StreamChunkDownloader implements Runnable {
|
|||||||
_chunkwriter.secureWait();
|
_chunkwriter.secureWait();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_chunkwriter.getServer().getMain_panel().isUse_smart_proxy() && _chunkwriter.getServer().getMain_panel().getProxy_manager().isEnabled() && !_chunkwriter.getServer().getMain_panel().isUse_smart_proxy()) {
|
|
||||||
|
|
||||||
_chunkwriter.getServer().getMain_panel().getProxy_manager().setUse_smart_proxy(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (httpclient == null || error || _chunkwriter.getServer().getMain_panel().getProxy_manager().isEnabled()) {
|
if (httpclient == null || error || _chunkwriter.getServer().getMain_panel().getProxy_manager().isEnabled()) {
|
||||||
|
|
||||||
if (error509 && _chunkwriter.getServer().getMain_panel().isUse_smart_proxy() && !_chunkwriter.getServer().getMain_panel().getProxy_manager().isEnabled()) {
|
if (error509 && _chunkwriter.getServer().getMain_panel().isUse_smart_proxy() && !_chunkwriter.getServer().getMain_panel().getProxy_manager().isEnabled()) {
|
||||||
_chunkwriter.getServer().getMain_panel().getProxy_manager().setUse_smart_proxy(true);
|
_chunkwriter.getServer().getMain_panel().getProxy_manager().setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_chunkwriter.getServer().getMain_panel().isUse_smart_proxy() && _chunkwriter.getServer().getMain_panel().getProxy_manager().isEnabled() && !MainPanel.isUse_proxy()) {
|
if (_chunkwriter.getServer().getMain_panel().isUse_smart_proxy() && _chunkwriter.getServer().getMain_panel().getProxy_manager().isEnabled() && !MainPanel.isUse_proxy()) {
|
||||||
@ -100,7 +90,7 @@ public class StreamChunkDownloader implements Runnable {
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
httpclient = MiscTools.getApacheKissHttpClient();
|
httpclient = MiscTools.getApacheKissHttpClient();
|
||||||
_chunkwriter.getServer().getMain_panel().getProxy_manager().setUse_smart_proxy(false);
|
_chunkwriter.getServer().getMain_panel().getProxy_manager().setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (httpclient == null) {
|
} else if (httpclient == null) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user