Merge branch 'main' of https://github.com/FongMi/CatVodSpider
This commit is contained in:
commit
1184864083
|
|
@ -18,14 +18,16 @@ public class Drive {
|
||||||
|
|
||||||
@SerializedName("drives")
|
@SerializedName("drives")
|
||||||
private List<Drive> drives;
|
private List<Drive> drives;
|
||||||
|
@SerializedName("params")
|
||||||
|
private Map<String, String> params;
|
||||||
|
@SerializedName("login")
|
||||||
|
private Login login;
|
||||||
@SerializedName("vodPic")
|
@SerializedName("vodPic")
|
||||||
private String vodPic;
|
private String vodPic;
|
||||||
@SerializedName("name")
|
@SerializedName("name")
|
||||||
private String name;
|
private String name;
|
||||||
@SerializedName("server")
|
@SerializedName("server")
|
||||||
private String server;
|
private String server;
|
||||||
@SerializedName("password")
|
|
||||||
private String password;
|
|
||||||
@SerializedName("version")
|
@SerializedName("version")
|
||||||
private int version;
|
private int version;
|
||||||
@SerializedName("path")
|
@SerializedName("path")
|
||||||
|
|
@ -39,6 +41,14 @@ public class Drive {
|
||||||
return drives == null ? new ArrayList<>() : drives;
|
return drives == null ? new ArrayList<>() : drives;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getParams() {
|
||||||
|
return params == null ? new HashMap<>() : params;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Login getLogin() {
|
||||||
|
return login;
|
||||||
|
}
|
||||||
|
|
||||||
public Drive(String name) {
|
public Drive(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
@ -55,10 +65,6 @@ public class Drive {
|
||||||
return TextUtils.isEmpty(server) ? "" : server;
|
return TextUtils.isEmpty(server) ? "" : server;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPassword() {
|
|
||||||
return TextUtils.isEmpty(password) ? "" : password;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getVersion() {
|
public int getVersion() {
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
@ -91,6 +97,10 @@ public class Drive {
|
||||||
return getHost() + "/api/public/settings";
|
return getHost() + "/api/public/settings";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String loginApi() {
|
||||||
|
return getHost() + "/api/auth/login";
|
||||||
|
}
|
||||||
|
|
||||||
public String listApi() {
|
public String listApi() {
|
||||||
return getHost() + (isNew() ? "/api/fs/list" : "/api/public/path");
|
return getHost() + (isNew() ? "/api/fs/list" : "/api/public/path");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.github.catvod.bean.alist;
|
||||||
|
|
||||||
|
import android.text.TextUtils;
|
||||||
|
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
|
||||||
|
public class Login {
|
||||||
|
|
||||||
|
@SerializedName("username")
|
||||||
|
private String username;
|
||||||
|
@SerializedName("password")
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
public String getUsername() {
|
||||||
|
return TextUtils.isEmpty(username) ? "" : username;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassword() {
|
||||||
|
return TextUtils.isEmpty(password) ? "" : password;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -30,6 +30,7 @@ public class AList extends Spider {
|
||||||
|
|
||||||
private List<Drive> drives;
|
private List<Drive> drives;
|
||||||
private String vodPic;
|
private String vodPic;
|
||||||
|
private String token;
|
||||||
private String ext;
|
private String ext;
|
||||||
|
|
||||||
private List<Filter> getFilter() {
|
private List<Filter> getFilter() {
|
||||||
|
|
@ -51,6 +52,23 @@ public class AList extends Spider {
|
||||||
return drives.get(drives.indexOf(new Drive(name))).check();
|
return drives.get(drives.indexOf(new Drive(name))).check();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public HashMap<String, String> getHeader() {
|
||||||
|
HashMap<String, String> headers = new HashMap<>();
|
||||||
|
headers.put("User-Agent", Utils.CHROME);
|
||||||
|
if (token != null) headers.put("Authorization", token);
|
||||||
|
return headers;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String post(Drive drive, String url, String param) {
|
||||||
|
return post(drive, url, param, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String post(Drive drive, String url, String param, boolean retry) {
|
||||||
|
String response = OkHttp.postJson(url, param, getHeader()).getBody();
|
||||||
|
if (retry && response.contains("Guest user is disabled") && login(drive)) return post(drive, url, param, false);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(Context context, String extend) {
|
public void init(Context context, String extend) {
|
||||||
try {
|
try {
|
||||||
|
|
@ -132,15 +150,30 @@ public class AList extends Spider {
|
||||||
return Result.get().url(getDetail(ids[0]).getUrl()).subs(getSub(ids)).string();
|
return Result.get().url(getDetail(ids[0]).getUrl()).subs(getSub(ids)).string();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean login(Drive drive) {
|
||||||
|
try {
|
||||||
|
JSONObject params = new JSONObject();
|
||||||
|
params.put("username", drive.getLogin().getUsername());
|
||||||
|
params.put("password", drive.getLogin().getPassword());
|
||||||
|
String response = OkHttp.postJson(drive.loginApi(), params.toString()).getBody();
|
||||||
|
token = new JSONObject(response).getJSONObject("data").getString("token");
|
||||||
|
return true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Item getDetail(String id) {
|
private Item getDetail(String id) {
|
||||||
try {
|
try {
|
||||||
String key = id.contains("/") ? id.substring(0, id.indexOf("/")) : id;
|
String key = id.contains("/") ? id.substring(0, id.indexOf("/")) : id;
|
||||||
String path = id.contains("/") ? id.substring(id.indexOf("/")) : "";
|
String path = id.contains("/") ? id.substring(id.indexOf("/")) : "";
|
||||||
Drive drive = getDrive(key);
|
Drive drive = getDrive(key);
|
||||||
|
path = path.startsWith(drive.getPath()) ? path : drive.getPath() + path;
|
||||||
JSONObject params = new JSONObject();
|
JSONObject params = new JSONObject();
|
||||||
params.put("password", drive.getPassword());
|
params.put("path", path);
|
||||||
params.put("path", path.startsWith(drive.getPath()) ? path : drive.getPath() + path);
|
params.put("password", drive.getParams().get(path));
|
||||||
String response = OkHttp.postJson(drive.getApi(), params.toString()).getBody();
|
String response = post(drive, drive.getApi(), params.toString());
|
||||||
return Item.objectFrom(getDetailJson(drive.isNew(), response));
|
return Item.objectFrom(getDetailJson(drive.isNew(), response));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return new Item();
|
return new Item();
|
||||||
|
|
@ -152,10 +185,11 @@ public class AList extends Spider {
|
||||||
String key = id.contains("/") ? id.substring(0, id.indexOf("/")) : id;
|
String key = id.contains("/") ? id.substring(0, id.indexOf("/")) : id;
|
||||||
String path = id.contains("/") ? id.substring(id.indexOf("/")) : "";
|
String path = id.contains("/") ? id.substring(id.indexOf("/")) : "";
|
||||||
Drive drive = getDrive(key);
|
Drive drive = getDrive(key);
|
||||||
|
path = path.startsWith(drive.getPath()) ? path : drive.getPath() + path;
|
||||||
JSONObject params = new JSONObject();
|
JSONObject params = new JSONObject();
|
||||||
params.put("password", drive.getPassword());
|
params.put("path", path);
|
||||||
params.put("path", path.startsWith(drive.getPath()) ? path : drive.getPath() + path);
|
params.put("password", drive.getParams().get(path));
|
||||||
String response = OkHttp.postJson(drive.listApi(), params.toString()).getBody();
|
String response = post(drive, drive.listApi(), params.toString());
|
||||||
List<Item> items = Item.arrayFrom(getListJson(drive.isNew(), response));
|
List<Item> items = Item.arrayFrom(getListJson(drive.isNew(), response));
|
||||||
Iterator<Item> iterator = items.iterator();
|
Iterator<Item> iterator = items.iterator();
|
||||||
if (filter) while (iterator.hasNext()) if (iterator.next().ignore(drive.isNew())) iterator.remove();
|
if (filter) while (iterator.hasNext()) if (iterator.next().ignore(drive.isNew())) iterator.remove();
|
||||||
|
|
@ -167,7 +201,7 @@ public class AList extends Spider {
|
||||||
|
|
||||||
private void search(CountDownLatch cd, List<Vod> list, Drive drive, String keyword) {
|
private void search(CountDownLatch cd, List<Vod> list, Drive drive, String keyword) {
|
||||||
try {
|
try {
|
||||||
String response = OkHttp.postJson(drive.searchApi(), drive.params(keyword)).getBody();
|
String response = post(drive, drive.searchApi(), drive.params(keyword));
|
||||||
List<Item> items = Item.arrayFrom(getSearchJson(drive.isNew(), response));
|
List<Item> items = Item.arrayFrom(getSearchJson(drive.isNew(), response));
|
||||||
for (Item item : items) if (!item.ignore(drive.isNew())) list.add(item.getVod(drive, vodPic));
|
for (Item item : items) if (!item.ignore(drive.isNew())) list.add(item.getVod(drive, vodPic));
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
|
|
|
||||||
|
|
@ -11,16 +11,12 @@ import java.io.InputStreamReader;
|
||||||
|
|
||||||
public class FileUtil {
|
public class FileUtil {
|
||||||
|
|
||||||
public static File getExternalCacheDir() {
|
public static File getCacheDir() {
|
||||||
return Init.context().getExternalCacheDir();
|
return Init.context().getExternalCacheDir();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static File getCacheDir() {
|
|
||||||
return Init.context().getCacheDir();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static File getCacheFile(String fileName) {
|
public static File getCacheFile(String fileName) {
|
||||||
return getExternalCacheDir().canWrite() ? new File(getExternalCacheDir(), fileName) : new File(getCacheDir(), fileName);
|
return new File(getCacheDir(), fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void write(File file, String data) {
|
public static void write(File file, String data) {
|
||||||
|
|
@ -33,11 +29,23 @@ public class FileUtil {
|
||||||
fos.write(data);
|
fos.write(data);
|
||||||
fos.flush();
|
fos.flush();
|
||||||
fos.close();
|
fos.close();
|
||||||
|
chmod(file);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static File chmod(File file) {
|
||||||
|
try {
|
||||||
|
Process process = Runtime.getRuntime().exec("chmod 777 " + file);
|
||||||
|
process.waitFor();
|
||||||
|
return file;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static String read(File file) {
|
public static String read(File file) {
|
||||||
try {
|
try {
|
||||||
return read(new FileInputStream(file));
|
return read(new FileInputStream(file));
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1 +1 @@
|
||||||
630997f2d36dde4644f99300f559ff68
|
d81491287f85debfc69e10a2ec775b4d
|
||||||
|
|
|
||||||
505
json/adult.json
505
json/adult.json
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;630997f2d36dde4644f99300f559ff68",
|
"spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;d81491287f85debfc69e10a2ec775b4d",
|
||||||
"wallpaper": "https://gao.chuqiuyu.tk",
|
"wallpaper": "https://gao.chuqiuyu.tk",
|
||||||
"sites": [
|
"sites": [
|
||||||
{
|
{
|
||||||
|
|
@ -75,279 +75,279 @@
|
||||||
"api": "http://51smt4.xyz/api.php/provide/vod/",
|
"api": "http://51smt4.xyz/api.php/provide/vod/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "cjmygzy.com",
|
|
||||||
"name": "成人02",
|
|
||||||
"type": 0,
|
|
||||||
"api": "http://cjmygzy.com/inc/sapi.php?ac=videolist",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "secj8.com",
|
|
||||||
"name": "成人03",
|
|
||||||
"type": 0,
|
|
||||||
"api": "http://secj8.com/inc/sapi.php?ac=videolist",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "jcspcj8.com",
|
"key": "jcspcj8.com",
|
||||||
"name": "成人04",
|
"name": "成人02",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://jcspcj8.com/api?ac=videolist",
|
"api": "http://jcspcj8.com/api?ac=videolist",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "bttcj.com",
|
"key": "bttcj.com",
|
||||||
"name": "成人05",
|
"name": "成人03",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://bttcj.com/inc/sapi.php",
|
"api": "http://bttcj.com/inc/sapi.php",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "apilj.com",
|
"key": "cjmygzy.com",
|
||||||
"name": "成人06",
|
"name": "成人04",
|
||||||
"type": 1,
|
|
||||||
"api": "http://apilj.com/api.php/provide/vod/at/json/",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "wmcj8.com",
|
|
||||||
"name": "成人07",
|
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://wmcj8.com/inc/sapi.php",
|
"api": "http://cjmygzy.com/inc/sapi.php?ac=videolist",
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "99zywcj.com",
|
|
||||||
"name": "成人08",
|
|
||||||
"type": 0,
|
|
||||||
"api": "http://99zywcj.com/inc/sapi.php?ac=videolist",
|
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "91md.me",
|
"key": "91md.me",
|
||||||
"name": "成人09",
|
"name": "成人05",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"api": "http://91md.me/api.php/provide/vod/",
|
"api": "http://91md.me/api.php/provide/vod/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "api.putaozy.net",
|
|
||||||
"name": "成人10",
|
|
||||||
"type": 1,
|
|
||||||
"api": "http://api.putaozy.net/inc/apijson_vod.php",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "mygzycj.com",
|
|
||||||
"name": "成人11",
|
|
||||||
"type": 0,
|
|
||||||
"api": "http://mygzycj.com/api.php?ac=list",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "llzxcj.com",
|
|
||||||
"name": "成人12",
|
|
||||||
"type": 0,
|
|
||||||
"api": "http://llzxcj.com/inc/sck.php?ac=videolist",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "feifei67.com",
|
|
||||||
"name": "成人13",
|
|
||||||
"type": 1,
|
|
||||||
"api": "http://www.feifei67.com/api.php/provide/vod/",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "dadiapi.com",
|
"key": "dadiapi.com",
|
||||||
"name": "成人14",
|
"name": "成人06",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://dadiapi.com/api.php",
|
"api": "http://dadiapi.com/api.php",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "sdszyapi.com",
|
"key": "secj8.com",
|
||||||
"name": "成人15",
|
"name": "成人07",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://sdszyapi.com/home/cjapi/asbb/mc10/vod/xml",
|
"api": "http://secj8.com/inc/sapi.php?ac=videolist",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "api.putaozy.net",
|
||||||
|
"name": "成人08",
|
||||||
|
"type": 1,
|
||||||
|
"api": "http://api.putaozy.net/inc/apijson_vod.php",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "llzxcj.com",
|
||||||
|
"name": "成人09",
|
||||||
|
"type": 0,
|
||||||
|
"api": "http://llzxcj.com/inc/sck.php?ac=videolist",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "apilj.com",
|
||||||
|
"name": "成人10",
|
||||||
|
"type": 1,
|
||||||
|
"api": "http://apilj.com/api.php/provide/vod/at/json/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "f2dcj6.com",
|
"key": "f2dcj6.com",
|
||||||
"name": "成人16",
|
"name": "成人11",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://f2dcj6.com/sapi?ac=videolist",
|
"api": "http://f2dcj6.com/sapi?ac=videolist",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "fhapi9.com",
|
|
||||||
"name": "成人17",
|
|
||||||
"type": 1,
|
|
||||||
"api": "http://fhapi9.com/api.php/provide/vod/",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "ggmmzy.com",
|
|
||||||
"name": "成人18",
|
|
||||||
"type": 0,
|
|
||||||
"api": "http://www.ggmmzy.com:9999/inc/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "99zy.pw",
|
"key": "99zy.pw",
|
||||||
"name": "成人19",
|
"name": "成人12",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"api": "http://99zy.pw/api.php/provide/vod/",
|
"api": "http://99zy.pw/api.php/provide/vod/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "xjjzyapi.com",
|
"key": "ggmmzy.com",
|
||||||
"name": "成人20",
|
"name": "成人13",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://xjjzyapi.com/home/cjapi/askl/mc10/vod/xml",
|
"api": "http://www.ggmmzy.com:9999/inc/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "fhapi9.com",
|
||||||
|
"name": "成人14",
|
||||||
|
"type": 1,
|
||||||
|
"api": "http://fhapi9.com/api.php/provide/vod/",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "feifei67.com",
|
||||||
|
"name": "成人15",
|
||||||
|
"type": 1,
|
||||||
|
"api": "http://www.feifei67.com/api.php/provide/vod/",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "sdszyapi.com",
|
||||||
|
"name": "成人16",
|
||||||
|
"type": 0,
|
||||||
|
"api": "http://sdszyapi.com/home/cjapi/asbb/mc10/vod/xml",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "madouse.la",
|
"key": "madouse.la",
|
||||||
"name": "成人21",
|
"name": "成人17",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"api": "http://madouse.la/api.php/provide/vod/",
|
"api": "http://madouse.la/api.php/provide/vod/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"key": "xjjzyapi.com",
|
||||||
|
"name": "成人18",
|
||||||
|
"type": 0,
|
||||||
|
"api": "http://xjjzyapi.com/home/cjapi/askl/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"key": "shabizy.com",
|
"key": "shabizy.com",
|
||||||
"name": "成人22",
|
"name": "成人19",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://www.shabizy.com:777/inc/sea",
|
"api": "http://www.shabizy.com:777/inc/sea",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "caiji21.com",
|
"key": "caiji21.com",
|
||||||
"name": "成人23",
|
"name": "成人20",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://www.caiji21.com/home/cjapi/klkl/mc10/vod/xml",
|
"api": "http://www.caiji21.com/home/cjapi/klkl/mc10/vod/xml",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "caiji26.com",
|
|
||||||
"name": "成人24",
|
|
||||||
"type": 0,
|
|
||||||
"api": "http://caiji26.com/home/cjapi/p0g8/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "caiji25.com",
|
"key": "caiji25.com",
|
||||||
"name": "成人25",
|
"name": "成人21",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://www.caiji25.com/home/cjapi/p0as/mc10/vod/xml",
|
"api": "http://www.caiji25.com/home/cjapi/p0as/mc10/vod/xml",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"key": "caiji26.com",
|
||||||
|
"name": "成人22",
|
||||||
|
"type": 0,
|
||||||
|
"api": "http://caiji26.com/home/cjapi/p0g8/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"key": "caiji24.com",
|
"key": "caiji24.com",
|
||||||
"name": "成人26",
|
"name": "成人23",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "http://www.caiji24.com/home/cjapi/p0d2/mc10/vod/xml",
|
"api": "http://www.caiji24.com/home/cjapi/p0d2/mc10/vod/xml",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"key": "lbapiby.com",
|
||||||
|
"name": "成人24",
|
||||||
|
"type": 0,
|
||||||
|
"api": "http://lbapiby.com/api.php/provide/vod/at/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"key": "api.maozyapi.com",
|
"key": "api.maozyapi.com",
|
||||||
"name": "成人27",
|
"name": "成人25",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"api": "https://api.maozyapi.com/inc/apijson_vod.php",
|
"api": "https://api.maozyapi.com/inc/apijson_vod.php",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "888dav.com",
|
"key": "888dav.com",
|
||||||
"name": "成人28",
|
"name": "成人26",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"api": "https://www.888dav.com/api.php/provide/vod/",
|
"api": "https://www.888dav.com/api.php/provide/vod/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "mgzyz1.com",
|
|
||||||
"name": "成人29",
|
|
||||||
"type": 1,
|
|
||||||
"api": "https://mgzyz1.com/api.php/provide/vod/",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "xrbsp.com",
|
|
||||||
"name": "成人30",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.xrbsp.com/api/xml.php",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "msnii.com",
|
|
||||||
"name": "成人31",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.msnii.com/api/xml.php",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "mgav1.cc",
|
"key": "mgav1.cc",
|
||||||
"name": "成人32",
|
"name": "成人27",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "https://www.mgav1.cc/api.php/provide/vod/at/xml",
|
"api": "https://www.mgav1.cc/api.php/provide/vod/at/xml",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "afasu.com",
|
"key": "mgzyz1.com",
|
||||||
"name": "成人33",
|
"name": "成人28",
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.afasu.com/api/xml.php",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "caiji.huakuiapi.com",
|
|
||||||
"name": "成人34",
|
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"api": "https://caiji.huakuiapi.com/inc/apijson_vod.php",
|
"api": "https://mgzyz1.com/api.php/provide/vod/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "gdlsp.com",
|
"key": "msnii.com",
|
||||||
"name": "成人35",
|
"name": "成人29",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "https://www.gdlsp.com/api/xml.php",
|
"api": "https://www.msnii.com/api/xml.php",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "kkzy.me",
|
"key": "kkzy.me",
|
||||||
"name": "成人36",
|
"name": "成人30",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"api": "https://kkzy.me/api.php/provide/vod/",
|
"api": "https://kkzy.me/api.php/provide/vod/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "52zyapi.com",
|
"key": "caiji.huakuiapi.com",
|
||||||
"name": "成人37",
|
"name": "成人31",
|
||||||
|
"type": 1,
|
||||||
|
"api": "https://caiji.huakuiapi.com/inc/apijson_vod.php",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "siwazyw.cc",
|
||||||
|
"name": "成人32",
|
||||||
|
"type": 1,
|
||||||
|
"api": "https://siwazyw.cc/api.php/provide/vod/",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "pgxdy.com",
|
||||||
|
"name": "成人33",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "https://52zyapi.com/home/cjapi/asda/mc10/vod/xml",
|
"api": "https://www.pgxdy.com/api/xml.php",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "api.sexnguon.com",
|
||||||
|
"name": "成人34",
|
||||||
|
"type": 1,
|
||||||
|
"api": "https://api.sexnguon.com/api.php/provide/vod/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "dmmapi.com",
|
"key": "dmmapi.com",
|
||||||
"name": "成人38",
|
"name": "成人35",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "https://www.dmmapi.com/home/cjapi/asd2c7/mc10/vod/xml",
|
"api": "https://www.dmmapi.com/home/cjapi/asd2c7/mc10/vod/xml",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "apittzy.com",
|
"key": "xx55zyapi.com",
|
||||||
"name": "成人39",
|
"name": "成人36",
|
||||||
"type": 1,
|
"type": 0,
|
||||||
"api": "https://apittzy.com/api.php/provide/vod/",
|
"api": "https://xx55zyapi.com/home/cjapi/ascf/mc10/vod/xml",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "kxgav.com",
|
"key": "kxgav.com",
|
||||||
"name": "成人40",
|
"name": "成人37",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "https://www.kxgav.com/api/xml.php",
|
"api": "https://www.kxgav.com/api/xml.php",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"key": "caiji02.com",
|
||||||
|
"name": "成人38",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.caiji02.com/home/cjapi/cfas/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "xrbsp.com",
|
||||||
|
"name": "成人39",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.xrbsp.com/api/xml.php",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "caiji07.com",
|
||||||
|
"name": "成人40",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.caiji07.com/home/cjapi/cfcf/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"key": "lbapi9.com",
|
"key": "lbapi9.com",
|
||||||
"name": "成人41",
|
"name": "成人41",
|
||||||
|
|
@ -355,142 +355,149 @@
|
||||||
"api": "https://lbapi9.com/api.php/provide/vod/",
|
"api": "https://lbapi9.com/api.php/provide/vod/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "siwazyw.cc",
|
|
||||||
"name": "成人42",
|
|
||||||
"type": 1,
|
|
||||||
"api": "https://siwazyw.cc/api.php/provide/vod/",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "caiji07.com",
|
|
||||||
"name": "成人43",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.caiji07.com/home/cjapi/cfcf/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "xx55zyapi.com",
|
|
||||||
"name": "成人44",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://xx55zyapi.com/home/cjapi/ascf/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "caiji23.com",
|
|
||||||
"name": "成人45",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.caiji23.com/home/cjapi/kls6/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "caiji22.com",
|
|
||||||
"name": "成人46",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.caiji22.com/home/cjapi/klp0/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "sewozyapi.com",
|
|
||||||
"name": "成人47",
|
|
||||||
"type": 1,
|
|
||||||
"api": "https://sewozyapi.com/api.php/provide/vod/",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "api.xiuseapi.com",
|
|
||||||
"name": "成人48",
|
|
||||||
"type": 1,
|
|
||||||
"api": "https://api.xiuseapi.com/api.php/provide/vod/",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "caiji03.com",
|
"key": "caiji03.com",
|
||||||
"name": "成人49",
|
"name": "成人42",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "https://www.caiji03.com/home/cjapi/cfg8/mc10/vod/xml",
|
"api": "https://www.caiji03.com/home/cjapi/cfg8/mc10/vod/xml",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "jgczyapi.com",
|
|
||||||
"name": "成人50",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://jgczyapi.com/home/cjapi/kld2/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "caiji08.com",
|
"key": "caiji08.com",
|
||||||
"name": "成人51",
|
"name": "成人43",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"api": "https://www.caiji08.com/home/cjapi/cfkl/mc10/vod/xml",
|
"api": "https://www.caiji08.com/home/cjapi/cfkl/mc10/vod/xml",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "caiji.caomeiapi.com",
|
"key": "caiji10.com",
|
||||||
|
"name": "成人44",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.caiji10.com/home/cjapi/cfs6/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "52zyapi.com",
|
||||||
|
"name": "成人45",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://52zyapi.com/home/cjapi/asda/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "apittzy.com",
|
||||||
|
"name": "成人46",
|
||||||
|
"type": 1,
|
||||||
|
"api": "https://apittzy.com/api.php/provide/vod/",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "api.xiuseapi.com",
|
||||||
|
"name": "成人47",
|
||||||
|
"type": 1,
|
||||||
|
"api": "https://api.xiuseapi.com/api.php/provide/vod/",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "caiji01.com",
|
||||||
|
"name": "成人48",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.caiji01.com/home/cjapi/cfd2/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "caiji22.com",
|
||||||
|
"name": "成人49",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.caiji22.com/home/cjapi/klp0/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "caiji23.com",
|
||||||
|
"name": "成人50",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.caiji23.com/home/cjapi/kls6/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "afasu.com",
|
||||||
|
"name": "成人51",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.afasu.com/api/xml.php",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "hghhh.com",
|
||||||
"name": "成人52",
|
"name": "成人52",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
"api": "https://hghhh.com/api.php/provide/vod/",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "sewozyapi.com",
|
||||||
|
"name": "成人53",
|
||||||
|
"type": 1,
|
||||||
|
"api": "https://sewozyapi.com/api.php/provide/vod/",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "gdlsp.com",
|
||||||
|
"name": "成人54",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.gdlsp.com/api/xml.php",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "caiji04.com",
|
||||||
|
"name": "成人55",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.caiji04.com/home/cjapi/cfc7/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "caiji09.com",
|
||||||
|
"name": "成人56",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.caiji09.com/home/cjapi/cfp0/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "caiji05.com",
|
||||||
|
"name": "成人57",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://www.caiji05.com/home/cjapi/cfda/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "jgczyapi.com",
|
||||||
|
"name": "成人58",
|
||||||
|
"type": 0,
|
||||||
|
"api": "https://jgczyapi.com/home/cjapi/kld2/mc10/vod/xml",
|
||||||
|
"searchable": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "caiji.caomeiapi.com",
|
||||||
|
"name": "成人59",
|
||||||
|
"type": 1,
|
||||||
"api": "https://caiji.caomeiapi.com/inc/apijson_vod.php",
|
"api": "https://caiji.caomeiapi.com/inc/apijson_vod.php",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "caiji.523zyw.com",
|
"key": "caiji.523zyw.com",
|
||||||
"name": "成人53",
|
"name": "成人60",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"api": "https://caiji.523zyw.com/inc/apijson_vod.php",
|
"api": "https://caiji.523zyw.com/inc/apijson_vod.php",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "caiji.naichaapi.com",
|
"key": "caiji.naichaapi.com",
|
||||||
"name": "成人54",
|
"name": "成人61",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"api": "https://caiji.naichaapi.com/inc/apijson_vod.php",
|
"api": "https://caiji.naichaapi.com/inc/apijson_vod.php",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "caiji09.com",
|
|
||||||
"name": "成人55",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.caiji09.com/home/cjapi/cfp0/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "caiji01.com",
|
|
||||||
"name": "成人56",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.caiji01.com/home/cjapi/cfd2/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "caiji02.com",
|
|
||||||
"name": "成人57",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.caiji02.com/home/cjapi/cfas/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "caiji05.com",
|
|
||||||
"name": "成人58",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.caiji05.com/home/cjapi/cfda/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "caiji10.com",
|
|
||||||
"name": "成人59",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.caiji10.com/home/cjapi/cfs6/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "caiji04.com",
|
|
||||||
"name": "成人60",
|
|
||||||
"type": 0,
|
|
||||||
"api": "https://www.caiji04.com/home/cjapi/cfc7/mc10/vod/xml",
|
|
||||||
"searchable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "api.apilyzy.com",
|
"key": "api.apilyzy.com",
|
||||||
"name": "成人61",
|
"name": "成人62",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"api": "https://api.apilyzy.com/api.php/provide/vod/",
|
"api": "https://api.apilyzy.com/api.php/provide/vod/",
|
||||||
"searchable": 1
|
"searchable": 1
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,17 @@
|
||||||
{
|
{
|
||||||
"name": "梓澪",
|
"name": "梓澪",
|
||||||
"server": "https://zi0.cc"
|
"server": "https://zi0.cc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "範本",
|
||||||
|
"server": "https://one.fongmi.com",
|
||||||
|
"login": {
|
||||||
|
"username": "fongmi",
|
||||||
|
"password": "fongmi"
|
||||||
|
},
|
||||||
|
"params": {
|
||||||
|
"/18/安齋拉拉": "1234"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;630997f2d36dde4644f99300f559ff68",
|
"spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;d81491287f85debfc69e10a2ec775b4d",
|
||||||
"wallpaper": "http://饭太硬.ga/深色壁纸/api.php",
|
"wallpaper": "http://饭太硬.ga/深色壁纸/api.php",
|
||||||
"sites": [
|
"sites": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue