Commit Graph

382 Commits

Author SHA1 Message Date
0xb00bface 3d4bd6f331 Fix problem with Cam4 edge URLs
The edge URLs are already abosulte, so the base URL does not have to be
prepended
2021-01-12 20:43:12 +01:00
0xb00bface 967b5dec42 Use global thread pool instead of creating new threads 2021-01-10 22:14:20 +01:00
0xb00bface e709e2d45d Merge branch 'dev' into v4 2021-01-10 18:01:59 +01:00
0xb00bface 8e22112603 Add support for hlsdl 2021-01-09 22:03:01 +01:00
0xb00bface 632f104f03 Code cleanup 2021-01-09 19:07:54 +01:00
0xb00bface cdf582ad8f Merge branch 'dev' into v4
# Conflicts:
#	client/src/main/java/ctbrec/ui/action/CheckModelAccountAction.java
#	client/src/main/java/ctbrec/ui/controls/SearchPopoverTreeList.java
#	client/src/main/java/ctbrec/ui/sites/camsoda/CamsodaShowsTab.java
#	client/src/main/resources/logback.xml
#	common/src/main/java/ctbrec/recorder/NextGenLocalRecorder.java
#	server/src/main/resources/logback.xml
2021-01-09 15:59:31 +01:00
0xb00bface c4c5099c0d Add HTTP header factory to Cam4Model 2021-01-09 14:49:02 +01:00
0xb00bface dc12e12dc0 Add HTTP header factory to Cam4Model
The edge URL requires a Referer header as @gohufrapoc@mastodon.cloud found out. Otherwise you get a HTTP 403 error.
We also set a few other standard headers.
2021-01-09 13:50:51 +01:00
0xb00bface de19de2efe Fix add by model URL for MV Live 2021-01-03 20:54:45 +01:00
0xb00bface 8251f41c50 Make sure to use lower case model names for Cam4 2021-01-02 13:04:53 +01:00
0xb00bface ea8e5d7ac5 Remove some compiler warnings 2021-01-02 12:14:55 +01:00
0xb00bface 62602b552f Remove a few code smells 2021-01-01 17:23:53 +01:00
0xb00bface 1ae3743bed Remove print statement 2021-01-01 17:17:18 +01:00
0xb00bface a1492927e6 Upgrade okhttp to 4.9.0 2021-01-01 14:12:51 +01:00
0xb00bface 4aef12ceee Fix typo in log message 2021-01-01 13:57:41 +01:00
0xb00bface dbb44e1374 Move request throttle for Chaturbate to ChaturbateHttpClient 2021-01-01 13:23:32 +01:00
0xb00bface e3270b6221 Refactored multi-threading for downloads
This is a first kind of working version. HlsDownload records, but teh error handling is broken.
2020-12-29 14:44:11 +01:00
0xb00bface 65ffbf525d Refactored HLS downloads 2020-12-29 14:44:11 +01:00
0xb00bface 52cdc82044 Fix chaturbate follow/unfollow response parsing 2020-12-29 14:43:26 +01:00
0xb00bface ec71dc3c6d Remove dead download code 2020-12-22 15:15:21 +01:00
0xb00bface 8fa785862b Fix MVLive models being detected as online while being offline 2020-12-21 20:10:12 +01:00
0xb00bface 086e15578f Core cleanup 2020-12-21 20:05:22 +01:00
0xb00bface 8fe48f91b7 Update playlist all the time
Before the playlist was only retrieved, when it was empty (on the
initial call). Now the playlist is updated every time.
2020-12-21 18:17:19 +01:00
0xb00bface 43d8b9d2de Add cache control headers to Cam4 requests 2020-12-21 15:07:50 +01:00
0xb00bface 6875de9b14 Add more logging to Cam4Model 2020-12-20 20:46:01 +01:00
0xb00bface 3b8022df87 Add switch to choose between fast and accurate playlist generation 2020-12-20 20:16:16 +01:00
0xb00bface cf165b7fc0 Make Showup login work with minimal browser 2020-12-20 16:27:48 +01:00
0xb00bface 5f4e17c2d2 Merge branch 'dev' into showup
# Conflicts:
#	common/src/main/java/ctbrec/sites/showup/ShowupHttpClient.java
2020-12-20 12:23:08 +01:00
0xb00bface 867e500fbd Fix MVLive recordings 2020-12-20 00:08:07 +01:00
0xb00bface 672d2a77d4 Add another playlist source for Cam4 models 2020-12-19 19:29:15 +01:00
0xb00bface fb58be47bb Normalize Cam4 model URLs in setUrl 2020-12-19 18:06:55 +01:00
0xb00bface a3ffa7a71e Improve error handling and set timeouts in the Cam4 websocket 2020-12-19 17:41:44 +01:00
0xb00bface ae3726d906 Improve logging 2020-12-19 15:50:24 +01:00
0xb00bface 49469d8987 Determine online state of Cam4 models through the chat websocket 2020-12-19 15:47:44 +01:00
0xb00bface f730f95026 Also use the model page to detect the online state 2020-12-17 20:41:06 +01:00
0xb00bface 809d86f5a2 Extend regex to support more model URLs 2020-12-17 18:49:08 +01:00
0xb00bface 2f0ef47acf Add more category tabs for CamSoda 2020-12-14 21:28:43 +01:00
0xb00bface d50ca02374 Add online state "off" to mapOnlineState() 2020-12-13 02:54:01 +01:00
0xb00bface 1f07cea343 Add more online states to mapOnlineState() 2020-12-12 21:45:32 +01:00
0xb00bface 2eacbae228 Fix Stripchat recordings
For some models the recording didn't start, even if they were online and
publicly visible in the browser. We now use a different JSON object to
determine, which resolutions are available
2020-12-12 21:06:38 +01:00
0xb00bface 605269b4a0 Add setting to switch FFmpeg logging on / off 2020-12-12 15:22:10 +01:00
0xb00bface a31debcdea Add possibility to split recordings with different strategies 2020-12-05 21:30:54 +01:00
0xb00bface 8b66dce61a Rename chaturbate username and password setting 2020-12-05 16:24:47 +01:00
0xb00bface f2d3026d0a Code cleanup - Remove compiler warnings 2020-12-05 16:13:33 +01:00
0xb00bface c6dd2bb06c Fix bug in credentialsAvailable for Streamate
It was using the username for Chaturbate. Whoopsy!
2020-12-05 16:10:41 +01:00
0xb00bface 9e2074ba59 Fix Cam4 model details link 2020-12-04 21:04:11 +01:00
0xb00bface 75131cd325 Fix MV Live downloads and search 2020-11-29 16:36:39 +01:00
0xb00bface 20473f9a23 Change MFC websocket URL to the TLS one 2020-11-08 13:40:10 +01:00
0xb00bface ece3355e1e Try to make showup external login work 2020-10-31 22:08:59 +01:00
0xb00bface 7eac934c7f Remove getLength from download
The length has to be determined just in time for certain pp functions to
work properly. The length can no longer be retrieved from the recording,
but has to be determined with the help of VideoLengthDetector
2020-10-11 19:14:22 +02:00
0xb00bface 2dd32fed0c Fix URLs for models with special characters in their name 2020-10-05 18:44:16 +02:00
0xb00bface 0b384cf85e Improve Bongacams online state detection 2020-10-04 19:31:34 +02:00
0xb00bface a2e2dbda6d Catch JSON parse exception 2020-10-04 15:20:23 +02:00
0xb00bface 1350dce14f Fix BongaCams online check
Fix Bongacams unfollow
2020-10-03 16:14:24 +02:00
0xb00bface 3b3854c488 Fix Streamate followed tab
Also use a preview image instead of the bio pic
2020-10-03 13:59:19 +02:00
0xb00bface 3bf9c5fa26 Fix JSON parsing exception
Sometimes performerData is not available. In this case we assume the
model is offline
2020-09-30 10:52:30 +02:00
0xb00bface 099ccc9399 Remove console output 2020-09-29 13:27:09 +02:00
0xb00bface e4eee063ba Fix Showup downloads
Add cid and pid to the playlist url, which fixes the download
functionality. But downloads now stop after a couple of minutes if you
are not logged in.
2020-09-28 14:34:11 +02:00
0xb00bface d7d3e2944b Extend HlsDownload for MV Live to update the cloudflare cookies regularly 2020-08-24 15:16:45 +02:00
0xb00bface 337b096568 Fix API calls newer than Java 8 2020-08-21 18:19:59 +02:00
0xb00bface 05837b2fed Reset MFC WS on message parsing exception 2020-08-21 18:09:55 +02:00
0xb00bface fa3e5fbcaf Fix MFC models changing to other models 2020-08-19 18:25:24 +02:00
0xb00bface 2665d50ee1 Assume unknown show type means ONLINE 2020-08-19 17:53:15 +02:00
0xb00bface 335cdb8cb4 Add createModelFromUrl for MVLive 2020-08-18 20:25:05 +02:00
0xb00bface 096ed7a734 Implement proper online check and add search 2020-08-18 19:58:48 +02:00
0xb00bface 2455797fb2 Use a different HTTP client for each MVLive download
MVLive only allows recording of mor than one stream, if the recorder looks like different HTTP sessions.
That's why we use a different HTTP client with its own cookie jar for each recording.
2020-08-18 14:39:48 +02:00
0xb00bface e06bfaf88b Change the request to get the room number 2020-08-18 10:19:26 +02:00
0xb00bface 36885900b5 Add regular cloudflare cookie updates
MVLive updates those cookies every 2 minutes. This makes sure, that the streaming continues. IF the cookies are not updated, the stream ends after around 2:30 minutes
2020-08-17 12:19:24 +02:00
0xb00bface db186e65f4 Merge branch 'dev' into manyvids
# Conflicts:
#	common/src/main/java/ctbrec/io/HttpClient.java
2020-08-16 17:00:43 +02:00
0xb00bface 792a6c10c8 Revert MFC websocket message parsing change 2020-08-15 17:17:31 +02:00
0xb00bface 6cfdb59c96 Remove log output 2020-08-15 16:06:47 +02:00
0xb00bface 192e7093d3 Fix Flirt4Free models losing their name 2020-08-15 15:29:21 +02:00
0xb00bface 0e61421537 Fix MFC websocket message parser 2020-08-14 19:16:39 +02:00
0xb00bface ee302e49a4 Distinguish between performer_id and display_name for LiveJasmin models 2020-08-09 11:04:24 +02:00
0xb00bface b6e4bad837 Fixed bug in JSON parsing
Some models wouldn't get recorded, because of a missing element in the
JSON doc
2020-08-08 21:23:38 +02:00
0xb00bface cbd529d001 Replace wrong username used to retrieve the token balance 2020-08-08 13:37:21 +02:00
0xb00bface d63c98cf36 Fix NPEs in MFCs ServerConfig 2020-07-26 15:14:22 +02:00
0xb00bface c80230cee7 Add support for xHamsterLive 2020-07-20 18:44:25 +02:00
0xb00bface e50b9bcc71 Close response in onClosed in F4F websocket 2020-07-19 18:23:16 +02:00
0xb00bface 7462d68d7b Add external login dialog for stripchat
This also enables us to support xhamsterlive
2020-07-19 15:17:31 +02:00
0xb00bface 882742ce3b Make MFC client and getOnlineModels more robust 2020-07-18 19:30:24 +02:00
0xb00bface 010c4a04cd Adjust log levels 2020-07-18 19:15:09 +02:00
0xb00bface 7ff731ec88 Fix CamSoda downloads 2020-07-18 19:05:41 +02:00
0xb00bface c50519be82 Fix CamSoda recordings 2020-07-18 12:48:00 +02:00
0xb00bface 4b2e17d0b1 Fix Cam4 favorites tab 2020-07-16 19:51:14 +02:00
0xb00bface 03b6de626c Fix Streamate
The way to obtains the xsrf token has changed
2020-07-16 18:53:22 +02:00
0xboobface 296585463a Don't apply min/max resolution settings, if resolution is unknown 2020-07-12 13:32:06 +02:00
0xboobface 9bb18426a6 Interrupt keep alive thread on reconnect
On reconnect interrupt the current keep alive thread, so that we don't
pile up a bunch keep alive threads, if the there is a problem with the
websocket connection.
2020-07-11 14:15:34 +02:00
0xboobface 6600b0da94 Get the authentication and the stream working 2020-07-10 22:12:28 +02:00
0xboobface ed0f5476b5 Merge branch 'dev' into manyvids 2020-07-10 18:09:26 +02:00
0xboobface 64569f83ab Optimize http client shutdown 2020-07-05 14:07:15 +02:00
0xboobface d2c2cb476b Fix MyFreeCams websocket message parsing 2020-07-03 18:56:59 +02:00
0xboobface d3d9662ec5 Add websocket client 2020-06-20 11:17:19 +02:00
0xboobface e6fa97dc15 Add affiliate link 2020-06-14 15:07:58 +02:00
0xboobface 00692f991e Add UI part for MVLive
At the moment only the thumbnail overview is working. More stuff to come...
2020-06-14 15:07:54 +02:00
0xboobface e59de2f70b Add base classes for Manyvids Live 2020-06-14 15:06:17 +02:00
0xboobface 3b5cbfaddf Fix NPE in getHttpHeaderFactory in MyFreeCamsModel 2020-06-14 11:22:01 +02:00
0xboobface 43d2676e11 Add HttpHeaderFactory mechanism
Each model can provide its own factory to provide HTTP headers for the
different download requests (playlist, segment playlist, segments)
2020-06-12 18:24:34 +02:00
0xboobface cd6175a7eb Add BandwidthMeter, which tracks the current bandwidth usage 2020-06-12 18:21:32 +02:00
0xboobface bd48d6bf9c Set version to 3.8.0 2020-06-12 18:10:56 +02:00
0xboobface d55f1c04ee Fix MFC websocket communication
The protocol had been changed for the initial login sequence
2020-06-09 19:33:43 +02:00
0xboobface acd6126619 Add "New" tab to each site where it was missing 2020-06-07 13:53:54 +02:00
0xboobface fdce3bcec0 Fix chaturbate login check
The check if ctbrec is logged in always returned true because of a
change on the user profile page. ctbrec now uses the user icon to check,
if the user is the anonymous user or a logged in user.
2020-06-07 12:28:08 +02:00
0xboobface b87f090ac3 Add max resolution setting for the player 2020-05-31 14:50:12 +02:00
0xboobface 0858941b50 Fix NPE in MFC client 2020-05-23 16:20:49 +02:00
0xboobface f1a0e5900c Fix createModelFromUrl for Showup and Fc2Live 2020-05-23 16:20:32 +02:00
0xboobface 3958a7b5f1 Reduce log level in getModelList 2020-05-23 13:47:07 +02:00
0xboobface 9eea66d94f Remove the uid field from ShowupModel 2020-05-20 19:37:01 +02:00
0xboobface 9462a31111 Improve detection of stream termination 2020-05-20 19:00:09 +02:00
0xboobface c05785cd20 Improve Showup online detection 2020-05-20 18:18:29 +02:00
0xboobface 33a0094b19 Adjust to Stripchat API changes 2020-05-20 18:17:46 +02:00
0xboobface a91923baff Use the small preview image for the thumbnails 2020-05-16 22:45:15 +02:00
0xboobface 9cd9bdf973 Remove handling for online states private and group
They don't seem to affect the recording of the stream
2020-05-16 22:19:55 +02:00
0xboobface 39c1fd94ba Fix isOnline for SHowupModel 2020-05-16 21:34:39 +02:00
0xboobface 1a5c32167e Preparation for Showup login 2020-05-16 21:30:25 +02:00
0xboobface 6c85a2a493 First working version of Showup.tv 2020-05-16 16:28:44 +02:00
0xboobface 2e4ec80bd8 Reduce visibility of public method 2020-05-10 10:43:53 +02:00
0xboobface a0d9835192 Fix streamate stream source parsing 2020-04-28 22:05:06 +02:00
0xboobface 3c86310edf Add stream source "Origin" 2020-04-23 19:28:12 +02:00
0xboobface a30d4ed463 Change data type of all Integer fields to String 2020-04-18 19:51:40 +02:00
0xboobface 0c7650f94f Remove retry loop in getNextSegments
This might cause blocks by MFC because we are asking for a resource,
which is not available.
2020-04-18 19:50:42 +02:00
0xboobface a37a018159 Remove outdated settings for MFC 2020-04-13 19:43:33 +02:00
0xboobface e5a9c468eb Remove "(broken)" from MFC's title 2020-04-13 18:52:29 +02:00
0xboobface ae6fa229e7 Add user-agent agent header to every http request in MFC classes 2020-04-13 18:42:57 +02:00
0xboobface 970b9ab574 Fix follow/unfollow for BongaCams 2020-03-28 13:07:54 +01:00
0xboobface 2eb1b17513 Change cookie name of the sorting settings 2020-03-02 20:45:24 +01:00
0xboobface 2f013bc870 Change BongaCams online check 2020-02-29 18:30:57 +01:00
0xboobface 46bd8667c8 Separate site name and displayed title 2020-02-26 21:40:58 +01:00
0xboobface 8cafc7124f Add search for Stripchat 2020-02-23 19:36:14 +01:00
0xboobface e4b9da7685 First working implementation for Stripchat 2020-02-23 18:47:37 +01:00
0xboobface 71be9b3665 Improve support for server-side single files 2020-02-22 17:40:22 +01:00
0xboobface bc929cc6e1 Switch to MergedFfmpegHlsDownload 2020-02-22 14:33:51 +01:00
0xboobface d2f490f8f6 Add FFmpeg downloaders 2020-02-22 11:20:10 +01:00
0xboobface 110fc2a6bf Fix LiveJasmin HD recordings 2020-02-16 15:18:38 +01:00
0xboobface 316d2a7e22 Fix loading of the Streamate model ID 2020-01-31 19:50:17 +01:00
0xboobface 741072b1f0 Rename site to MyFreeCams (broken) 2020-01-26 19:18:30 +01:00
0xboobface 18669a9c43 Fix Streamate
Streamate introduced a CSRF token, which has to be sent in the HTTP
header.
2020-01-26 18:33:13 +01:00
0xboobface 3cf6038da0 Don't kill the ws in the keep-alive thread, if it is establishing a
connection
2020-01-11 13:20:49 +01:00
0xboobface b12f3e5789 Add setting to switch between DASH and HLS for MFC 2020-01-03 12:27:06 +01:00
0xboobface 24cb3ecf99 Use HLS streaming for MFC models again 2019-12-30 16:15:47 +01:00
0xboobface 8596b1e6e1 Fix log statement, which prevent getMasterPlaylist form working 2019-12-29 15:07:09 +01:00
0xboobface e333175ecb Fix stream URL for wowza HLS streaming 2019-12-28 19:54:55 +01:00
0xboobface a9d87bfd99 Code cleanup 2019-12-28 19:54:04 +01:00
0xboobface 87b0ce0d21 Use constants from HttpConstants 2019-12-27 15:14:55 +01:00
0xboobface da4c1bda2c Change log levels of some log messages 2019-12-27 14:02:33 +01:00
0xboobface b72777f6fb Code cleanup 2019-12-27 13:51:48 +01:00
0xboobface f3a13a6f06 Fix CamSoda downloads
Some models now have a different stream URL. ctbrec has to distiguish
between the old and the new URLs
2019-12-27 13:51:28 +01:00
0xboobface 33c7c6606d Improve playlist loading for Cam4Model
Also improve isOnline to take into account, if a playlist url is
available or not
2019-12-26 23:44:26 +01:00
0xboobface c2901284ef Improve error handling in downloads 2019-12-26 21:47:03 +01:00
0xboobface c774a29421 Improve error handling for loading the master playlist for Cam4Models 2019-12-26 21:46:57 +01:00