Fix parse proxy bug

pull/123/head
FongMi 3 years ago
parent 3f8e748599
commit 7ba4f22839
  1. 8
      app/src/main/java/com/fongmi/android/tv/bean/Parse.java
  2. 4
      app/src/main/java/com/fongmi/android/tv/player/ParseTask.java
  3. 5
      app/src/main/java/com/fongmi/android/tv/server/Server.java
  4. 6
      app/src/main/java/com/fongmi/android/tv/utils/Utils.java

@ -69,7 +69,7 @@ public class Parse {
}
public String getUrl() {
return TextUtils.isEmpty(url) ? "" : url;
return TextUtils.isEmpty(url) ? "" : Utils.checkProxy(url);
}
public void setUrl(String url) {
@ -102,7 +102,7 @@ public class Parse {
public String extUrl() {
int index = getUrl().indexOf("?");
if (index == -1) return getUrl();
if (getExt().isEmpty() || index == -1) return getUrl();
return getUrl().substring(0, index + 1) + "cat_ext=" + Utils.getBase64(getExt().toString()) + "&" + getUrl().substring(index + 1);
}
@ -141,6 +141,10 @@ public class Parse {
this.header = header;
}
public boolean isEmpty() {
return flag == null && header == null;
}
@NonNull
@Override
public String toString() {

@ -5,9 +5,9 @@ import com.fongmi.android.tv.api.ApiConfig;
import com.fongmi.android.tv.bean.Parse;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.net.OKHttp;
import com.fongmi.android.tv.server.Server;
import com.fongmi.android.tv.ui.custom.CustomWebView;
import com.fongmi.android.tv.utils.Json;
import com.fongmi.android.tv.utils.Utils;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
@ -101,7 +101,7 @@ public class ParseTask {
if (result.getUrl().isEmpty()) {
onParseError();
} else if (result.getParse(0) == 1) {
App.post(() -> webView.start(Server.proxy(result.getUrl()), result.getHeaders(), callback));
App.post(() -> webView.start(Utils.checkProxy(result.getUrl()), result.getHeaders(), callback));
} else {
onParseSuccess(result.getHeaders(), result.getUrl(), result.getJxFrom());
}

@ -34,11 +34,6 @@ public class Server implements Nano.Listener {
return "http://" + (local ? "127.0.0.1" : getIP()) + ":" + port;
}
public static String proxy(String url) {
if (url.startsWith("proxy://")) return url.replace("proxy://", get().getAddress(true) + "/proxy?");
return url;
}
public void start() {
if (nano != null) return;
do {

@ -12,6 +12,7 @@ import android.view.View;
import android.view.inputmethod.InputMethodManager;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.server.Server;
import com.google.android.exoplayer2.util.Util;
import java.math.BigInteger;
@ -79,6 +80,11 @@ public class Utils {
return false;
}
public static String checkProxy(String url) {
if (url.startsWith("proxy://")) return url.replace("proxy://", Server.get().getAddress(true) + "/proxy?");
return url;
}
public static String checkClan(String text) {
if (text.contains("/localhost/")) text = text.replace("/localhost/", "/");
if (text.startsWith("clan")) text = text.replace("clan", "file");

Loading…
Cancel
Save