diff --git a/app/src/main/java/com/github/catvod/api/QuarkApi.java b/app/src/main/java/com/github/catvod/api/QuarkApi.java index 89b7b7c1..7394bcfa 100644 --- a/app/src/main/java/com/github/catvod/api/QuarkApi.java +++ b/app/src/main/java/com/github/catvod/api/QuarkApi.java @@ -56,6 +56,10 @@ public class QuarkApi { return QuarkApi.Loader.INSTANCE; } + public void setRefreshToken(String token) { + this.cookie = token; + } + public void initQuark(String cookie) throws Exception { this.ckey = Util.MD5(cookie); @@ -193,6 +197,7 @@ public class QuarkApi { String cook = result.getResp().get("my-set-cookie").get(0); cache.setUser(User.objectFrom(cook)); if (cache.getUser().getCookie().isEmpty()) throw new Exception(cook); + initQuark(cook); return true; } return false; diff --git a/app/src/main/java/com/github/catvod/bean/quark/Cache.java b/app/src/main/java/com/github/catvod/bean/quark/Cache.java new file mode 100644 index 00000000..0af2ab03 --- /dev/null +++ b/app/src/main/java/com/github/catvod/bean/quark/Cache.java @@ -0,0 +1,38 @@ +package com.github.catvod.bean.quark; + +import com.github.catvod.api.QuarkApi; +import com.github.catvod.spider.Init; +import com.github.catvod.utils.Path; +import com.google.gson.Gson; +import com.google.gson.annotations.SerializedName; + +public class Cache { + + @SerializedName("user") + private User user; + + + public static Cache objectFrom(String str) { + Cache item = new Gson().fromJson(str, Cache.class); + return item == null ? new Cache() : item; + } + + public User getUser() { + return user == null ? new User("") : user; + } + + public void setUser(User user) { + this.user = user; + this.save(); + } + + + public void save() { + Init.execute(() -> Path.write(QuarkApi.get().getCache(), toString())); + } + + @Override + public String toString() { + return new Gson().toJson(this); + } +} diff --git a/app/src/main/java/com/github/catvod/bean/quark/User.java b/app/src/main/java/com/github/catvod/bean/quark/User.java new file mode 100644 index 00000000..8d8baf27 --- /dev/null +++ b/app/src/main/java/com/github/catvod/bean/quark/User.java @@ -0,0 +1,30 @@ +package com.github.catvod.bean.quark; + +import com.google.gson.annotations.SerializedName; + +public class User { + public User(String cookie) { + this.cookie = cookie; + } + + @SerializedName("cookie") + private String cookie; + + public String getCookie() { + return cookie; + } + + public void setCookie(String cookie) { + this.cookie = cookie; + } + + public static User objectFrom(String cookie) { + return new User(cookie); + } + + + public void clean() { + this.cookie = ""; + + } +} diff --git a/app/src/main/java/com/github/catvod/spider/Quark.java b/app/src/main/java/com/github/catvod/spider/Quark.java index 289e13a3..ba444942 100644 --- a/app/src/main/java/com/github/catvod/spider/Quark.java +++ b/app/src/main/java/com/github/catvod/spider/Quark.java @@ -10,7 +10,6 @@ import com.github.catvod.crawler.Spider; import java.util.ArrayList; import java.util.List; import java.util.Locale; -import java.util.regex.Matcher; /** * @author ColaMint & Adam & FongMi @@ -21,7 +20,7 @@ public class Quark extends Spider { @Override public void init(Context context, String extend) throws Exception { - QuarkApi.get().initQuark(extend); + QuarkApi.get().setRefreshToken(extend); } @Override @@ -34,7 +33,7 @@ public class Quark extends Spider { @Override public String playerContent(String flag, String id, List vipFlags) throws Exception { - return QuarkApi.get().playerContent(id.split("\\+\\+"), flag); + return QuarkApi.get().playerContent(id.split("\\+\\+"), flag); } diff --git a/app/src/test/java/WoggTest.java b/app/src/test/java/WoggTest.java index 21569c3e..9e8a2959 100644 --- a/app/src/test/java/WoggTest.java +++ b/app/src/test/java/WoggTest.java @@ -32,7 +32,8 @@ public class WoggTest { Init.init(mockContext); spider = new Wogg(); Server.get().start(); - spider.init(mockContext, "{\"cookie\":\"b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; _UP_A4A_11_=wb9661c6dfb642f88f73d8e0c7edd398; b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; ctoken=wla6p3EUOLyn1FSB8IKp1SEW; grey-id=5583e32b-39df-4bf0-f39f-1adf83f604a2; grey-id.sig=p8ReBIMG2BeZu1sYvsuOAZxYbx-MVrsfKEiCv87MsTM; isQuark=true; isQuark.sig=hUgqObykqFom5Y09bll94T1sS9abT1X-4Df_lzgl8nM; _UP_F7E_8D_=ZkyvVHnrBLp1A1NFJIjWi0PwKLOVbxJPcg0RzQPI6KmBtV6ZMgPh38l93pgubgHDQqhaZ2Sfc0qv%2BRantbfg1mWGAUpRMP4RqXP78Wvu%2FCfvkWWGc5NhCTV71tGOIGgDBR3%2Bu6%2Fjj44KlE5biSNDOWW7Bigcz27lvOTidzNw8s%2FWtKAIxWbnCzZn4%2FJMBUub1SIMcW89g57k4mfPmDlCgpZKzxwl6beSfdtZ4RUWXmZOn5v5NkxVKhU4wR0Pq7NklczEGdRq2nIAcu7v22Uw2o%2FxMY0xBdeC9Korm5%2FNHnxl6K%2Bd6FXSoT9a3XIMQO359auZPiZWzrNlZe%2BqnOahXcx7KAhQIRqSOapSmL4ygJor4r5isJhRuDoXy7vJAVuH%2FRDtEJJ8rZTq0BdC23Bz%2B0MrsdgbK%2BiW; _UP_D_=pc; __wpkreporterwid_=3d3f74a7-99b7-4916-3f78-911fc2eb9d87; tfstk=fIoZNxjnbhKwPOu0TWZ4LsaRqirTcudSSmNbnxD0C5VgClMm8xMyB-GsnSu4tjpOflAOmSD-9PNiGl120XrgkVNb1SrqHbJBN3tSBAEYoQOWVUUg9qZ8n1bGGkD3CqGYINKSBABhjnXgp3_Vywz6gSc0Syj3BWf0mr2DLW24eZfiiovEKWefj1q0swq3E82iNEMinMy7SLrcpA4Fh3z_ZAViCfih3PbtdW5N_DuU77AaTijmYRkL2Wq54ENoy5a7ZXxCbok33XzS7QSZgxD-oyoVsdGotql0p2dVu7umC4nLStbiLmParc4FELHrI-c0u2dPVRrs8zoZWKCnIbNZrlHfUCMUz2z8KyXVSlgSFmUojh58OzeqTzgwaGll4YCYKwctDV5coP2LL79eKHxpNTXHmre1kZU32JPWCR_AkP2LL79eLZQY-WeUNdw1.; __pus=2051c82285199d8be553be41dd5a2100AAQ+mmv35G4FDDZ5x+3Mhe2OMbNgweQ1ODbW8zDt9YuP1LQVqHUuAAz9KWLsPjpNtim0AVGHusN4MCosTmbq/khM; __kp=e6604120-6051-11ef-bfe4-c31b6cdd0766; __kps=AATcZArVgS76EPn0FMaV4HEj; __ktd=sii/iz4ePzEaoVirXul7QQ==; __uid=AATcZArVgS76EPn0FMaV4HEj; __itrace_wid=5829b95d-dac1-48d3-bfd5-f60cd9462786; __puus=7da0b96cb710fa1b376934485f977e05AATp/q8/QupT7IiBR1GWqZhxlIRT677smMvoHlLxQA0Lk6CkP0YJBOTl+p9DZgzlMz6w4hPXPgWsokukk8PW7ZfhFfPmv8tKMgLpCGLW+tk57luhNghmSdTeVPkAF59STtyCPBEtiNzNAd/zZJ6qILJDi5ywEBAAAg+gOyWHoLHNUR+QxeHRuQa8g5WWA95J8jebIlrr8rCvI1vjTbtiYktT\",\"token\":\"26fc6787afff43e78b78992e782502f1\"}"); + // spider.init(mockContext, "{\"cookie\":\"b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; _UP_A4A_11_=wb9661c6dfb642f88f73d8e0c7edd398; b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; ctoken=wla6p3EUOLyn1FSB8IKp1SEW; grey-id=5583e32b-39df-4bf0-f39f-1adf83f604a2; grey-id.sig=p8ReBIMG2BeZu1sYvsuOAZxYbx-MVrsfKEiCv87MsTM; isQuark=true; isQuark.sig=hUgqObykqFom5Y09bll94T1sS9abT1X-4Df_lzgl8nM; _UP_F7E_8D_=ZkyvVHnrBLp1A1NFJIjWi0PwKLOVbxJPcg0RzQPI6KmBtV6ZMgPh38l93pgubgHDQqhaZ2Sfc0qv%2BRantbfg1mWGAUpRMP4RqXP78Wvu%2FCfvkWWGc5NhCTV71tGOIGgDBR3%2Bu6%2Fjj44KlE5biSNDOWW7Bigcz27lvOTidzNw8s%2FWtKAIxWbnCzZn4%2FJMBUub1SIMcW89g57k4mfPmDlCgpZKzxwl6beSfdtZ4RUWXmZOn5v5NkxVKhU4wR0Pq7NklczEGdRq2nIAcu7v22Uw2o%2FxMY0xBdeC9Korm5%2FNHnxl6K%2Bd6FXSoT9a3XIMQO359auZPiZWzrNlZe%2BqnOahXcx7KAhQIRqSOapSmL4ygJor4r5isJhRuDoXy7vJAVuH%2FRDtEJJ8rZTq0BdC23Bz%2B0MrsdgbK%2BiW; _UP_D_=pc; __wpkreporterwid_=3d3f74a7-99b7-4916-3f78-911fc2eb9d87; tfstk=fIoZNxjnbhKwPOu0TWZ4LsaRqirTcudSSmNbnxD0C5VgClMm8xMyB-GsnSu4tjpOflAOmSD-9PNiGl120XrgkVNb1SrqHbJBN3tSBAEYoQOWVUUg9qZ8n1bGGkD3CqGYINKSBABhjnXgp3_Vywz6gSc0Syj3BWf0mr2DLW24eZfiiovEKWefj1q0swq3E82iNEMinMy7SLrcpA4Fh3z_ZAViCfih3PbtdW5N_DuU77AaTijmYRkL2Wq54ENoy5a7ZXxCbok33XzS7QSZgxD-oyoVsdGotql0p2dVu7umC4nLStbiLmParc4FELHrI-c0u2dPVRrs8zoZWKCnIbNZrlHfUCMUz2z8KyXVSlgSFmUojh58OzeqTzgwaGll4YCYKwctDV5coP2LL79eKHxpNTXHmre1kZU32JPWCR_AkP2LL79eLZQY-WeUNdw1.; __pus=2051c82285199d8be553be41dd5a2100AAQ+mmv35G4FDDZ5x+3Mhe2OMbNgweQ1ODbW8zDt9YuP1LQVqHUuAAz9KWLsPjpNtim0AVGHusN4MCosTmbq/khM; __kp=e6604120-6051-11ef-bfe4-c31b6cdd0766; __kps=AATcZArVgS76EPn0FMaV4HEj; __ktd=sii/iz4ePzEaoVirXul7QQ==; __uid=AATcZArVgS76EPn0FMaV4HEj; __itrace_wid=5829b95d-dac1-48d3-bfd5-f60cd9462786; __puus=7da0b96cb710fa1b376934485f977e05AATp/q8/QupT7IiBR1GWqZhxlIRT677smMvoHlLxQA0Lk6CkP0YJBOTl+p9DZgzlMz6w4hPXPgWsokukk8PW7ZfhFfPmv8tKMgLpCGLW+tk57luhNghmSdTeVPkAF59STtyCPBEtiNzNAd/zZJ6qILJDi5ywEBAAAg+gOyWHoLHNUR+QxeHRuQa8g5WWA95J8jebIlrr8rCvI1vjTbtiYktT\",\"token\":\"26fc6787afff43e78b78992e782502f1\"}"); + spider.init(mockContext, ""); } @org.junit.Test diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index e9d1cbd7..1ad930bc 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index 92f92326..1ffe5d76 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -cd61553f41a9d2a2c24e47de63181e1b +93b340b932b9bb78d1adfb16fe254198 diff --git a/json/index.json b/json/index.json index f46940ff..7f8d3b5e 100644 --- a/json/index.json +++ b/json/index.json @@ -1,5 +1,5 @@ { - "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;cd61553f41a9d2a2c24e47de63181e1b", + "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;93b340b932b9bb78d1adfb16fe254198", "lives": [ { "name": "直播ipv6", diff --git a/json/index1.json b/json/index1.json index a636a071..7b01c6c8 100644 --- a/json/index1.json +++ b/json/index1.json @@ -1,5 +1,5 @@ { - "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;cd61553f41a9d2a2c24e47de63181e1b", + "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;93b340b932b9bb78d1adfb16fe254198", "lives": [ { "name": "直播ipv6", diff --git a/json/index2.json b/json/index2.json index e7cb6064..db9176fc 100644 --- a/json/index2.json +++ b/json/index2.json @@ -1,5 +1,5 @@ { - "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;cd61553f41a9d2a2c24e47de63181e1b", + "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;93b340b932b9bb78d1adfb16fe254198", "lives": [ { "name": "直播ipv6",