forked from j62/ctbrec
1
0
Fork 0

Add base URL setting for Bongacams

This commit is contained in:
0xboobface 2019-03-05 17:01:42 +01:00
parent 71599c7156
commit 1dd432dbd9
7 changed files with 57 additions and 28 deletions

View File

@ -46,6 +46,7 @@ public class BongaCamsConfigUI extends AbstractConfigUI {
layout.add(new Label("BongaCams User"), 0, row); layout.add(new Label("BongaCams User"), 0, row);
TextField username = new TextField(settings.bongaUsername); TextField username = new TextField(settings.bongaUsername);
username.setPrefWidth(300);
username.textProperty().addListener((ob, o, n) -> { username.textProperty().addListener((ob, o, n) -> {
if(!n.equals(Config.getInstance().getSettings().bongaUsername)) { if(!n.equals(Config.getInstance().getSettings().bongaUsername)) {
Config.getInstance().getSettings().bongaUsername = username.getText(); Config.getInstance().getSettings().bongaUsername = username.getText();
@ -73,12 +74,25 @@ public class BongaCamsConfigUI extends AbstractConfigUI {
GridPane.setColumnSpan(password, 2); GridPane.setColumnSpan(password, 2);
layout.add(password, 1, row++); layout.add(password, 1, row++);
layout.add(new Label("Bongacams Base URL"), 0, row);
TextField baseUrl = new TextField();
baseUrl.setText(Config.getInstance().getSettings().bongacamsBaseUrl);
baseUrl.textProperty().addListener((ob, o, n) -> {
Config.getInstance().getSettings().bongacamsBaseUrl = baseUrl.getText();
save();
});
GridPane.setFillWidth(baseUrl, true);
GridPane.setHgrow(baseUrl, Priority.ALWAYS);
GridPane.setColumnSpan(baseUrl, 2);
layout.add(baseUrl, 1, row++);
Button createAccount = new Button("Create new Account"); Button createAccount = new Button("Create new Account");
createAccount.setOnAction((e) -> DesktopIntegration.open(bongaCams.getAffiliateLink())); createAccount.setOnAction((e) -> DesktopIntegration.open(bongaCams.getAffiliateLink()));
layout.add(createAccount, 1, row++); layout.add(createAccount, 1, row++);
GridPane.setColumnSpan(createAccount, 2); GridPane.setColumnSpan(createAccount, 2);
GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
GridPane.setMargin(baseUrl, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
return layout; return layout;
} }

View File

@ -24,7 +24,7 @@ public class BongaCamsElectronLoginDialog {
private static final transient Logger LOG = LoggerFactory.getLogger(BongaCamsElectronLoginDialog.class); private static final transient Logger LOG = LoggerFactory.getLogger(BongaCamsElectronLoginDialog.class);
public static final String DOMAIN = "bongacams.com"; public static final String DOMAIN = "bongacams.com";
public static final String URL = BongaCams.BASE_URL + "/login"; public static final String URL = BongaCams.baseUrl + "/login";
private CookieJar cookieJar; private CookieJar cookieJar;
private ExternalBrowser browser; private ExternalBrowser browser;
@ -102,7 +102,7 @@ public class BongaCamsElectronLoginDialog {
b.secure(); b.secure();
} }
Cookie c = b.build(); Cookie c = b.build();
cookieJar.saveFromResponse(HttpUrl.parse(BongaCams.BASE_URL), Collections.singletonList(c)); cookieJar.saveFromResponse(HttpUrl.parse(BongaCams.baseUrl), Collections.singletonList(c));
} }
} }
} }

View File

@ -27,32 +27,32 @@ public class BongaCamsTabProvider extends TabProvider {
List<Tab> tabs = new ArrayList<>(); List<Tab> tabs = new ArrayList<>();
// female // female
String url = BongaCams.BASE_URL + "/tools/listing_v3.php?livetab=female&online_only=true&is_mobile=true&offset="; String url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=female&online_only=true&is_mobile=true&offset=";
BongaCamsUpdateService updateService = new BongaCamsUpdateService(bongaCams, url); BongaCamsUpdateService updateService = new BongaCamsUpdateService(bongaCams, url);
tabs.add(createTab("Female", updateService)); tabs.add(createTab("Female", updateService));
// male // male
url = BongaCams.BASE_URL + "/tools/listing_v3.php?livetab=male&online_only=true&is_mobile=true&offset="; url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=male&online_only=true&is_mobile=true&offset=";
updateService = new BongaCamsUpdateService(bongaCams, url); updateService = new BongaCamsUpdateService(bongaCams, url);
tabs.add(createTab("Male", updateService)); tabs.add(createTab("Male", updateService));
// couples // couples
url = BongaCams.BASE_URL + "/tools/listing_v3.php?livetab=couples&online_only=true&is_mobile=true&offset="; url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=couples&online_only=true&is_mobile=true&offset=";
updateService = new BongaCamsUpdateService(bongaCams, url); updateService = new BongaCamsUpdateService(bongaCams, url);
tabs.add(createTab("Couples", updateService)); tabs.add(createTab("Couples", updateService));
// trans // trans
url = BongaCams.BASE_URL + "/tools/listing_v3.php?livetab=transsexual&online_only=true&is_mobile=true&offset="; url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=transsexual&online_only=true&is_mobile=true&offset=";
updateService = new BongaCamsUpdateService(bongaCams, url); updateService = new BongaCamsUpdateService(bongaCams, url);
tabs.add(createTab("Transsexual", updateService)); tabs.add(createTab("Transsexual", updateService));
// new // new
url = BongaCams.BASE_URL + "/tools/listing_v3.php?livetab=new-models&online_only=true&is_mobile=true&offset="; url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=new-models&online_only=true&is_mobile=true&offset=";
updateService = new BongaCamsUpdateService(bongaCams, url); updateService = new BongaCamsUpdateService(bongaCams, url);
tabs.add(createTab("New", updateService)); tabs.add(createTab("New", updateService));
// friends // friends
url = BongaCams.BASE_URL + "/tools/listing_v3.php?livetab=friends&online_only=true&offset="; url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=friends&online_only=true&offset=";
updateService = new BongaCamsUpdateService(bongaCams, url); updateService = new BongaCamsUpdateService(bongaCams, url);
friendsTab = new BongaCamsFriendsTab("Friends", updateService, bongaCams); friendsTab = new BongaCamsFriendsTab("Friends", updateService, bongaCams);
friendsTab.setRecorder(recorder); friendsTab.setRecorder(recorder);

View File

@ -50,6 +50,7 @@ public class Settings {
public String chaturbateBaseUrl = "https://chaturbate.com"; public String chaturbateBaseUrl = "https://chaturbate.com";
public String bongaUsername = ""; public String bongaUsername = "";
public String bongaPassword = ""; public String bongaPassword = "";
public String bongacamsBaseUrl = "https://bongacams.com";
public String mfcUsername = ""; public String mfcUsername = "";
public String mfcPassword = ""; public String mfcPassword = "";
public String mfcBaseUrl = "https://www.myfreecams.com"; public String mfcBaseUrl = "https://www.myfreecams.com";

View File

@ -27,10 +27,15 @@ public class BongaCams extends AbstractSite {
private static final transient Logger LOG = LoggerFactory.getLogger(BongaCams.class); private static final transient Logger LOG = LoggerFactory.getLogger(BongaCams.class);
public static final String BASE_URL = "https://bongacams.com"; public static String baseUrl = "https://bongacams.com";
private BongaCamsHttpClient httpClient; private BongaCamsHttpClient httpClient;
@Override
public void init() throws IOException {
baseUrl = Config.getInstance().getSettings().bongacamsBaseUrl;
}
@Override @Override
public String getName() { public String getName() {
return "BongaCams"; return "BongaCams";
@ -38,7 +43,7 @@ public class BongaCams extends AbstractSite {
@Override @Override
public String getBaseUrl() { public String getBaseUrl() {
return BASE_URL; return baseUrl;
} }
@Override @Override
@ -50,7 +55,7 @@ public class BongaCams extends AbstractSite {
public Model createModel(String name) { public Model createModel(String name) {
BongaCamsModel model = new BongaCamsModel(); BongaCamsModel model = new BongaCamsModel();
model.setName(name); model.setName(name);
model.setUrl(BASE_URL + '/' + name); model.setUrl(baseUrl + '/' + name);
model.setDescription(""); model.setDescription("");
model.setSite(this); model.setSite(this);
return model; return model;
@ -59,7 +64,7 @@ public class BongaCams extends AbstractSite {
@Override @Override
public Double getTokenBalance() throws IOException { public Double getTokenBalance() throws IOException {
int userId = ((BongaCamsHttpClient)getHttpClient()).getUserId(); int userId = ((BongaCamsHttpClient)getHttpClient()).getUserId();
String url = BongaCams.BASE_URL + "/tools/amf.php"; String url = BongaCams.baseUrl + "/tools/amf.php";
RequestBody body = new FormBody.Builder() RequestBody body = new FormBody.Builder()
.add("method", "ping") .add("method", "ping")
.add("args[]", Integer.toString(userId)) .add("args[]", Integer.toString(userId))
@ -69,7 +74,7 @@ public class BongaCams extends AbstractSite {
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent) .addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*") .addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en") .addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL) .addHeader("Referer", BongaCams.baseUrl)
.addHeader("X-Requested-With", "XMLHttpRequest") .addHeader("X-Requested-With", "XMLHttpRequest")
.post(body) .post(body)
.build(); .build();
@ -106,10 +111,6 @@ public class BongaCams extends AbstractSite {
return httpClient; return httpClient;
} }
@Override
public void init() throws IOException {
}
@Override @Override
public void shutdown() { public void shutdown() {
if(httpClient != null) { if(httpClient != null) {
@ -139,13 +140,13 @@ public class BongaCams extends AbstractSite {
@Override @Override
public List<Model> search(String q) throws IOException, InterruptedException { public List<Model> search(String q) throws IOException, InterruptedException {
String url = BASE_URL + "/tools/listing_v3.php?offset=0&model_search[display_name][text]=" + URLEncoder.encode(q, "utf-8"); String url = baseUrl + "/tools/listing_v3.php?offset=0&model_search[display_name][text]=" + URLEncoder.encode(q, "utf-8");
Request req = new Request.Builder() Request req = new Request.Builder()
.url(url) .url(url)
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent) .addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*") .addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en") .addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL) .addHeader("Referer", BongaCams.baseUrl)
.addHeader("X-Requested-With", "XMLHttpRequest") .addHeader("X-Requested-With", "XMLHttpRequest")
.build(); .build();
try(Response response = getHttpClient().execute(req)) { try(Response response = getHttpClient().execute(req)) {

View File

@ -77,7 +77,7 @@ public class BongaCamsHttpClient extends HttpClient {
String modelName = getAnyModelName(); String modelName = getAnyModelName();
// we request the roomData of a random model, because it contains // we request the roomData of a random model, because it contains
// user data, if the user is logged in, which we can use to verify, that the login worked // user data, if the user is logged in, which we can use to verify, that the login worked
String url = BongaCams.BASE_URL + "/tools/amf.php"; String url = BongaCams.baseUrl + "/tools/amf.php";
RequestBody body = new FormBody.Builder() RequestBody body = new FormBody.Builder()
.add("method", "getRoomData") .add("method", "getRoomData")
.add("args[]", modelName) .add("args[]", modelName)
@ -90,7 +90,7 @@ public class BongaCamsHttpClient extends HttpClient {
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent) .addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*") .addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en") .addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL) .addHeader("Referer", BongaCams.baseUrl)
.addHeader("X-Requested-With", "XMLHttpRequest") .addHeader("X-Requested-With", "XMLHttpRequest")
.post(body) .post(body)
.build(); .build();
@ -115,11 +115,11 @@ public class BongaCamsHttpClient extends HttpClient {
*/ */
private String getAnyModelName() throws IOException { private String getAnyModelName() throws IOException {
Request request = new Request.Builder() Request request = new Request.Builder()
.url(BongaCams.BASE_URL + "/tools/listing_v3.php?livetab=female&online_only=true&is_mobile=true&offset=0") .url(BongaCams.baseUrl + "/tools/listing_v3.php?livetab=female&online_only=true&is_mobile=true&offset=0")
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent) .addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*") .addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en") .addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL) .addHeader("Referer", BongaCams.baseUrl)
.addHeader("X-Requested-With", "XMLHttpRequest") .addHeader("X-Requested-With", "XMLHttpRequest")
.build(); .build();
try(Response response = execute(request)) { try(Response response = execute(request)) {

View File

@ -45,6 +45,19 @@ public class BongaCamsModel extends AbstractModel {
private List<StreamSource> streamSources = new ArrayList<>(); private List<StreamSource> streamSources = new ArrayList<>();
private int[] resolution; private int[] resolution;
// @Override
// public boolean isOnline(boolean ignoreCache) throws IOException, ExecutionException, InterruptedException {
// if(ignoreCache) {
// String url = BongaCams.baseUrl + "/profile/" + getName();
// Request req = new Request.Builder().url(url).build();
// try(Response resp = site.getHttpClient().execute(req)) {
// String body = resp.body().string();
// online = !body.contains("class=\"badge_online __hidden\"");
// }
// }
// return online;
// }
@Override @Override
public boolean isOnline(boolean ignoreCache) throws IOException, ExecutionException, InterruptedException { public boolean isOnline(boolean ignoreCache) throws IOException, ExecutionException, InterruptedException {
if(ignoreCache) { if(ignoreCache) {
@ -63,7 +76,7 @@ public class BongaCamsModel extends AbstractModel {
} }
private JSONObject getRoomData() throws IOException { private JSONObject getRoomData() throws IOException {
String url = BongaCams.BASE_URL + "/tools/amf.php"; String url = BongaCams.baseUrl + "/tools/amf.php";
RequestBody body = new FormBody.Builder() RequestBody body = new FormBody.Builder()
.add("method", "getRoomData") .add("method", "getRoomData")
.add("args[]", getName()) .add("args[]", getName())
@ -74,7 +87,7 @@ public class BongaCamsModel extends AbstractModel {
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent) .addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*") .addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en") .addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL) .addHeader("Referer", BongaCams.baseUrl)
.addHeader("X-Requested-With", "XMLHttpRequest") .addHeader("X-Requested-With", "XMLHttpRequest")
.post(body) .post(body)
.build(); .build();
@ -163,7 +176,7 @@ public class BongaCamsModel extends AbstractModel {
@Override @Override
public void receiveTip(Double tokens) throws IOException { public void receiveTip(Double tokens) throws IOException {
String url = BongaCams.BASE_URL + "/chat-ajax-amf-service?" + System.currentTimeMillis(); String url = BongaCams.baseUrl + "/chat-ajax-amf-service?" + System.currentTimeMillis();
int userId = ((BongaCamsHttpClient)site.getHttpClient()).getUserId(); int userId = ((BongaCamsHttpClient)site.getHttpClient()).getUserId();
RequestBody body = new FormBody.Builder() RequestBody body = new FormBody.Builder()
.add("method", "tipModel") .add("method", "tipModel")
@ -177,7 +190,7 @@ public class BongaCamsModel extends AbstractModel {
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent) .addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*") .addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en") .addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL + '/' + getName()) .addHeader("Referer", BongaCams.baseUrl + '/' + getName())
.addHeader("X-Requested-With", "XMLHttpRequest") .addHeader("X-Requested-With", "XMLHttpRequest")
.post(body) .post(body)
.build(); .build();
@ -260,7 +273,7 @@ public class BongaCamsModel extends AbstractModel {
.url(getUrl()) .url(getUrl())
.header("Accept", "*/*") .header("Accept", "*/*")
.header("Accept-Language", "en-US,en;q=0.5") .header("Accept-Language", "en-US,en;q=0.5")
.header("Referer", BongaCams.BASE_URL) .header("Referer", BongaCams.baseUrl)
.header("User-Agent", Config.getInstance().getSettings().httpUserAgent) .header("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.build(); .build();
try(Response resp = site.getHttpClient().execute(req)) { try(Response resp = site.getHttpClient().execute(req)) {