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] 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