From d58a8c1d06b14221d795808123d7bc3b8342c892 Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sun, 24 Jan 2021 00:43:46 +0100 Subject: [PATCH 1/4] Fix Streamate URLs for the thumbnail pages --- .../streamate/StreamateFollowedService.java | 3 ++- .../sites/streamate/StreamateTabProvider.java | 22 ++++++++++--------- .../streamate/StreamateUpdateService.java | 14 ++++++++++-- .../ctbrec/sites/streamate/Streamate.java | 2 +- 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateFollowedService.java b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateFollowedService.java index df748903..373cd3da 100644 --- a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateFollowedService.java +++ b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateFollowedService.java @@ -2,6 +2,7 @@ package ctbrec.ui.sites.streamate; import static ctbrec.Model.State.*; import static ctbrec.io.HttpConstants.*; +import static ctbrec.sites.streamate.Streamate.*; import java.io.IOException; import java.util.ArrayList; @@ -42,7 +43,7 @@ public class StreamateFollowedService extends PaginatedScheduledService { public StreamateFollowedService(Streamate streamate) { this.streamate = streamate; this.httpClient = (StreamateHttpClient) streamate.getHttpClient(); - this.url = "https://member.naiadsystems.com/search/v3/favorites?domain=streamate.com&filters="; + this.url = NAIAD_URL + "/favorites?domain=streamate.com&filters="; } @Override diff --git a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateTabProvider.java b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateTabProvider.java index 067eab20..5642d987 100644 --- a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateTabProvider.java +++ b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateTabProvider.java @@ -15,7 +15,7 @@ import javafx.scene.Scene; import javafx.scene.control.Tab; public class StreamateTabProvider extends TabProvider { - private static final transient Logger LOG = LoggerFactory.getLogger(StreamateTabProvider.class); + private static final Logger LOG = LoggerFactory.getLogger(StreamateTabProvider.class); private Streamate streamate; private Recorder recorder; private ThumbOverviewTab followedTab; @@ -29,15 +29,17 @@ public class StreamateTabProvider extends TabProvider { public List getTabs(Scene scene) { List tabs = new ArrayList<>(); try { - tabs.add(createTab("Girls", Streamate.BASE_URL + "/api/search/list?domain=streamate.com&index=availperf&filters=gender:f")); - tabs.add(createTab("Guys", Streamate.BASE_URL + "/api/search/list?domain=streamate.com&index=availperf&filters=gender:m")); - tabs.add(createTab("Couples", Streamate.BASE_URL + "/api/search/list?domain=streamate.com&index=availperf&filters=gender:mf")); - tabs.add(createTab("Lesbian", Streamate.BASE_URL + "/api/search/list?domain=streamate.com&index=availperf&filters=gender:ff")); - tabs.add(createTab("Gay", Streamate.BASE_URL + "/api/search/list?domain=streamate.com&index=availperf&filters=gender:mm")); - tabs.add(createTab("Groups", Streamate.BASE_URL + "/api/search/list?domain=streamate.com&index=availperf&filters=gender:g")); - tabs.add(createTab("Trans female", Streamate.BASE_URL + "/api/search/list?domain=streamate.com&index=availperf&filters=gender:tm2f")); - tabs.add(createTab("Trans male", Streamate.BASE_URL + "/api/search/list?domain=streamate.com&index=availperf&filters=gender:tf2m")); - tabs.add(createTab("New", Streamate.BASE_URL + "/api/search/list?domain=streamate.com&index=availperf&filters=new:true")); + // performers?domain=streamate.com&from=0&size=48&useProductScore=false&filters=gender:f,ff,mf,tm2f,g;online:true&boostedFilters=&excludedFilters=&country=DE&language=de&genderSetting=f + //https://member.naiadsystems.com/search/v3/performers?domain=streamate.com&filters=gender:f;online:true&from=0&size=48 + tabs.add(createTab("Girls", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:f;online:true")); + tabs.add(createTab("Guys", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:m;online:true")); + tabs.add(createTab("Couples", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:mf;online:true")); + tabs.add(createTab("Lesbian", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:ff;online:true")); + tabs.add(createTab("Gay", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:mm;online:true")); + tabs.add(createTab("Groups", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:g;online:true")); + tabs.add(createTab("Trans female", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:tm2f;online:true")); + tabs.add(createTab("Trans male", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:tf2m;online:true")); + tabs.add(createTab("New", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=new:true;online:true")); followedTab = new StreamateFollowedTab(streamate); followedTab.setRecorder(recorder); diff --git a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateUpdateService.java b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateUpdateService.java index a38512ef..2700cf1a 100644 --- a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateUpdateService.java +++ b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateUpdateService.java @@ -1,10 +1,12 @@ package ctbrec.ui.sites.streamate; import static ctbrec.Model.State.*; +import static ctbrec.io.HttpConstants.*; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.UUID; import javax.xml.parsers.ParserConfigurationException; import javax.xml.xpath.XPathExpressionException; @@ -46,9 +48,18 @@ public class StreamateUpdateService extends PaginatedScheduledService { @Override public List call() throws IOException, SAXException, ParserConfigurationException, XPathExpressionException { int from = (page - 1) * MODELS_PER_PAGE; + String saKey = httpClient.getSaKey(); String pageUrl = url + "&from=" + from + "&size=" + MODELS_PER_PAGE; LOG.debug("Fetching page {}", pageUrl); - Request request = httpClient.newRequestBuilder().url(pageUrl).build(); + Request request = httpClient.newRequestBuilder() + .url(pageUrl) + .header(ORIGIN, streamate.getBaseUrl()) + .header("sakey", saKey) + .header("platform", "SCP") + .header("smtid", UUID.randomUUID().toString() + "G0211569057409") + .header("smeid", UUID.randomUUID().toString() + "G0211569057409") + .header("smvid", UUID.randomUUID().toString() + "G0211569057409") + .build(); try (Response response = httpClient.execute(request)) { if (response.isSuccessful()) { List models = new ArrayList<>(); @@ -60,7 +71,6 @@ public class StreamateUpdateService extends PaginatedScheduledService { String nickname = p.getString("nickname"); StreamateModel model = (StreamateModel) streamate.createModel(nickname); model.setId(p.getLong("id")); - //model.setPreview(p.getString("thumbnail")); model.setPreview("https://cdn.nsimg.net/snap/320x240/" + model.getId() + ".jpg"); model.setDescription(p.optString("headlineMessage")); boolean online = p.optBoolean("online"); diff --git a/common/src/main/java/ctbrec/sites/streamate/Streamate.java b/common/src/main/java/ctbrec/sites/streamate/Streamate.java index 8f845622..fe4b8887 100644 --- a/common/src/main/java/ctbrec/sites/streamate/Streamate.java +++ b/common/src/main/java/ctbrec/sites/streamate/Streamate.java @@ -27,6 +27,7 @@ public class Streamate extends AbstractSite { private static final Logger LOG = LoggerFactory.getLogger(Streamate.class); public static final String BASE_URL = "https://www.streamate.com"; + public static final String NAIAD_URL = "https://member.naiadsystems.com/search/v3"; private StreamateHttpClient httpClient; @@ -43,7 +44,6 @@ public class Streamate extends AbstractSite { @Override public String getAffiliateLink() { return BASE_URL + "/landing/click/?AFNO=2-11329.1"; - // return BASE_URL + "/landing/click/?AFNO=2-11330.2"; } @Override From 51c1a82f1d1b486aa7f9c3a8ca7d2a7e5eb4d5ac Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sun, 24 Jan 2021 01:06:53 +0100 Subject: [PATCH 2/4] Fix Streamate search URL --- .../java/ctbrec/sites/streamate/Streamate.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/ctbrec/sites/streamate/Streamate.java b/common/src/main/java/ctbrec/sites/streamate/Streamate.java index fe4b8887..a6f3629a 100644 --- a/common/src/main/java/ctbrec/sites/streamate/Streamate.java +++ b/common/src/main/java/ctbrec/sites/streamate/Streamate.java @@ -1,10 +1,13 @@ package ctbrec.sites.streamate; +import static ctbrec.io.HttpConstants.*; + import java.io.IOException; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -141,8 +144,18 @@ public class Streamate extends AbstractSite { @Override public List search(String q) throws IOException, InterruptedException { - String url = BASE_URL + "/api/search/autocomplete?exact=false&skin_search_kids=0&results_per_page=10&query=" + URLEncoder.encode(q, "utf-8"); - Request req = httpClient.newRequestBuilder().url(url).build(); + String url = NAIAD_URL + "/autocomplete?filters=gender:&performerCount=10&domain=streamate.com&tagCount=5&query=" + URLEncoder.encode(q, "utf-8"); + LOG.debug("Search: {}", url); + String saKey = httpClient.getSaKey(); + Request req = httpClient.newRequestBuilder() + .url(url) + .header(ORIGIN, getBaseUrl()) + .header("sakey", saKey) + .header("platform", "SCP") + .header("smtid", UUID.randomUUID().toString() + "G0211569057409") + .header("smeid", UUID.randomUUID().toString() + "G0211569057409") + .header("smvid", UUID.randomUUID().toString() + "G0211569057409") + .build(); try (Response response = getHttpClient().execute(req)) { if (response.isSuccessful()) { String body = response.body().string(); From d3c5342791ae5653a3f4bf70c772fea95ddd70b4 Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sun, 24 Jan 2021 12:12:38 +0100 Subject: [PATCH 3/4] Fix MVLive recordings --- common/src/main/java/ctbrec/sites/manyvids/MVLive.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/ctbrec/sites/manyvids/MVLive.java b/common/src/main/java/ctbrec/sites/manyvids/MVLive.java index e3cfea35..76aa2ac5 100644 --- a/common/src/main/java/ctbrec/sites/manyvids/MVLive.java +++ b/common/src/main/java/ctbrec/sites/manyvids/MVLive.java @@ -34,7 +34,7 @@ public class MVLive extends AbstractSite { private static final Logger LOG = LoggerFactory.getLogger(MVLive.class); - public static final String APP_HOST = "app-v1.live.manyvids.com"; + public static final String APP_HOST = "app-v2.live.manyvids.com"; public static final String WS_URL = "wss://" + APP_HOST; public static final String WS_ORIGIN = "https://live.manyvids.com"; public static final String BASE_URL = "https://www.manyvids.com/MVLive/"; From fcffb7892a2e789fb79428217e4e73de871714ce Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sun, 24 Jan 2021 12:15:18 +0100 Subject: [PATCH 4/4] Set version to version 3.13.1 --- CHANGELOG.md | 5 +++++ client/pom.xml | 2 +- common/pom.xml | 2 +- master/pom.xml | 2 +- server/pom.xml | 2 +- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d42c1336..3059d84a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +3.13.1 +======================== +* Fixed Streamate tabs +* Fixed MVLive recordings + 3.13.0 ======================== * Added "Recently watched" tab. Can be disabled in Settings -> General diff --git a/client/pom.xml b/client/pom.xml index 938984e5..d327a574 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -8,7 +8,7 @@ ctbrec master - 3.13.0 + 3.13.1 ../master diff --git a/common/pom.xml b/common/pom.xml index 212955f3..83c00134 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -8,7 +8,7 @@ ctbrec master - 3.13.0 + 3.13.1 ../master diff --git a/master/pom.xml b/master/pom.xml index 3314fdaf..688c10db 100644 --- a/master/pom.xml +++ b/master/pom.xml @@ -6,7 +6,7 @@ ctbrec master pom - 3.13.0 + 3.13.1 ../common diff --git a/server/pom.xml b/server/pom.xml index 73e5a08c..27300aa1 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -8,7 +8,7 @@ ctbrec master - 3.13.0 + 3.13.1 ../master