pull/586/head
FongMi 2 years ago
parent 4c02d34bc1
commit d0a64e32fa
  1. 3
      app/src/main/java/com/fongmi/android/tv/bean/Parse.java
  2. 3
      app/src/main/java/com/fongmi/android/tv/server/Nano.java
  3. 12
      catvod/src/main/java/com/github/catvod/utils/Util.java

@ -1,6 +1,7 @@
package com.fongmi.android.tv.bean;
import android.text.TextUtils;
import android.util.Base64;
import androidx.annotation.NonNull;
@ -127,7 +128,7 @@ public class Parse {
public String extUrl() {
int index = getUrl().indexOf("?");
if (getExt().isEmpty() || index == -1) return getUrl();
return getUrl().substring(0, index + 1) + "cat_ext=" + Util.base64(getExt().toString()) + "&" + getUrl().substring(index + 1);
return getUrl().substring(0, index + 1) + "cat_ext=" + Util.base64(getExt().toString(), Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP) + "&" + getUrl().substring(index + 1);
}
public HashMap<String, String> mixMap() {

@ -10,6 +10,7 @@ import com.fongmi.android.tv.server.process.Cache;
import com.fongmi.android.tv.server.process.Local;
import com.fongmi.android.tv.server.process.Process;
import com.github.catvod.utils.Asset;
import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders;
import java.io.InputStream;
@ -70,7 +71,7 @@ public class Nano extends NanoHTTPD {
if (url.startsWith("/proxy")) return proxy(session);
if (url.startsWith("/tvbus")) return success(LiveConfig.getResp());
if (url.startsWith("/device")) return success(Device.get().toString());
if (url.startsWith("/license")) return success(new String(Base64.decode(url.substring(9), Base64.DEFAULT)));
if (url.startsWith("/license")) return success(Util.decode(url.substring(9)));
for (Process process : process) if (process.isRequest(session, url)) return process.doResponse(session, url, files);
return getAssets(url.substring(1));
}

@ -27,7 +27,11 @@ public class Util {
public static final String CHROME = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36";
public static String base64(String s) {
return base64(s.getBytes());
return base64(s, Base64.URL_SAFE | Base64.NO_PADDING);
}
public static String base64(String s, int flags) {
return base64(s.getBytes(), flags);
}
public static String base64(byte[] bytes) {
@ -38,8 +42,12 @@ public class Util {
return Base64.encodeToString(bytes, flags);
}
public static String decode(String s) {
return new String(Base64.decode(s, Base64.URL_SAFE | Base64.NO_PADDING));
}
public static String basic(String userInfo) {
return "Basic " + base64(userInfo);
return "Basic " + base64(userInfo, Base64.NO_WRAP);
}
public static byte[] hex2byte(String s) {

Loading…
Cancel
Save