pull/210/head
FongMi 2 years ago
parent e14bf6fb06
commit 86952f3e33
  1. 2
      app/src/main/java/com/fongmi/android/tv/api/Decoder.java
  2. 2
      app/src/main/java/com/fongmi/android/tv/api/LiveParser.java
  3. 8
      app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java
  4. 3
      app/src/main/java/com/fongmi/android/tv/api/loader/JarLoader.java
  5. 9
      app/src/main/java/com/fongmi/android/tv/utils/UrlUtil.java

@ -33,7 +33,7 @@ public class Decoder {
}
private static String fix(String url, String data) {
if (url.startsWith("file") || url.startsWith("assets")) url = UrlUtil.convert(url);
if (url.startsWith("file") || url.startsWith("clan") || url.startsWith("assets")) return UrlUtil.convert(url);
data = data.replace("./", url.substring(0, url.lastIndexOf("/") + 1));
return data;
}

@ -114,7 +114,7 @@ public class LiveParser {
private static String getText(String url) {
if (url.startsWith("file")) return Path.read(url);
if (url.startsWith("http")) return OkHttp.string(url);
if (url.startsWith("clan")) return getText(UrlUtil.fixUrl(url));
if (url.startsWith("clan") || url.startsWith("assets")) return getText(UrlUtil.convert(url));
if (url.length() > 0 && url.length() % 4 == 0) return getText(new String(Base64.decode(url, Base64.DEFAULT)));
return "";
}

@ -215,19 +215,15 @@ public class VodConfig {
}
private String parseApi(String api) {
if (TextUtils.isEmpty(api)) return api;
if (api.startsWith("http")) return api;
if (api.startsWith("file")) return UrlUtil.convert(api);
if (api.startsWith("clan")) return parseApi(UrlUtil.fixUrl(api));
if (api.startsWith("file") || api.startsWith("clan") || api.startsWith("assets")) return UrlUtil.convert(api);
return api;
}
private String parseExt(String ext) {
if (TextUtils.isEmpty(ext)) return ext;
if (ext.startsWith("http")) return ext;
if (ext.startsWith("img+")) return Decoder.getExt(ext);
if (ext.startsWith("file")) return UrlUtil.convert(ext);
if (ext.startsWith("clan")) return parseExt(UrlUtil.fixUrl(ext));
if (ext.startsWith("file") || ext.startsWith("clan") || ext.startsWith("assets")) return UrlUtil.convert(ext);
return ext;
}

@ -4,7 +4,6 @@ import android.content.Context;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.api.Decoder;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.utils.UrlUtil;
import com.github.catvod.crawler.Spider;
import com.github.catvod.crawler.SpiderNull;
@ -94,7 +93,7 @@ public class JarLoader {
} else if (jar.startsWith("file")) {
load(key, Path.local(jar));
} else if (!jar.isEmpty()) {
parseJar(key, UrlUtil.convert(VodConfig.getUrl(), jar));
parseJar(key, UrlUtil.convert(jar));
}
}

@ -2,8 +2,6 @@ package com.fongmi.android.tv.utils;
import android.net.Uri;
import androidx.media3.common.util.UriUtil;
import com.fongmi.android.tv.server.Server;
import com.google.common.net.HttpHeaders;
@ -36,15 +34,10 @@ public class UrlUtil {
return path == null ? "" : path.trim();
}
public static String convert(String baseUrl, String path) {
if (path.startsWith("clan")) return fixUrl(path);
if (path.startsWith("assets")) return convert(path);
return path.isEmpty() ? "" : UriUtil.resolve(baseUrl, path);
}
public static String convert(String url) {
String host = host(url);
String scheme = scheme(url);
if ("clan".equals(scheme)) fixUrl(url);
if ("file".equals(scheme)) return Server.get().getAddress(url);
if ("local".equals(scheme)) return Server.get().getAddress(host);
if ("assets".equals(scheme)) return Server.get().getAddress(url.substring(9));

Loading…
Cancel
Save