forked from j62/ctbrec
Compare commits
No commits in common. "main" and "reusedname" have entirely different histories.
main
...
reusedname
10
README.md
10
README.md
|
@ -1,21 +1,17 @@
|
||||||
# CTB Recorder
|
# CTB Recorder
|
||||||

|
|
||||||
## Current State Version 5.3.2-a
|
|
||||||
|
|
||||||
## updates to fix chaturbate broken audio coming soon
|
|
||||||
|
|
||||||
A free recording software for different camsites. Currently supported: BongaCams, Cam4, CamSoda, Chaturbate, FC2Live, LiveJasmin, MyFreeCams, Streamate
|
A free recording software for different camsites. Currently supported: BongaCams, Cam4, CamSoda, Chaturbate, FC2Live, LiveJasmin, MyFreeCams, Streamate
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
If you ever wanted to record a cam girl show to watch it later or if your favorite model lives in another timezone and is never online when you are, CTB Recorder is the solution for you.
|
If you ever wanted to record a cam girl show to watch it later or if your favorite model lives in another timezone and is never online when you are, CTB Recorder is the solution for you.
|
||||||
|
|
||||||
CTB Recorder allows you to record any public show on different cam sites. It is very easy to use and set up in minutes. You can even run the recorder on a server and control it with the graphical user interface, so that you never miss a show again.
|
CTB Recorder allows you to record any public show on different cam sites. It is very easy to use and set up in minutes. You can even run the recorder on a server and control it with the graphical user interface, so that you never miss a show again.
|
||||||
|
|
||||||
For more visit the [homepage](https://git.ctbrec.com/j62/ctbrec)
|
For more visit the [homepage](https://0xboobface.github.io/ctbrec)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
[Download](https://git.ctbrec.com/j62/ctbrec/releases) the bundle ending in -jre for your platform and follow the instructions in the README.md contained in the zip.
|
[Download](https://github.com/0xboobface/ctbrec/releases) the bundle ending in -jre for your platform and follow the instructions in the README.md contained in the zip.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
CTB Recorder is licensed under the GPLv3. See [LICENSE.txt](https://raw.githubusercontent.com/0xboobface/ctbrec/master/LICENSE.txt).
|
CTB Recorder is licensed under the GPLv3. See [LICENSE.txt](https://raw.githubusercontent.com/0xboobface/ctbrec/master/LICENSE.txt).
|
||||||
|
|
0
client/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.compatibility.js
vendored
Normal file → Executable file
0
client/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.compatibility.js
vendored
Normal file → Executable file
0
client/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.js
vendored
Normal file → Executable file
0
client/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.js
vendored
Normal file → Executable file
0
client/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.min.js
vendored
Normal file → Executable file
0
client/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.min.js
vendored
Normal file → Executable file
|
@ -25,8 +25,8 @@ import static java.nio.charset.StandardCharsets.UTF_8;
|
||||||
public class Chaturbate extends AbstractSite {
|
public class Chaturbate extends AbstractSite {
|
||||||
|
|
||||||
static String baseUrl = "https://chaturbate.com";
|
static String baseUrl = "https://chaturbate.com";
|
||||||
public static final String AFFILIATE_LINK = "https://chaturbate.com/in/?track=default&tour=grq0&campaign=97mhH";
|
public static final String AFFILIATE_LINK = "https://chaturbate.com/in/?track=default&tour=grq0&campaign=55vTi";
|
||||||
public static final String REGISTRATION_LINK = "https://chaturbate.com/in/?track=default&tour=g4pe&campaign=97mhH";
|
public static final String REGISTRATION_LINK = "https://chaturbate.com/in/?track=default&tour=g4pe&campaign=55vTi";
|
||||||
private ChaturbateHttpClient httpClient;
|
private ChaturbateHttpClient httpClient;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -46,7 +46,7 @@ public class Chaturbate extends AbstractSite {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getAffiliateLink() {
|
public String getAffiliateLink() {
|
||||||
return getBaseUrl() + "/in/?track=default&tour=LQps&campaign=97mhH&room=0xb00bface";
|
return getBaseUrl() + "/in/?track=default&tour=LQps&campaign=55vTi&room=0xb00bface";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -311,7 +311,6 @@ public class ChaturbateModel extends AbstractModel {
|
||||||
String content = response.body().string();
|
String content = response.body().string();
|
||||||
log.trace("Raw stream info for model {}: {}", getName(), content);
|
log.trace("Raw stream info for model {}: {}", getName(), content);
|
||||||
streamInfo = mapper.readValue(content, StreamInfo.class);
|
streamInfo = mapper.readValue(content, StreamInfo.class);
|
||||||
//streamInfo.url = streamInfo.url.replaceAll("live-hls", "live-c-fhls").replaceAll("playlist\\.m3u8", "playlist_sfm4s.m3u8");
|
|
||||||
return streamInfo;
|
return streamInfo;
|
||||||
} else {
|
} else {
|
||||||
int code = response.code();
|
int code = response.code();
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
function gtag(){dataLayer.push(arguments);}
|
function gtag(){dataLayer.push(arguments);}
|
||||||
gtag('js', new Date());
|
gtag('js', new Date());
|
||||||
|
|
||||||
gtag('config', 'UA-129283922-1');
|
gtag('config', 'UA-129283922-1');
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header class="masthead bg-primary text-white text-center">
|
<header class="masthead bg-primary text-white text-center">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<!--
|
<!--
|
||||||
<img class="img-fluid mb-5 d-block mx-auto" src="img/profile.png" alt="">
|
<img class="img-fluid mb-5 d-block mx-auto" src="img/profile.png" alt="">
|
||||||
-->
|
-->
|
||||||
<h1 class="text-uppercase mb-0">CTB Recorder</h1>
|
<h1 class="text-uppercase mb-0">CTB Recorder</h1>
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
<h2 class="font-weight-light mb-0">A free recording software for different camsites.<br/>Currently supported: BongaCams, Cam4, CamSoda, Chaturbate, FC2Live, LiveJasmin, MyFreeCams, Streamate</h2>
|
<h2 class="font-weight-light mb-0">A free recording software for different camsites.<br/>Currently supported: BongaCams, Cam4, CamSoda, Chaturbate, FC2Live, LiveJasmin, MyFreeCams, Streamate</h2>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- About/Download Section -->
|
<!-- About/Download Section -->
|
||||||
<section class="text-secondary mb-0" id="about">
|
<section class="text-secondary mb-0" id="about">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@ -101,7 +101,7 @@
|
||||||
function downloadCounter(uri) {
|
function downloadCounter(uri) {
|
||||||
window.setTimeout(function() {
|
window.setTimeout(function() {
|
||||||
if(cnt === 0) {
|
if(cnt === 0) {
|
||||||
location.href = uri;
|
location.href = uri;
|
||||||
} else {
|
} else {
|
||||||
cnt--;
|
cnt--;
|
||||||
$('#download-counter').html("Your download starts in... " + cnt);
|
$('#download-counter').html("Your download starts in... " + cnt);
|
||||||
|
@ -147,7 +147,7 @@
|
||||||
<div class="col-lg-10 mx-auto text-center">
|
<div class="col-lg-10 mx-auto text-center">
|
||||||
<p id="download-counter" class="lead text-center" style="display:none"></p>
|
<p id="download-counter" class="lead text-center" style="display:none"></p>
|
||||||
<p class="lead">
|
<p class="lead">
|
||||||
CTB Recorder is free and open source. I'm a student and wrote this software in my spare time.
|
CTB Recorder is free and open source. I'm a student and wrote this software in my spare time.
|
||||||
If you like the software or want to suggest a new feature, please consider buying me a coffee or two. Thanks!
|
If you like the software or want to suggest a new feature, please consider buying me a coffee or two. Thanks!
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -158,7 +158,7 @@
|
||||||
<a href="https://www.buymeacoffee.com/0xboobface" target="_blank">
|
<a href="https://www.buymeacoffee.com/0xboobface" target="_blank">
|
||||||
<img src="img/buymeacoffee-round.png" alt="Buy a coffee" style="height: 160px; margin: 20px"/>
|
<img src="img/buymeacoffee-round.png" alt="Buy a coffee" style="height: 160px; margin: 20px"/>
|
||||||
</a><br/>
|
</a><br/>
|
||||||
<input type="button" value="Buy a coffee"
|
<input type="button" value="Buy a coffee"
|
||||||
onclick="window.open('https://www.buymeacoffee.com/0xboobface','_blank')">
|
onclick="window.open('https://www.buymeacoffee.com/0xboobface','_blank')">
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -167,7 +167,7 @@
|
||||||
<a href="https://www.paypal.me/0xb00bface" target="_blank">
|
<a href="https://www.paypal.me/0xb00bface" target="_blank">
|
||||||
<img src="img/paypal-round.png" alt="PayPal" style="height: 160px; margin: 20px"/>
|
<img src="img/paypal-round.png" alt="PayPal" style="height: 160px; margin: 20px"/>
|
||||||
</a><br/>
|
</a><br/>
|
||||||
<input type="button" value="PayPal"
|
<input type="button" value="PayPal"
|
||||||
onclick="window.open('https://www.paypal.me/0xb00bface','_blank')">
|
onclick="window.open('https://www.paypal.me/0xb00bface','_blank')">
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -176,7 +176,7 @@
|
||||||
<a href="https://www.patreon.com/0xb00bface" target="_blank">
|
<a href="https://www.patreon.com/0xb00bface" target="_blank">
|
||||||
<img src="img/patreon-round.png" alt="Patreon" style="height: 160px; margin: 20px"/>
|
<img src="img/patreon-round.png" alt="Patreon" style="height: 160px; margin: 20px"/>
|
||||||
</a><br/>
|
</a><br/>
|
||||||
<input type="button" value="Patreon"
|
<input type="button" value="Patreon"
|
||||||
onclick="window.open('https://www.patreon.com/0xb00bface','_blank')">
|
onclick="window.open('https://www.patreon.com/0xb00bface','_blank')">
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -185,18 +185,18 @@
|
||||||
<div class="row text-center">
|
<div class="row text-center">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<p class="lead">
|
<p class="lead">
|
||||||
<a href="https://chaturbate.com/in/?track=default&tour=LQps&campaign=97mhH&room=0xb00bface" target="_blank" title="If you buy tokens by using this button, Chaturbate will award me 20% of the tokens' value for sending you over. You get the full tokens and it doesn't cost you any more!">
|
<a href="https://chaturbate.com/in/?track=default&tour=LQps&campaign=55vTi&room=0xb00bface" target="_blank" title="If you buy tokens by using this button, Chaturbate will award me 20% of the tokens' value for sending you over. You get the full tokens and it doesn't cost you any more!">
|
||||||
<img src="img/token.png" alt="Buy Chaturbate tokens"/>
|
<img src="img/token.png" alt="Buy Chaturbate tokens"/>
|
||||||
</a><br/>
|
</a><br/>
|
||||||
<input type="button" value="Buy tokens"
|
<input type="button" value="Buy tokens"
|
||||||
onclick="window.open('https://chaturbate.com/in/?track=default&tour=LQps&campaign=97mhH&room=0xb00bface','_blank')"
|
onclick="window.open('https://chaturbate.com/in/?track=default&tour=LQps&campaign=55vTi&room=0xb00bface','_blank')"
|
||||||
title="If you buy tokens by using this button, Chaturbate will award me 20% of the tokens' value for sending you over. You get the full tokens and it doesn't cost you any more!">
|
title="If you buy tokens by using this button, Chaturbate will award me 20% of the tokens' value for sending you over. You get the full tokens and it doesn't cost you any more!">
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- Screenshots Grid Section -->
|
<!-- Screenshots Grid Section -->
|
||||||
<section class="portfolio" id="portfolio">
|
<section class="portfolio" id="portfolio">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@ -253,7 +253,7 @@
|
||||||
<img class="img-fluid" src="img/settings.png" alt="">
|
<img class="img-fluid" src="img/settings.png" alt="">
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6 col-lg-4">
|
<div class="col-md-6 col-lg-4">
|
||||||
<a class="portfolio-item d-block mx-auto" href="#portfolio-modal-6">
|
<a class="portfolio-item d-block mx-auto" href="#portfolio-modal-6">
|
||||||
<div class="portfolio-item-caption d-flex position-absolute h-100 w-100">
|
<div class="portfolio-item-caption d-flex position-absolute h-100 w-100">
|
||||||
|
@ -264,7 +264,7 @@
|
||||||
<img class="img-fluid" src="img/server.png" alt="">
|
<img class="img-fluid" src="img/server.png" alt="">
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
@ -276,7 +276,7 @@
|
||||||
<hr class="star-light mb-5">
|
<hr class="star-light mb-5">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="accordion text-dark" id="accordionExample">
|
<div class="accordion text-dark" id="accordionExample">
|
||||||
<!-- What are .ts files -->
|
<!-- What are .ts files -->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header" id="headingTwo">
|
<div class="card-header" id="headingTwo">
|
||||||
|
@ -295,7 +295,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- How do I run the server -->
|
<!-- How do I run the server -->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header" id="headingThree">
|
<div class="card-header" id="headingThree">
|
||||||
|
@ -318,7 +318,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Difference Win JRE -->
|
<!-- Difference Win JRE -->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header" id="headingFour">
|
<div class="card-header" id="headingFour">
|
||||||
|
@ -335,7 +335,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Help -->
|
<!-- Help -->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header" id="headingFive">
|
<div class="card-header" id="headingFive">
|
||||||
|
@ -351,7 +351,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Feature request -->
|
<!-- Feature request -->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header" id="headingSix">
|
<div class="card-header" id="headingSix">
|
||||||
|
@ -367,7 +367,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Bug -->
|
<!-- Bug -->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header" id="headingSeven">
|
<div class="card-header" id="headingSeven">
|
||||||
|
|
0
server/src/main/resources/html/static/vendor/flowplayer/skin/icons/flowplayer.eot
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/flowplayer/skin/icons/flowplayer.eot
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/flowplayer/skin/icons/flowplayer.svg
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/flowplayer/skin/icons/flowplayer.svg
vendored
Normal file → Executable file
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
0
server/src/main/resources/html/static/vendor/flowplayer/skin/icons/flowplayer.ttf
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/flowplayer/skin/icons/flowplayer.ttf
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/flowplayer/skin/icons/flowplayer.woff
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/flowplayer/skin/icons/flowplayer.woff
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.compatibility.js
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.compatibility.js
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.js
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.js
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.min.js
vendored
Normal file → Executable file
0
server/src/main/resources/html/static/vendor/jquery-easing/jquery.easing.min.js
vendored
Normal file → Executable file
Loading…
Reference in New Issue