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);
TextField username = new TextField(settings.bongaUsername);
username.setPrefWidth(300);
username.textProperty().addListener((ob, o, n) -> {
if(!n.equals(Config.getInstance().getSettings().bongaUsername)) {
Config.getInstance().getSettings().bongaUsername = username.getText();
@ -73,12 +74,25 @@ public class BongaCamsConfigUI extends AbstractConfigUI {
GridPane.setColumnSpan(password, 2);
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");
createAccount.setOnAction((e) -> DesktopIntegration.open(bongaCams.getAffiliateLink()));
layout.add(createAccount, 1, row++);
GridPane.setColumnSpan(createAccount, 2);
GridPane.setMargin(username, 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));
return layout;
}

View File

@ -24,7 +24,7 @@ public class BongaCamsElectronLoginDialog {
private static final transient Logger LOG = LoggerFactory.getLogger(BongaCamsElectronLoginDialog.class);
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 ExternalBrowser browser;
@ -102,7 +102,7 @@ public class BongaCamsElectronLoginDialog {
b.secure();
}
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<>();
// 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);
tabs.add(createTab("Female", updateService));
// 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);
tabs.add(createTab("Male", updateService));
// 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);
tabs.add(createTab("Couples", updateService));
// 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);
tabs.add(createTab("Transsexual", updateService));
// 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);
tabs.add(createTab("New", updateService));
// 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);
friendsTab = new BongaCamsFriendsTab("Friends", updateService, bongaCams);
friendsTab.setRecorder(recorder);

View File

@ -50,6 +50,7 @@ public class Settings {
public String chaturbateBaseUrl = "https://chaturbate.com";
public String bongaUsername = "";
public String bongaPassword = "";
public String bongacamsBaseUrl = "https://bongacams.com";
public String mfcUsername = "";
public String mfcPassword = "";
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);
public static final String BASE_URL = "https://bongacams.com";
public static String baseUrl = "https://bongacams.com";
private BongaCamsHttpClient httpClient;
@Override
public void init() throws IOException {
baseUrl = Config.getInstance().getSettings().bongacamsBaseUrl;
}
@Override
public String getName() {
return "BongaCams";
@ -38,7 +43,7 @@ public class BongaCams extends AbstractSite {
@Override
public String getBaseUrl() {
return BASE_URL;
return baseUrl;
}
@Override
@ -50,7 +55,7 @@ public class BongaCams extends AbstractSite {
public Model createModel(String name) {
BongaCamsModel model = new BongaCamsModel();
model.setName(name);
model.setUrl(BASE_URL + '/' + name);
model.setUrl(baseUrl + '/' + name);
model.setDescription("");
model.setSite(this);
return model;
@ -59,7 +64,7 @@ public class BongaCams extends AbstractSite {
@Override
public Double getTokenBalance() throws IOException {
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()
.add("method", "ping")
.add("args[]", Integer.toString(userId))
@ -69,7 +74,7 @@ public class BongaCams extends AbstractSite {
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL)
.addHeader("Referer", BongaCams.baseUrl)
.addHeader("X-Requested-With", "XMLHttpRequest")
.post(body)
.build();
@ -106,10 +111,6 @@ public class BongaCams extends AbstractSite {
return httpClient;
}
@Override
public void init() throws IOException {
}
@Override
public void shutdown() {
if(httpClient != null) {
@ -139,13 +140,13 @@ public class BongaCams extends AbstractSite {
@Override
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()
.url(url)
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL)
.addHeader("Referer", BongaCams.baseUrl)
.addHeader("X-Requested-With", "XMLHttpRequest")
.build();
try(Response response = getHttpClient().execute(req)) {

View File

@ -77,7 +77,7 @@ public class BongaCamsHttpClient extends HttpClient {
String modelName = getAnyModelName();
// 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
String url = BongaCams.BASE_URL + "/tools/amf.php";
String url = BongaCams.baseUrl + "/tools/amf.php";
RequestBody body = new FormBody.Builder()
.add("method", "getRoomData")
.add("args[]", modelName)
@ -90,7 +90,7 @@ public class BongaCamsHttpClient extends HttpClient {
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL)
.addHeader("Referer", BongaCams.baseUrl)
.addHeader("X-Requested-With", "XMLHttpRequest")
.post(body)
.build();
@ -115,11 +115,11 @@ public class BongaCamsHttpClient extends HttpClient {
*/
private String getAnyModelName() throws IOException {
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("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL)
.addHeader("Referer", BongaCams.baseUrl)
.addHeader("X-Requested-With", "XMLHttpRequest")
.build();
try(Response response = execute(request)) {

View File

@ -45,6 +45,19 @@ public class BongaCamsModel extends AbstractModel {
private List<StreamSource> streamSources = new ArrayList<>();
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
public boolean isOnline(boolean ignoreCache) throws IOException, ExecutionException, InterruptedException {
if(ignoreCache) {
@ -63,7 +76,7 @@ public class BongaCamsModel extends AbstractModel {
}
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()
.add("method", "getRoomData")
.add("args[]", getName())
@ -74,7 +87,7 @@ public class BongaCamsModel extends AbstractModel {
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL)
.addHeader("Referer", BongaCams.baseUrl)
.addHeader("X-Requested-With", "XMLHttpRequest")
.post(body)
.build();
@ -163,7 +176,7 @@ public class BongaCamsModel extends AbstractModel {
@Override
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();
RequestBody body = new FormBody.Builder()
.add("method", "tipModel")
@ -177,7 +190,7 @@ public class BongaCamsModel extends AbstractModel {
.addHeader("User-Agent", Config.getInstance().getSettings().httpUserAgent)
.addHeader("Accept", "application/json, text/javascript, */*")
.addHeader("Accept-Language", "en")
.addHeader("Referer", BongaCams.BASE_URL + '/' + getName())
.addHeader("Referer", BongaCams.baseUrl + '/' + getName())
.addHeader("X-Requested-With", "XMLHttpRequest")
.post(body)
.build();
@ -260,7 +273,7 @@ public class BongaCamsModel extends AbstractModel {
.url(getUrl())
.header("Accept", "*/*")
.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)
.build();
try(Response resp = site.getHttpClient().execute(req)) {