forked from j62/ctbrec
Add base URL setting for Bongacams
This commit is contained in:
parent
71599c7156
commit
1dd432dbd9
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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)) {
|
||||||
|
|
|
@ -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)) {
|
||||||
|
|
|
@ -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)) {
|
||||||
|
|
Loading…
Reference in New Issue