天意密码登录
This commit is contained in:
parent
cd9c6a232f
commit
d3cc8c5fd2
|
|
@ -76,6 +76,7 @@ dependencies {
|
||||||
testImplementation "org.robolectric:robolectric:4.13"
|
testImplementation "org.robolectric:robolectric:4.13"
|
||||||
testImplementation 'cn.hutool:hutool-all:5.8.26'
|
testImplementation 'cn.hutool:hutool-all:5.8.26'
|
||||||
|
|
||||||
|
|
||||||
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1"
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1"
|
||||||
//implementation 'wang.harlon.quickjs:wrapper-java:1.0.0'
|
//implementation 'wang.harlon.quickjs:wrapper-java:1.0.0'
|
||||||
// implementation(ext: 'aar', name: 'quickjs', group: 'fongmi', version: 'release')
|
// implementation(ext: 'aar', name: 'quickjs', group: 'fongmi', version: 'release')
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,10 @@ import android.app.AlertDialog;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
|
import android.util.Base64;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.EditText;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
|
||||||
|
|
@ -19,14 +22,21 @@ import com.github.catvod.utils.Notify;
|
||||||
import com.github.catvod.utils.Path;
|
import com.github.catvod.utils.Path;
|
||||||
import com.github.catvod.utils.QRCode;
|
import com.github.catvod.utils.QRCode;
|
||||||
import com.github.catvod.utils.ResUtil;
|
import com.github.catvod.utils.ResUtil;
|
||||||
|
import com.github.catvod.utils.Util;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.security.KeyFactory;
|
||||||
|
import java.security.PublicKey;
|
||||||
|
import java.security.spec.X509EncodedKeySpec;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -37,6 +47,8 @@ import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import javax.crypto.Cipher;
|
||||||
|
|
||||||
import okhttp3.Headers;
|
import okhttp3.Headers;
|
||||||
import okhttp3.HttpUrl;
|
import okhttp3.HttpUrl;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
|
|
@ -72,6 +84,16 @@ public class TianYiHandler {
|
||||||
|
|
||||||
cookieJar = new SimpleCookieJar();
|
cookieJar = new SimpleCookieJar();
|
||||||
cache = Cache.objectFrom(Path.read(getCache()));
|
cache = Cache.objectFrom(Path.read(getCache()));
|
||||||
|
String user = cache.getUser().getCookie();
|
||||||
|
if (StringUtils.isNoneBlank(user)) {
|
||||||
|
JsonObject jsonObject = Json.safeObject(user);
|
||||||
|
String username = jsonObject.get("username").getAsString();
|
||||||
|
String password = jsonObject.get("password").getAsString();
|
||||||
|
this.loginWithPassword(username, password);
|
||||||
|
} else {
|
||||||
|
this.startFlow();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -155,6 +177,172 @@ public class TianYiHandler {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void loginWithPassword(String uname, String passwd) {
|
||||||
|
try {
|
||||||
|
// Step 1: 获取加密配置
|
||||||
|
JsonObject encryptConf = getEncryptConf();
|
||||||
|
String pubKey = encryptConf.getAsJsonObject("data").get("pubKey").getAsString();
|
||||||
|
|
||||||
|
// Step 2: 获取登录参数
|
||||||
|
PasswordLoginParams params = getLoginParams();
|
||||||
|
|
||||||
|
// Step 3: 准备请求头
|
||||||
|
Map<String, String> headers = buildLoginHeaders(params.lt, params.reqId);
|
||||||
|
|
||||||
|
// Step 4: 获取应用配置
|
||||||
|
AppConfig config = getAppConfig(headers);
|
||||||
|
|
||||||
|
// Step 5: 加密凭证
|
||||||
|
EncryptedCredentials credentials = encryptCredentials(uname, passwd, pubKey);
|
||||||
|
|
||||||
|
// Step 6: 提交登录
|
||||||
|
LoginResult loginResult = submitLogin(headers, config, credentials);
|
||||||
|
|
||||||
|
// Step 7: 处理登录结果
|
||||||
|
processLoginResult(loginResult);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
SpiderDebug.log("登录失败: " + e.getMessage());
|
||||||
|
Notify.show("天翼登录失败: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 辅助方法实现
|
||||||
|
private JsonObject getEncryptConf() throws Exception {
|
||||||
|
String url = API_URL + "/api/logbox/config/encryptConf.do?appId=cloud";
|
||||||
|
OkResult result = OkHttp.post(url, new HashMap<>(), getHeader(url));
|
||||||
|
return Json.safeObject(result.getBody());
|
||||||
|
}
|
||||||
|
|
||||||
|
private PasswordLoginParams getLoginParams() throws Exception {
|
||||||
|
String url = "https://cloud.189.cn/api/portal/loginUrl.action?redirectURL=https://cloud.189.cn/web/redirect.html?returnURL=/main.action";
|
||||||
|
Map<String, List<String>> resHeaderMap = OkHttp.getLocationHeader(url, getHeader(url));
|
||||||
|
|
||||||
|
|
||||||
|
String redUrl = resHeaderMap.get("Location").get(0);
|
||||||
|
resHeaderMap = OkHttp.getLocationHeader(redUrl, getHeader(redUrl));
|
||||||
|
HttpUrl httpUrl = HttpUrl.parse(resHeaderMap.get("Location").get(0));
|
||||||
|
return new PasswordLoginParams(httpUrl.queryParameter("reqId"), httpUrl.queryParameter("lt"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private Map<String, String> buildLoginHeaders(String lt, String reqId) {
|
||||||
|
Map<String, String> headers = new HashMap<>(getHeader(API_URL));
|
||||||
|
headers.put("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/76.0");
|
||||||
|
headers.put("Referer", "https://open.e.189.cn/");
|
||||||
|
headers.put("Lt", lt);
|
||||||
|
headers.put("Reqid", reqId);
|
||||||
|
return headers;
|
||||||
|
}
|
||||||
|
|
||||||
|
private AppConfig getAppConfig(Map<String, String> headers) throws Exception {
|
||||||
|
Map<String, String> data = new HashMap<>();
|
||||||
|
data.put("version", "2.0");
|
||||||
|
data.put("appKey", "cloud");
|
||||||
|
|
||||||
|
OkResult result = OkHttp.post(API_URL + "/api/logbox/oauth2/appConf.do", data, headers);
|
||||||
|
JsonObject dataObj = Json.safeObject(result.getBody()).getAsJsonObject("data");
|
||||||
|
return new AppConfig(dataObj.get("returnUrl").getAsString(), dataObj.get("paramId").getAsString());
|
||||||
|
}
|
||||||
|
|
||||||
|
private EncryptedCredentials encryptCredentials(String uname, String passwd, String pubKey) throws Exception {
|
||||||
|
SpiderDebug.log("pubKey: " + pubKey);
|
||||||
|
PublicKey publicKey = parsePublicKey(pubKey);
|
||||||
|
return new EncryptedCredentials(encryptRSA(uname, publicKey), encryptRSA(passwd, publicKey));
|
||||||
|
}
|
||||||
|
|
||||||
|
private LoginResult submitLogin(Map<String, String> headers, AppConfig config, EncryptedCredentials credentials) throws Exception {
|
||||||
|
Map<String, String> data = new HashMap<>();
|
||||||
|
data.put("appKey", "cloud");
|
||||||
|
data.put("version", "2.0");
|
||||||
|
data.put("accountType", "02");
|
||||||
|
//data.put("mailSuffix", "@189.cn");
|
||||||
|
data.put("validateCode", "");
|
||||||
|
data.put("returnUrl", config.returnUrl);
|
||||||
|
data.put("paramId", config.paramId);
|
||||||
|
data.put("captchaToken", "");
|
||||||
|
data.put("dynamicCheck", "FALSE");
|
||||||
|
data.put("clientType", "1");
|
||||||
|
data.put("cb_SaveName", "3");
|
||||||
|
data.put("isOauth2", "false");
|
||||||
|
data.put("userName", "{NRP}" + credentials.encryptedUname);
|
||||||
|
data.put("password", "{NRP}" + credentials.encryptedPasswd);
|
||||||
|
|
||||||
|
OkResult result = OkHttp.post(API_URL + "/api/logbox/oauth2/loginSubmit.do", data, headers);
|
||||||
|
return new LoginResult(Json.safeObject(result.getBody()).get("toUrl").getAsString(), result.getResp().get("Set-Cookie"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void processLoginResult(LoginResult result) throws Exception {
|
||||||
|
saveCookie(result.cookies, API_URL + "/api/logbox/oauth2/loginSubmit.do");
|
||||||
|
|
||||||
|
// 处理重定向
|
||||||
|
Map<String, List<String>> okResult = OkHttp.getLocationHeader(result.toUrl, getHeader(result.toUrl));
|
||||||
|
saveCookie(okResult.get("Set-Cookie"), result.toUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 辅助类
|
||||||
|
private static class PasswordLoginParams {
|
||||||
|
final String reqId;
|
||||||
|
final String lt;
|
||||||
|
|
||||||
|
PasswordLoginParams(String reqId, String lt) {
|
||||||
|
this.reqId = reqId;
|
||||||
|
this.lt = lt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class AppConfig {
|
||||||
|
final String returnUrl;
|
||||||
|
final String paramId;
|
||||||
|
|
||||||
|
AppConfig(String returnUrl, String paramId) {
|
||||||
|
this.returnUrl = returnUrl;
|
||||||
|
this.paramId = paramId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class EncryptedCredentials {
|
||||||
|
final String encryptedUname;
|
||||||
|
final String encryptedPasswd;
|
||||||
|
|
||||||
|
EncryptedCredentials(String encryptedUname, String encryptedPasswd) {
|
||||||
|
this.encryptedUname = encryptedUname;
|
||||||
|
this.encryptedPasswd = encryptedPasswd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class LoginResult {
|
||||||
|
final String toUrl;
|
||||||
|
final List<String> cookies;
|
||||||
|
|
||||||
|
LoginResult(String toUrl, List<String> cookies) {
|
||||||
|
this.toUrl = toUrl;
|
||||||
|
this.cookies = cookies;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private PublicKey parsePublicKey(String pubKey) throws Exception {
|
||||||
|
|
||||||
|
byte[] decoded = android.util.Base64.decode(pubKey, Base64.NO_WRAP);
|
||||||
|
X509EncodedKeySpec spec = new X509EncodedKeySpec(decoded);
|
||||||
|
return KeyFactory.getInstance("RSA").generatePublic(spec);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private String encryptRSA(String data, PublicKey publicKey) throws Exception {
|
||||||
|
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
|
||||||
|
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
|
||||||
|
byte[] encrypted = cipher.doFinal(data.getBytes(Charset.defaultCharset()));
|
||||||
|
return bytesToHex(encrypted);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String bytesToHex(byte[] bytes) {
|
||||||
|
StringBuilder hex = new StringBuilder();
|
||||||
|
for (byte b : bytes) {
|
||||||
|
hex.append(String.format("%02x", b));
|
||||||
|
}
|
||||||
|
return hex.toString().toUpperCase();
|
||||||
|
}
|
||||||
|
|
||||||
private String api(String url, Map<String, String> params, Map<String, String> headers, Integer retry, String method) throws InterruptedException {
|
private String api(String url, Map<String, String> params, Map<String, String> headers, Integer retry, String method) throws InterruptedException {
|
||||||
|
|
||||||
|
|
@ -346,6 +534,39 @@ public class TianYiHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void startFlow() {
|
||||||
|
Init.run(this::showInput);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void showInput() {
|
||||||
|
try {
|
||||||
|
int margin = ResUtil.dp2px(16);
|
||||||
|
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||||
|
FrameLayout frame = new FrameLayout(Init.context());
|
||||||
|
params.setMargins(margin, margin, margin, margin);
|
||||||
|
EditText username = new EditText(Init.context());
|
||||||
|
EditText password = new EditText(Init.context());
|
||||||
|
frame.addView(username, params);
|
||||||
|
frame.addView(password, params);
|
||||||
|
dialog = new AlertDialog.Builder(Init.getActivity()).setTitle("请输入天意用户名和密码").setView(frame).setNegativeButton(android.R.string.cancel, null).setPositiveButton(android.R.string.ok, (dialog, which) -> onPositive(username.getText().toString(), password.getText().toString())).show();
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void onPositive(String username, String password) {
|
||||||
|
dismiss();
|
||||||
|
Init.execute(() -> {
|
||||||
|
loginWithPassword(username, password);
|
||||||
|
JsonObject jsonObject = new JsonObject();
|
||||||
|
jsonObject.addProperty("username", username);
|
||||||
|
jsonObject.addProperty("password", password);
|
||||||
|
cache.setTianyiUser(new User(Json.toJson(jsonObject)));
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void dismiss() {
|
private void dismiss() {
|
||||||
try {
|
try {
|
||||||
if (dialog != null) dialog.dismiss();
|
if (dialog != null) dialog.dismiss();
|
||||||
|
|
|
||||||
|
|
@ -78,4 +78,10 @@ public class TianYiHandlerTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void loginWithPassword() throws Exception {
|
||||||
|
tianYiHandler.loginWithPassword("18896781601","Lushunming@0526");
|
||||||
|
System.out.println("1111");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
|
@ -1 +1 @@
|
||||||
c792d86e7032adf77614775a3aaea124
|
8ab2c84ea8b35e3be7a269af78dee6a5
|
||||||
|
|
|
||||||
639
json/test.json
639
json/test.json
|
|
@ -1,27 +1,27 @@
|
||||||
{
|
{
|
||||||
"spider": "https://androidcatvodspider.netlify.app/jar/custom_spider.jar;md5;3b36586b88952e9599f43fe755b4480f",
|
"spider": "https://ghproxy.net/https://raw.githubusercontent.com/lushunming/AndroidCatVodSpider/refs/heads/tianyiPassword/jar/custom_spider.jar;md5;8ab2c84ea8b35e3be7a269af78dee6a5",
|
||||||
"lives": [
|
"lives": [
|
||||||
|
{
|
||||||
|
"name": "电视直播",
|
||||||
|
"type": "0",
|
||||||
|
"pass": true,
|
||||||
|
"url": "https://ghfast.top/raw.githubusercontent.com/Supprise0901/TVBox_live/main/live.txt",
|
||||||
|
"epg": "https://epg.112114.xyz/?ch={name}&date={date}",
|
||||||
|
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "网络直播",
|
||||||
|
"type": "0",
|
||||||
|
"pass": true,
|
||||||
|
"url": "https://tv.iill.top/m3u/Live",
|
||||||
|
"epg": "https://epg.112114.xyz/?ch={name}&date={date}",
|
||||||
|
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "直播",
|
"name": "直播",
|
||||||
"type": "0",
|
"type": "0",
|
||||||
"pass": true,
|
"pass": true,
|
||||||
"url": "https://ghp.ci/https://raw.githubusercontent.com/zwc456baby/iptv_alive/master/live.txt",
|
"url": "https://ghfast.top/https://raw.githubusercontent.com/Wirili/IPTV/main/live.txt",
|
||||||
"epg": "https://epg.112114.xyz/?ch={name}&date={date}",
|
|
||||||
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "直播ipv6",
|
|
||||||
"type": "0",
|
|
||||||
"pass": true,
|
|
||||||
"url": "https://fanmingming.com/txt?url=https://live.fanmingming.com/tv/m3u/ipv6.m3u",
|
|
||||||
"epg": "https://epg.112114.xyz/?ch={name}&date={date}",
|
|
||||||
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "一木",
|
|
||||||
"type": "0",
|
|
||||||
"pass": true,
|
|
||||||
"url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/xianyuyimu/TVBOX-/main/TVBox/%E4%B8%80%E6%9C%A8%E7%9B%B4%E6%92%AD%E6%BA%90.txt",
|
|
||||||
"epg": "https://epg.112114.xyz/?ch={name}&date={date}",
|
"epg": "https://epg.112114.xyz/?ch={name}&date={date}",
|
||||||
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
"logo": "https://epg.112114.xyz/logo/{name}.png"
|
||||||
},
|
},
|
||||||
|
|
@ -35,7 +35,249 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sites": [
|
"sites": [
|
||||||
|
{
|
||||||
|
"key": "Introduce",
|
||||||
|
"name": "Cookie设置",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Introduce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Douban",
|
||||||
|
"name": " 豆瓣仅推荐",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Douban",
|
||||||
|
"searchable": 0,
|
||||||
|
"filterable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Jianpian",
|
||||||
|
"name": "荐片视频",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Jianpian",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "玩偶",
|
||||||
|
"name": "玩偶哥哥",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Wogg",
|
||||||
|
"searchable": 1,
|
||||||
|
"changeable": 1,
|
||||||
|
"ext": "{\"site\": [\"https://www.wogg.net/\",\"https://wogg.xxooo.cf/\"]}"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"key": "PanTa",
|
||||||
|
"name": "盘他|139Pan",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_PanTa",
|
||||||
|
"searchable": 1,
|
||||||
|
"changeable": 1,
|
||||||
|
"ext": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "BiXin",
|
||||||
|
"name": "彼心|139Pan",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_BiXin",
|
||||||
|
"searchable": 1,
|
||||||
|
"changeable": 1,
|
||||||
|
"ext": {}
|
||||||
|
}, {
|
||||||
|
"key": "TgSearch",
|
||||||
|
"name": "TgSearch|Pan",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_TgSearch",
|
||||||
|
"searchable": 1,
|
||||||
|
"changeable": 1,
|
||||||
|
"ext": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "KuaKeBa",
|
||||||
|
"name": "夸克吧",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_KuaKeBa",
|
||||||
|
"searchable": 1,
|
||||||
|
"changeable": 1,
|
||||||
|
"ext": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "DianYingYunJi",
|
||||||
|
"name": "电影云集",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_DianYingYunJi",
|
||||||
|
"searchable": 1,
|
||||||
|
"changeable": 1,
|
||||||
|
"ext": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "KuaKeS",
|
||||||
|
"name": "夸克网盘社",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_KuaKeS",
|
||||||
|
"searchable": 1,
|
||||||
|
"changeable": 1,
|
||||||
|
"ext": {}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"key": "XuanFeng",
|
||||||
|
"name": "旋风影视",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_XuanFeng",
|
||||||
|
"searchable": 1,
|
||||||
|
"changeable": 1,
|
||||||
|
"ext": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "NCat",
|
||||||
|
"name": "网飞猫影视",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_NCat",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ChangZhang",
|
||||||
|
"name": "厂长影视",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_ChangZhang",
|
||||||
|
"searchable": "1",
|
||||||
|
"filterable": "0",
|
||||||
|
"changeable": 0,
|
||||||
|
"ext": "https://www.czzy.site/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Zxzj",
|
||||||
|
"name": "在线之家",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Zxzj",
|
||||||
|
"searchable": "1",
|
||||||
|
"filterable": "0",
|
||||||
|
"changeable": 0,
|
||||||
|
"ext": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "TvDy",
|
||||||
|
"name": "电影天堂影视",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_TvDy",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "W55Movie",
|
||||||
|
"name": "555电影",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_W55Movie",
|
||||||
|
"searchable": 0,
|
||||||
|
"filterable": 1,
|
||||||
|
"ext": "https://w55xy.com/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "DaGongRen",
|
||||||
|
"name": "打工人电影",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_DaGongRen",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "HkTv",
|
||||||
|
"name": "TVB云播影视",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_HkTv",
|
||||||
|
"searchable": 0,
|
||||||
|
"filterable": 1,
|
||||||
|
"ext": "http://www.hktvyb.vip/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "NGkt",
|
||||||
|
"name": "瓜瓜",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_NG",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 0,
|
||||||
|
"ext": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "JustLive",
|
||||||
|
"name": "JustLive直播",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_JustLive",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Xb6v",
|
||||||
|
"name": "新版6V视频",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Xb6v",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ikanbot",
|
||||||
|
"name": "爱看机器人",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Ikanbot",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 0,
|
||||||
|
"ext": "{\"box\": \"TVBox\", \"danmu\": false}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Libvio",
|
||||||
|
"name": "立播影视",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Libvio",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 0,
|
||||||
|
"ext": "{ \"site\": \"https://www.libvio.app\" }"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Ddrk",
|
||||||
|
"name": "低端影视",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Ddrk",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 0,
|
||||||
|
"ext": " {\"site\":\"https://ddys.info/\"}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Ysj",
|
||||||
|
"name": "异世界动漫(不稳定)",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Ysj",
|
||||||
|
"searchable": 1,
|
||||||
|
"filterable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "QxiTv",
|
||||||
|
"name": "七喜影视",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_QxiTv",
|
||||||
|
"searchable": 1,
|
||||||
|
"changeable": 0,
|
||||||
|
"ext": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "glod",
|
||||||
|
"name": "金牌 | 影视",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_Glod",
|
||||||
|
"searchable": 1,
|
||||||
|
"changeable": 0,
|
||||||
|
"ext": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "YunPanBa",
|
||||||
|
"name": "云盘吧",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_YunPanBa",
|
||||||
|
"searchable": 1,
|
||||||
|
"timeout": 30
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"key": "QiLeSo",
|
"key": "QiLeSo",
|
||||||
"name": "奇乐搜┃搜索",
|
"name": "奇乐搜┃搜索",
|
||||||
|
|
@ -43,8 +285,367 @@
|
||||||
"api": "csp_QiLeSo",
|
"api": "csp_QiLeSo",
|
||||||
"searchable": 1,
|
"searchable": 1,
|
||||||
"timeout": 30
|
"timeout": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "PanSearch",
|
||||||
|
"name": "盘搜┃搜索",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_PanSearch",
|
||||||
|
"searchable": 1,
|
||||||
|
"timeout": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "TianYiSo",
|
||||||
|
"name": "天翼┃搜索",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_TianYiSo",
|
||||||
|
"searchable": 1,
|
||||||
|
"timeout": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "newvision",
|
||||||
|
"name": "(js)新视觉影院(不稳定)",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/newvision.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "kankan70",
|
||||||
|
"name": "(js)70看看┃📺",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/kankan70.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "jpyy",
|
||||||
|
"name": "(js)金牌影院",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/jpyy.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "jpyy2",
|
||||||
|
"name": "(js)金牌影院",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/jpyy2.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "tiantian",
|
||||||
|
"name": "(js)天天影视┃⛄",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/tiantian.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "xb6v",
|
||||||
|
"name": "(js)磁力新6V┃🧲",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/xb6v.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "mp4movie",
|
||||||
|
"name": "(js)Mp4电影┃🍚",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/mp4movie.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "jianpian",
|
||||||
|
"name": "(js)荐片┃🌼",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/jianpian.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alipansou",
|
||||||
|
"name": "(js)阿里猫狸┃😸",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/alipansou.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox",
|
||||||
|
"aliToken": "26fc6787afff43e78b78992e782502f1",
|
||||||
|
"quarkCookie": "_UP_A4A_11_=wb965111521e45ffa80410c24a071a54; _UP_D_=pc; tfstk=fXFith4nnRk114LAjWc1TT-OQUXL5hGjqodxDjnVLDoBBchYujR4Drht3GaYxmqYlcPtWc34mknIMcFTB-Y_tuAv6G6_uIcxggIRw_U15jGV2EjCXmnslyoqlSMN9PGjgMEW0dR85uVOAjYmgwcEoqOqgIrqLyoIlq-ZuC738DgqgCJZgH8EuqxZNmAqqSPQTaC3h7bb2rFnSvW87D8jTW0iX0zasIR2zVDi4Poh2svabvzjnSTXixaaFogzbhS-Cry3xVcc9dlz--roR55Jj2wT8znUrEdYrfV3t-kh71znscDo-vYWpf24fSD_IE_78frQF0MNdMg367HmVvxFbyUnbY20XMOqX84UxYFpvQhbA-rqok-G4A9eUc4wG27YtK9jQ2gnVNJioG_mbu_h-wv5CAuIWgQh-K9jQ2gn2wbHFhMZRVIR.; __pus=c81f57897dafcb65d4ecb501bc299199AARcqF72zsatdbsCbiT3qVqsk36caaycoPQW7hz8rbEf+UY7f5aGgH1e90lsONAUwCAW8y27u5A/KXyYqkHCWgjS; __kp=99fa2760-1669-11ef-90cf-8f7a59c3b86e; __kps=AATSt4xuf6r6bqes3LdJvxvy; __ktd=c2e+aLICIvFoeklXXz36VA==; __uid=AATSt4xuf6r6bqes3LdJvxvy; Video-Auth=smob3MOUslklDq2MutANJYZCVo50sLv0GFelx3+cu1nK2fkdL2kvkdpT5yNOhNz0NLTyi5ThWRL47+ztJA4kXQ==; __puus=72f667c533c9a22496f88d2f1bb7ae71AAQ7mrvFw7s9AUPUXvnuGPkcDU3RRTVPdYaYQfsM9Cje2doYXgRZXbImg02EaUaEG+G9ikpo3xubGGdElArOuYvUtJzIXb6yHDnSZbtEUxkwvjfQRNEnDnVwLQ6LL2ORjRaxa9OUfwk/WppWvy6OcDqQtHYkaqB+Poxn5kFs7ZVdAtX7ZQks1czD+g9gAZjsbeBHxHQ1AP5MGc1s3M4RhwZQ"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "huya",
|
||||||
|
"name": "(js)虎牙直播┃🐯",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/huya.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "star",
|
||||||
|
"name": "(js)星视界┃墙☄️",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/star.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "nivod",
|
||||||
|
"name": "(js)泥视频┃墙👑",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/nivod.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox",
|
||||||
|
"code": 0
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "aiyingshi",
|
||||||
|
"name": "(js)爱影视┃🚀",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/aiyingshi.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "sp360",
|
||||||
|
"name": "(js)360影视┃🥎",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/sp360.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "mxanime",
|
||||||
|
"name": "(js)MX动漫┃🍒",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/mxanime.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "cntv",
|
||||||
|
"name": "(js)中央影视┃🤵♂️",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/cntv.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "douban",
|
||||||
|
"name": "(js)豆瓣┃🍥",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/douban.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "pan_search",
|
||||||
|
"name": "(js)阿里盘搜┃🗂️",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/pan_search.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox",
|
||||||
|
"aliToken": "26fc6787afff43e78b78992e782502f1",
|
||||||
|
"quarkCookie": "_UP_A4A_11_=wb965111521e45ffa80410c24a071a54; _UP_D_=pc; tfstk=fXFith4nnRk114LAjWc1TT-OQUXL5hGjqodxDjnVLDoBBchYujR4Drht3GaYxmqYlcPtWc34mknIMcFTB-Y_tuAv6G6_uIcxggIRw_U15jGV2EjCXmnslyoqlSMN9PGjgMEW0dR85uVOAjYmgwcEoqOqgIrqLyoIlq-ZuC738DgqgCJZgH8EuqxZNmAqqSPQTaC3h7bb2rFnSvW87D8jTW0iX0zasIR2zVDi4Poh2svabvzjnSTXixaaFogzbhS-Cry3xVcc9dlz--roR55Jj2wT8znUrEdYrfV3t-kh71znscDo-vYWpf24fSD_IE_78frQF0MNdMg367HmVvxFbyUnbY20XMOqX84UxYFpvQhbA-rqok-G4A9eUc4wG27YtK9jQ2gnVNJioG_mbu_h-wv5CAuIWgQh-K9jQ2gn2wbHFhMZRVIR.; __pus=c81f57897dafcb65d4ecb501bc299199AARcqF72zsatdbsCbiT3qVqsk36caaycoPQW7hz8rbEf+UY7f5aGgH1e90lsONAUwCAW8y27u5A/KXyYqkHCWgjS; __kp=99fa2760-1669-11ef-90cf-8f7a59c3b86e; __kps=AATSt4xuf6r6bqes3LdJvxvy; __ktd=c2e+aLICIvFoeklXXz36VA==; __uid=AATSt4xuf6r6bqes3LdJvxvy; Video-Auth=smob3MOUslklDq2MutANJYZCVo50sLv0GFelx3+cu1nK2fkdL2kvkdpT5yNOhNz0NLTyi5ThWRL47+ztJA4kXQ==; __puus=72f667c533c9a22496f88d2f1bb7ae71AAQ7mrvFw7s9AUPUXvnuGPkcDU3RRTVPdYaYQfsM9Cje2doYXgRZXbImg02EaUaEG+G9ikpo3xubGGdElArOuYvUtJzIXb6yHDnSZbtEUxkwvjfQRNEnDnVwLQ6LL2ORjRaxa9OUfwk/WppWvy6OcDqQtHYkaqB+Poxn5kFs7ZVdAtX7ZQks1czD+g9gAZjsbeBHxHQ1AP5MGc1s3M4RhwZQ"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bilibili",
|
||||||
|
"name": "(js)哔哩哔哩┃🏰",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/bilibili.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox",
|
||||||
|
"cookie": "buvid3=02675249-8ED3-C418-87F5-59E18316459714816infoc; b_nut=1704421014; _uuid=5D435F74-F574-D9AB-62C1-B9294DE465D913102infoc; buvid_fp=e8c5650c749398e9b5cad3f3ddb5081e; buvid4=007E85D1-52C1-7E6E-07CF-837FFBC9349516677-024010502-J5vTDSZDCw4fNnXRejbSVg%3D%3D; rpdid=|()kYJmulRu0J'u~|RRJl)JR; PVID=1; SESSDATA=3be091d3%2C1720332009%2C699ed%2A11CjAcCdwXG5kY1umhCOpQHOn_WP7L9xFBfWO7KKd4BPweodpR6VyIfeNyPiRmkr5jCqsSVjg0R0dZOVVHRUo3RnhPRTZFc3JPbGdiUjFCdHpiRDhiTkticmdKTjVyS1VhbDdvNjFMSDJlbUJydUlRdjFUNGFBNkJlV2ZTa0N1Q1BEVi1QYTQzTUh3IIEC; bili_jct=b0ee7b5d3f27df893545d811d95506d4; DedeUserID=78014638; DedeUserID__ckMd5=4c8c5d65065e468a; enable_web_push=DISABLE; header_theme_version=CLOSE; home_feed_column=5; CURRENT_BLACKGAP=0; CURRENT_FNVAL=4048; b_lsid=75E916AA_18EA1A8D995; bsource=search_baidu; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1507-691; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIzNjk5MTMsImlhdCI6MTcxMjExMDY1MywicGx0IjotMX0.8zQW_fNTCSBlK_JkHnzu3gDw62wuTK1qgKcbGec3swM; bili_ticket_expires=171236985"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "changzhang",
|
||||||
|
"name": "(js)厂长直连┃🏭️",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/changzhang.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox",
|
||||||
|
"aliToken": "26fc6787afff43e78b78992e782502f1",
|
||||||
|
"quarkCookie": "_UP_A4A_11_=wb965111521e45ffa80410c24a071a54; _UP_D_=pc; tfstk=fXFith4nnRk114LAjWc1TT-OQUXL5hGjqodxDjnVLDoBBchYujR4Drht3GaYxmqYlcPtWc34mknIMcFTB-Y_tuAv6G6_uIcxggIRw_U15jGV2EjCXmnslyoqlSMN9PGjgMEW0dR85uVOAjYmgwcEoqOqgIrqLyoIlq-ZuC738DgqgCJZgH8EuqxZNmAqqSPQTaC3h7bb2rFnSvW87D8jTW0iX0zasIR2zVDi4Poh2svabvzjnSTXixaaFogzbhS-Cry3xVcc9dlz--roR55Jj2wT8znUrEdYrfV3t-kh71znscDo-vYWpf24fSD_IE_78frQF0MNdMg367HmVvxFbyUnbY20XMOqX84UxYFpvQhbA-rqok-G4A9eUc4wG27YtK9jQ2gnVNJioG_mbu_h-wv5CAuIWgQh-K9jQ2gn2wbHFhMZRVIR.; __pus=c81f57897dafcb65d4ecb501bc299199AARcqF72zsatdbsCbiT3qVqsk36caaycoPQW7hz8rbEf+UY7f5aGgH1e90lsONAUwCAW8y27u5A/KXyYqkHCWgjS; __kp=99fa2760-1669-11ef-90cf-8f7a59c3b86e; __kps=AATSt4xuf6r6bqes3LdJvxvy; __ktd=c2e+aLICIvFoeklXXz36VA==; __uid=AATSt4xuf6r6bqes3LdJvxvy; Video-Auth=smob3MOUslklDq2MutANJYZCVo50sLv0GFelx3+cu1nK2fkdL2kvkdpT5yNOhNz0NLTyi5ThWRL47+ztJA4kXQ==; __puus=72f667c533c9a22496f88d2f1bb7ae71AAQ7mrvFw7s9AUPUXvnuGPkcDU3RRTVPdYaYQfsM9Cje2doYXgRZXbImg02EaUaEG+G9ikpo3xubGGdElArOuYvUtJzIXb6yHDnSZbtEUxkwvjfQRNEnDnVwLQ6LL2ORjRaxa9OUfwk/WppWvy6OcDqQtHYkaqB+Poxn5kFs7ZVdAtX7ZQks1czD+g9gAZjsbeBHxHQ1AP5MGc1s3M4RhwZQ"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "wogg",
|
||||||
|
"name": "(js)阿里玩偶┃💂",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/wogg.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox",
|
||||||
|
"aliToken": "26fc6787afff43e78b78992e782502f1",
|
||||||
|
"quarkCookie": "_UP_A4A_11_=wb965111521e45ffa80410c24a071a54; _UP_D_=pc; tfstk=fXFith4nnRk114LAjWc1TT-OQUXL5hGjqodxDjnVLDoBBchYujR4Drht3GaYxmqYlcPtWc34mknIMcFTB-Y_tuAv6G6_uIcxggIRw_U15jGV2EjCXmnslyoqlSMN9PGjgMEW0dR85uVOAjYmgwcEoqOqgIrqLyoIlq-ZuC738DgqgCJZgH8EuqxZNmAqqSPQTaC3h7bb2rFnSvW87D8jTW0iX0zasIR2zVDi4Poh2svabvzjnSTXixaaFogzbhS-Cry3xVcc9dlz--roR55Jj2wT8znUrEdYrfV3t-kh71znscDo-vYWpf24fSD_IE_78frQF0MNdMg367HmVvxFbyUnbY20XMOqX84UxYFpvQhbA-rqok-G4A9eUc4wG27YtK9jQ2gnVNJioG_mbu_h-wv5CAuIWgQh-K9jQ2gn2wbHFhMZRVIR.; __pus=c81f57897dafcb65d4ecb501bc299199AARcqF72zsatdbsCbiT3qVqsk36caaycoPQW7hz8rbEf+UY7f5aGgH1e90lsONAUwCAW8y27u5A/KXyYqkHCWgjS; __kp=99fa2760-1669-11ef-90cf-8f7a59c3b86e; __kps=AATSt4xuf6r6bqes3LdJvxvy; __ktd=c2e+aLICIvFoeklXXz36VA==; __uid=AATSt4xuf6r6bqes3LdJvxvy; Video-Auth=smob3MOUslklDq2MutANJYZCVo50sLv0GFelx3+cu1nK2fkdL2kvkdpT5yNOhNz0NLTyi5ThWRL47+ztJA4kXQ==; __puus=72f667c533c9a22496f88d2f1bb7ae71AAQ7mrvFw7s9AUPUXvnuGPkcDU3RRTVPdYaYQfsM9Cje2doYXgRZXbImg02EaUaEG+G9ikpo3xubGGdElArOuYvUtJzIXb6yHDnSZbtEUxkwvjfQRNEnDnVwLQ6LL2ORjRaxa9OUfwk/WppWvy6OcDqQtHYkaqB+Poxn5kFs7ZVdAtX7ZQks1czD+g9gAZjsbeBHxHQ1AP5MGc1s3M4RhwZQ"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "nangua",
|
||||||
|
"name": "(js)南瓜影视┃🎃",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/nangua.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "aliyunpanshare",
|
||||||
|
"name": "(js)阿里云盘分享┃🥏",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/aliyunpanshare.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox",
|
||||||
|
"aliToken": "26fc6787afff43e78b78992e782502f1",
|
||||||
|
"quarkCookie": "_UP_A4A_11_=wb965111521e45ffa80410c24a071a54; _UP_D_=pc; tfstk=fXFith4nnRk114LAjWc1TT-OQUXL5hGjqodxDjnVLDoBBchYujR4Drht3GaYxmqYlcPtWc34mknIMcFTB-Y_tuAv6G6_uIcxggIRw_U15jGV2EjCXmnslyoqlSMN9PGjgMEW0dR85uVOAjYmgwcEoqOqgIrqLyoIlq-ZuC738DgqgCJZgH8EuqxZNmAqqSPQTaC3h7bb2rFnSvW87D8jTW0iX0zasIR2zVDi4Poh2svabvzjnSTXixaaFogzbhS-Cry3xVcc9dlz--roR55Jj2wT8znUrEdYrfV3t-kh71znscDo-vYWpf24fSD_IE_78frQF0MNdMg367HmVvxFbyUnbY20XMOqX84UxYFpvQhbA-rqok-G4A9eUc4wG27YtK9jQ2gnVNJioG_mbu_h-wv5CAuIWgQh-K9jQ2gn2wbHFhMZRVIR.; __pus=c81f57897dafcb65d4ecb501bc299199AARcqF72zsatdbsCbiT3qVqsk36caaycoPQW7hz8rbEf+UY7f5aGgH1e90lsONAUwCAW8y27u5A/KXyYqkHCWgjS; __kp=99fa2760-1669-11ef-90cf-8f7a59c3b86e; __kps=AATSt4xuf6r6bqes3LdJvxvy; __ktd=c2e+aLICIvFoeklXXz36VA==; __uid=AATSt4xuf6r6bqes3LdJvxvy; Video-Auth=smob3MOUslklDq2MutANJYZCVo50sLv0GFelx3+cu1nK2fkdL2kvkdpT5yNOhNz0NLTyi5ThWRL47+ztJA4kXQ==; __puus=72f667c533c9a22496f88d2f1bb7ae71AAQ7mrvFw7s9AUPUXvnuGPkcDU3RRTVPdYaYQfsM9Cje2doYXgRZXbImg02EaUaEG+G9ikpo3xubGGdElArOuYvUtJzIXb6yHDnSZbtEUxkwvjfQRNEnDnVwLQ6LL2ORjRaxa9OUfwk/WppWvy6OcDqQtHYkaqB+Poxn5kFs7ZVdAtX7ZQks1czD+g9gAZjsbeBHxHQ1AP5MGc1s3M4RhwZQ"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "dubo",
|
||||||
|
"name": "(js)独播影视┃🛶",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/dubo.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "haiwaikan",
|
||||||
|
"name": "(js)海外看┃☕墙",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/haiwaikan.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "dygangs",
|
||||||
|
"name": "(js)电影港┃🏖️",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/dygangs.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "cilixiong",
|
||||||
|
"name": "(js)磁力熊┃🐻",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/cilixiong.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "lovemovie",
|
||||||
|
"name": "(js)爱情电影网┃💕",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/lovemovie.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "gitcafe",
|
||||||
|
"name": "(js)阿里纸条┃🦊",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/gitcafe.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox",
|
||||||
|
"aliToken": "26fc6787afff43e78b78992e782502f1",
|
||||||
|
"quarkCookie": "_UP_A4A_11_=wb965111521e45ffa80410c24a071a54; _UP_D_=pc; tfstk=fXFith4nnRk114LAjWc1TT-OQUXL5hGjqodxDjnVLDoBBchYujR4Drht3GaYxmqYlcPtWc34mknIMcFTB-Y_tuAv6G6_uIcxggIRw_U15jGV2EjCXmnslyoqlSMN9PGjgMEW0dR85uVOAjYmgwcEoqOqgIrqLyoIlq-ZuC738DgqgCJZgH8EuqxZNmAqqSPQTaC3h7bb2rFnSvW87D8jTW0iX0zasIR2zVDi4Poh2svabvzjnSTXixaaFogzbhS-Cry3xVcc9dlz--roR55Jj2wT8znUrEdYrfV3t-kh71znscDo-vYWpf24fSD_IE_78frQF0MNdMg367HmVvxFbyUnbY20XMOqX84UxYFpvQhbA-rqok-G4A9eUc4wG27YtK9jQ2gnVNJioG_mbu_h-wv5CAuIWgQh-K9jQ2gn2wbHFhMZRVIR.; __pus=c81f57897dafcb65d4ecb501bc299199AARcqF72zsatdbsCbiT3qVqsk36caaycoPQW7hz8rbEf+UY7f5aGgH1e90lsONAUwCAW8y27u5A/KXyYqkHCWgjS; __kp=99fa2760-1669-11ef-90cf-8f7a59c3b86e; __kps=AATSt4xuf6r6bqes3LdJvxvy; __ktd=c2e+aLICIvFoeklXXz36VA==; __uid=AATSt4xuf6r6bqes3LdJvxvy; Video-Auth=smob3MOUslklDq2MutANJYZCVo50sLv0GFelx3+cu1nK2fkdL2kvkdpT5yNOhNz0NLTyi5ThWRL47+ztJA4kXQ==; __puus=72f667c533c9a22496f88d2f1bb7ae71AAQ7mrvFw7s9AUPUXvnuGPkcDU3RRTVPdYaYQfsM9Cje2doYXgRZXbImg02EaUaEG+G9ikpo3xubGGdElArOuYvUtJzIXb6yHDnSZbtEUxkwvjfQRNEnDnVwLQ6LL2ORjRaxa9OUfwk/WppWvy6OcDqQtHYkaqB+Poxn5kFs7ZVdAtX7ZQks1czD+g9gAZjsbeBHxHQ1AP5MGc1s3M4RhwZQ"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "kuaikan",
|
||||||
|
"name": "(js)快看视频┃🛥︎",
|
||||||
|
"api": "https://androidcatvodspider.netlify.app/json/js/kuaikan.js",
|
||||||
|
"timeout": 30,
|
||||||
|
"ext": {
|
||||||
|
"box": "TVBox"
|
||||||
|
},
|
||||||
|
"playerType": 0,
|
||||||
|
"type": 3
|
||||||
}
|
}
|
||||||
|
|
||||||
],
|
],
|
||||||
"parses": [
|
"parses": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue