Improve load time of very big folders
This commit is contained in:
tonikelope 2023-10-19 17:14:59 +02:00
parent 9729a2bcfd
commit 3988eb7f22
5 changed files with 7 additions and 18 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.tonikelope</groupId>
<artifactId>MegaBasterd</artifactId>
<version>7.92</version>
<version>7.93</version>
<packaging>jar</packaging>
<repositories>
<repository>

View File

@ -607,8 +607,6 @@ public class FolderLinkDialog extends javax.swing.JDialog {
if (node.isLeaf() && node != root && ((HashMap<String, Object>) node.getUserObject()).get("size") != null) {
System.out.println(((HashMap<String, Object>) node.getUserObject()).get("name"));
String path = "";
Object[] object_path = node.getUserObjectPath();
@ -620,8 +618,6 @@ public class FolderLinkDialog extends javax.swing.JDialog {
path = path.replaceAll("^/+", "").replaceAll("^\\+", "").trim();
System.out.println(path);
String url = "https://mega.nz/#N!" + ((Map<String, Object>) node.getUserObject()).get("h") + "!" + ((Map<String, Object>) node.getUserObject()).get("key") + "###n=" + folder_id;
HashMap<String, Object> download_link = new HashMap<>();

View File

@ -69,7 +69,7 @@ import javax.swing.UIManager;
*/
public final class MainPanel {
public static final String VERSION = "7.92";
public static final String VERSION = "7.93";
public static final boolean FORCE_SMART_PROXY = false; //TRUE FOR DEBUGING SMART PROXY
public static final int THROTTLE_SLICE_SIZE = 16 * 1024;
public static final int DEFAULT_BYTE_BUFFER_SIZE = 16 * 1024;

View File

@ -35,6 +35,7 @@ import java.util.Random;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.zip.GZIPInputStream;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLException;
import javax.swing.JProgressBar;
@ -367,8 +368,6 @@ public class MegaAPI implements Serializable {
private String RAW_REQUEST(String request, URL url_api) throws MegaAPIException {
System.out.println(request);
String response = null, current_smart_proxy = null;
int mega_error = 0, http_error = 0, conta_error = 0, http_status;
@ -444,6 +443,8 @@ public class MegaAPI implements Serializable {
con.setRequestProperty("Content-type", "text/plain;charset=UTF-8");
con.setRequestProperty("Accept-Encoding", "gzip");
con.setRequestProperty("User-Agent", MainPanel.DEFAULT_USER_AGENT);
con.setUseCaches(false);
@ -468,7 +469,7 @@ public class MegaAPI implements Serializable {
} else {
try (InputStream is = con.getInputStream(); ByteArrayOutputStream byte_res = new ByteArrayOutputStream()) {
try (InputStream is = "gzip".equals(con.getContentEncoding()) ? new GZIPInputStream(con.getInputStream()) : con.getInputStream(); ByteArrayOutputStream byte_res = new ByteArrayOutputStream()) {
byte[] buffer = new byte[MainPanel.DEFAULT_BYTE_BUFFER_SIZE];
@ -740,13 +741,10 @@ public class MegaAPI implements Serializable {
String request = "[{\"a\":\"ufa\", \"s\":" + String.valueOf(file_bytes[0].length) + ", \"ssl\":1}, {\"a\":\"ufa\", \"s\":" + String.valueOf(file_bytes[1].length) + ", \"ssl\":1}]";
System.out.println(request);
URL url_api = new URL(API_URL + "/cs?id=" + String.valueOf(_seqno) + "&v=3&lang=es&domain=meganz&ec=" + (_sid != null ? "&sid=" + _sid : ""));
String res = RAW_REQUEST(request, url_api);
System.out.println(res);
ObjectMapper objectMapper = new ObjectMapper();
HashMap[] res_map = objectMapper.readValue(res, HashMap[].class);
@ -794,7 +792,6 @@ public class MegaAPI implements Serializable {
hash[h] = MiscTools.Bin2UrlBASE64(byte_res.toByteArray());
System.out.println(hash[h]);
}
h++;
@ -806,14 +803,10 @@ public class MegaAPI implements Serializable {
res = RAW_REQUEST(request, url_api);
System.out.println(request);
objectMapper = new ObjectMapper();
String[] resp = objectMapper.readValue(res, String[].class);
System.out.println((String) resp[0]);
return (String) resp[0];
} catch (MegaAPIException mae) {
@ -1060,7 +1053,7 @@ public class MegaAPI implements Serializable {
HashMap<String, Object> folder_nodes = null;
String request = "[{\"a\":\"f\", \"c\":\"1\", \"r\":\"1\"}]";
String request = "[{\"a\":\"f\", \"c\":\"1\", \"r\":\"1\", \"ca\":\"1\"}]";
URL url_api = new URL(API_URL + "/cs?id=" + String.valueOf(_seqno) + "&v=3&lang=es&domain=meganz&ec=" + "&n=" + folder_id);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

After

Width:  |  Height:  |  Size: 209 KiB