0xboobface
f7ac97c683
Implement interface changes
2019-05-11 15:12:48 +02:00
0xboobface
ca8e0a269e
Remove caches from Chaturbate code
...
- Remove caches from the Chaturbate class
- Move all model related code from Chaturbate to ChaturbateModel
- Use a User-Agent string in all HTTP requests
2019-05-11 15:10:42 +02:00
0xboobface
35c8378d88
Add mechanism to restrict the number of requests
...
Flirt4Free is finnicky with the amount of requests you can do. So we use
a mechanism to only allow 2 requests at a time and a cooldown of 500 ms
between requests.
2019-05-11 15:03:15 +02:00
0xboobface
1b129ebd41
Add suffix parameter to getFileForRecording
...
This allows different download types to support different file types
2019-04-21 12:42:48 +02:00
0xboobface
0b7eeca5f7
Fix: Post-Processing for split recordings
2019-04-20 22:01:53 +02:00
0xboobface
133afc2475
Merge branch pprefactor
2019-04-20 15:24:43 +02:00
0xboobface
3cd341d88e
Set affiliate link
2019-04-20 12:50:27 +02:00
0xboobface
6e6597d372
Move post-processing from LocalRecorder to Download
2019-04-20 11:49:41 +02:00
0xboobface
4bc92a9dda
Remove debug output
2019-04-18 20:21:09 +02:00
0xboobface
2d048369a1
Fix JSON exception in isOnline
2019-04-17 14:37:47 +02:00
0xboobface
204eb99b29
Implement follow/unfollow for Flirt4Free
2019-04-16 19:51:57 +02:00
0xboobface
8f5c7ac9c4
Implement login and token balance
2019-04-15 19:17:41 +02:00
0xboobface
50c38d16a7
Implement login for Flirt4Free
2019-04-15 19:16:04 +02:00
0xboobface
1700eeecf5
Implement search for Flirt4Free
2019-04-15 17:42:20 +02:00
0xboobface
94460d1e94
Implement "add by name" and "add by url"
2019-04-15 16:39:09 +02:00
0xboobface
15bfe0f44f
Add basic functionality for Flirt4Free
2019-04-12 21:57:53 +02:00
0xboobface
6c6fadd742
Set isOnline to false, of the model is not online
2019-04-10 14:36:24 +02:00
0xboobface
2a74761c54
Make sure the playlist is not empty when checking the online state
2019-04-07 12:03:00 +02:00
0xboobface
7ffa41944c
Fix online check for BongaCams
...
The online check now consists of three steps: 1. check, if the model's
state is online on its profile page. 2. check, if the room status is
public with getRoomData 3. check, if the stream playlist is available
2019-04-04 18:07:19 +02:00
0xboobface
335233f473
Replace EvictingQueue with own implementation
...
For some unknown reason the EvictingQueue didn't evict or evicted only
partially. Nevertheless it caused an OutOfMemoryError.
2019-03-21 14:51:52 +01:00
0xboobface
1dd432dbd9
Add base URL setting for Bongacams
2019-03-05 17:01:42 +01:00
0xboobface
a249be01c7
Fix: Adjust Streamate search code to new JSON format
...
Streamate has changed the JSON response for the search. This change
adjusts our code to handle that new format.
2019-02-22 13:42:44 +01:00
0xboobface
37fc341767
Remove debug log
2019-02-20 13:47:34 +01:00
0xboobface
6dbdac6df5
Fix json exception in online check for BongaCams
2019-02-20 13:44:56 +01:00
0xboobface
e1eeb830da
Add getSanitizedName to Model
...
This method provides returns a name, which is safe to use with
filesystem I/O. Fc2Model returns the model ID for this.
2019-02-19 15:28:52 +01:00
0xboobface
6e58dd6be5
Implement follow/unfollow for BongaCams
2019-01-29 16:28:07 +01:00
0xboobface
e7feaad11c
Merge branch 'dev' into fc2
2019-01-29 13:05:43 +01:00
0xboobface
9f13a54eb6
Remove misleading log message
2019-01-28 16:20:07 +01:00
0xboobface
8e2abd2f11
Implement createModelFromUrl for FC2Live
2019-01-28 14:44:45 +01:00
0xboobface
626d13f87a
Implement createModelFromUrl
2019-01-28 13:32:42 +01:00
0xboobface
df38ed3027
Sanitize name before creeating a model object
...
Names can contain '/' on FC2Live, which messes with the directory
structure of recordings
2019-01-27 15:18:19 +01:00
0xboobface
ba0c456f19
Reduce log level for FC2Live websocket messages to TRACE
2019-01-27 15:17:30 +01:00
0xboobface
76c5c2e6c6
Remove log message
2019-01-27 14:10:45 +01:00
0xboobface
70a9d65e48
Fix login for FC2Live
...
FC2Live sends cookies with value "deleted" to invalidate previously set values. In the same request
they send new values, too. That confused OkHttp. We now use a custom cookie jar for FC2Live, which
ignores cookies with the value "deleted"
2019-01-27 14:05:45 +01:00
0xboobface
0f51be96c0
Implement FC2Live downloads for the server
2019-01-24 20:24:09 +01:00
0xboobface
16752b892c
Merge branch 'dev' into fc2
...
# Conflicts:
# common/src/main/java/ctbrec/sites/jasmin/LiveJasminHttpClient.java
2019-01-24 19:16:52 +01:00
0xboobface
aa093c0ec1
Delete all LiveJasmin cookies, if we are guests
2019-01-24 15:47:26 +01:00
0xboobface
0417fd6bfb
Remove guest session cookies on start for LiveJasmin
2019-01-24 15:41:47 +01:00
0xboobface
beeaca4beb
Implement login and follow/unfollow
2019-01-24 15:24:05 +01:00
0xboobface
6bb6637683
Remove guest session cookies on start for LiveJasmin
2019-01-23 18:27:34 +01:00
0xboobface
16fdee2a2c
Merge branch 'dev' into fc2
...
# Conflicts:
# client/src/main/java/ctbrec/ui/ExternalBrowser.java
2019-01-23 17:56:20 +01:00
0xboobface
44bc5d02aa
Add setting to change the base URL for LiveJasmin
...
This setting is for users, which are blocked for the main domain, like
users behind the great chinese wall.
2019-01-23 16:25:02 +01:00
0xboobface
9bfd15b35e
Use a different way to retrieve the master playlist
...
@M1h43ly posted URLs in #153 , which work without being logged in and
even seem to support HD streams much better.
2019-01-23 16:22:36 +01:00
0xboobface
c8ffdbe616
Send heartbeat every now and again
...
The heartbeat has to sent every now and again to keep the stream going.
Otherwise you will get a 403 after a few minutes when trying to access
the playlist.
2019-01-23 14:14:14 +01:00
0xboobface
19afa9ce79
Remove Fc2WebSocketClient
...
This is now handled in Fc2Model
2019-01-23 14:12:01 +01:00
0xboobface
64c82748dc
Count the websocket uses wth AtomicInteger
2019-01-22 22:42:46 +01:00
0xboobface
fc6aeff94a
Implemt special player handling for fc2live
2019-01-21 17:58:59 +01:00
0xboobface
55fc6729f8
Merge branch 'dev' into fc2
...
# Conflicts:
# client/src/main/java/ctbrec/ui/CamrecApplication.java
# client/src/main/java/ctbrec/ui/SiteUiFactory.java
2019-01-20 13:51:04 +01:00
0xboobface
ce839ee222
Implemented tipping for LiveJasmin
...
Add new class, which opens a chat websocket (relay server) and sends a tip message
2019-01-18 18:57:16 +01:00
0xboobface
86f086eb20
Create specialized HLS downloads for server and client
2019-01-18 16:32:47 +01:00
0xboobface
df47f4ba91
Add specialized HLS server download for LiveJasmin
...
The server-side HLS download has to refresh the master playlist URL like
the merged HLS donwload
2019-01-18 16:31:32 +01:00
0xboobface
3e4483aabd
Print out master playlist URL for LiveJasmin
2019-01-17 10:53:37 +01:00
0xboobface
ffcdb84714
Disable tipping for the time being
2019-01-15 17:10:30 +01:00
0xboobface
f24959b76e
Switch token data type to double
...
LiveJasmin and maybe other sites use a more currency like token system
2019-01-10 14:22:26 +01:00
0xboobface
bf6b715642
Login every 30 min to LiveJasmin so that the session does not expire
2019-01-09 20:35:31 +01:00
0xboobface
45df31eb15
Properly end websocket download
...
End the websocket download if a model changes state from online. Also
properly close both sockets and set isAlive to false, if the download is
closed or fails
2019-01-09 20:34:25 +01:00
0xboobface
a6709bd6db
Introduce external browser for logins
...
Since the JavaFX integrated browser does not work reliably for recaptcha and in general does not behave like standard browsers, I now use an external browser for the logins. The dependency to javafx-web has been removed.
The external browser is based on electron, which uses chromium as internal browser. The implementation can be found at https://github.com/0xboobface/ctbrec-minimal-browser
The browser is a minimal browser, which only shows the web page content without any other controls. It is launched by ctbrec in a new process and remote controlled over a socket connection. I first tried to control it via
stdin/stdout, but it turns out, that stdin is not supported by electron on windows.
2019-01-08 14:26:22 +01:00
0xboobface
7483c8505a
Merge branch 'dev' into fc2
2018-12-23 13:58:50 +01:00
0xboobface
154a78660f
Add comment with URL for token balance
2018-12-23 13:57:44 +01:00
0xboobface
e66b75848f
Add download for the chunked http mp4 stream
2018-12-23 13:57:25 +01:00
0xboobface
b8d9f4bc19
Implement search for livejasmin
2018-12-22 22:33:01 +01:00
0xboobface
c364250440
Add follow / unfollow for livejasmin
2018-12-22 20:53:41 +01:00
0xboobface
2425a9dc60
Add websocket download
...
This is the first version with working downloads for SD and HD. These
dowloads only work, if you are logged in. So at the moment you have to set the
session ID in the settings to make this work. The session ID can be copied
from a valid session in a browser.
2018-12-22 19:44:45 +01:00
0xboobface
4f3fd8a677
Add classes for LiveJasmin
2018-12-19 12:57:44 +01:00
0xboobface
2f09b1d517
Add own download class to manage the websocket connection
2018-12-18 13:18:49 +01:00
0xboobface
44b8deb27d
Map state connected to AWAY
2018-12-18 12:39:26 +01:00
0xboobface
0c35f4c219
Merge branch 'dev' into fc2
2018-12-17 23:01:21 +01:00
0xboobface
6dd7de9762
Fix: BongaCams search fails with JSON exceptions
2018-12-17 18:10:55 +01:00
0xboobface
eedb237923
Make sure, that the model ID is set
2018-12-17 17:22:21 +01:00
0xboobface
9958e04ef8
Make sure, that the model ID is set
...
When a Streamate model is added by URL, make sure, that the ID is
loaded, so that saving and loading works properly, since the ID is saved
as site specific data.
2018-12-17 17:13:15 +01:00
0xboobface
a0a083aaf6
Merge branch 'dev' into fc2
...
# Conflicts:
# common/src/main/java/ctbrec/io/HttpClient.java
2018-12-17 13:05:11 +01:00
0xboobface
1e47432714
Add origin stream source only, if mp4-ws sources are available
2018-12-16 17:21:11 +01:00
0xboobface
1ce9a111a9
Add tipping for Streamate
...
Tipping does not work, yet. The server returns success: false. I don't
know, what the parameters have to look like
2018-12-14 23:37:55 +01:00
0xboobface
4d7409f443
Implement follow/unfollow and login with cookies
2018-12-14 20:25:57 +01:00
0xboobface
c7e07b4b26
Implement login and favorites tab
2018-12-14 17:36:24 +01:00
0xboobface
461e65ed84
Switch to much simpler JSON api
2018-12-14 14:58:12 +01:00
0xboobface
70f4fa930f
Implement search for Streamate
2018-12-14 13:42:20 +01:00
0xboobface
64c60eaeaa
Add determination of stream url and stream sources
2018-12-14 02:39:07 +01:00
0xboobface
52cdf8d601
Add classes and first code for Streamate
2018-12-13 23:48:16 +01:00
0xboobface
560e73c1dd
Reduce log level for unused message types
2018-12-13 20:51:14 +01:00
0xboobface
dc8a4d4190
Don't add model to models or update it, if uid is not set
2018-12-13 17:09:40 +01:00
0xboobface
168ad694ae
Remove debug log message
2018-12-13 01:11:22 +01:00
0xboobface
8039359455
Remove playlistUrl check from isOnline
...
isOnline contained a check for playlistUrl != null, because sometimes
the playlistUrl is null even though the model is online, but it prevents
the followed tab from working correctly
2018-12-12 22:05:46 +01:00
0xboobface
a68341de82
Add actions to MFC's table view
2018-12-12 18:08:39 +01:00
0xboobface
c478f6b0f1
Make login methods synchronized
...
Add synchronized modifier to the login methods, so that only one thread
at a time tries to login. All the following threads then should be able
to use the session cookies
2018-12-12 12:48:45 +01:00
0xboobface
a5ec00c936
Add table for MFC which contains all models
2018-12-11 21:59:32 +01:00
0xboobface
be680a07f9
Map state password protected to private
2018-12-09 18:45:16 +01:00
0xboobface
2dc5fd4581
Add Event and EventReaction classes
2018-12-06 17:39:33 +01:00
0xboobface
093b36270a
Return at least ONLINE / OFFLINE, if the state is UNKNOWN
2018-12-05 21:01:01 +01:00
0xboobface
1970f08700
Return UNKOWN, if state is null
2018-12-05 20:59:51 +01:00
0xboobface
9f19b2c1fa
Merge branch 'dev' into notify
2018-12-05 16:08:55 +01:00
0xboobface
e6476e95ec
Add setting to ignore the upscaled video stream on MFC
2018-12-05 16:08:44 +01:00
0xboobface
42177b4399
Add enum to Model for the online states
2018-12-05 15:51:21 +01:00
0xboobface
65e6c5b76e
Merge branch 'dev' into notify
2018-12-05 12:58:51 +01:00
0xboobface
a7b0b3f374
Remove resolution cache
...
Resolutions are cached by ThumbCell
2018-12-05 12:30:27 +01:00
0xboobface
8abb3db8a5
Remove single thread executor
2018-12-05 12:10:21 +01:00
0xboobface
d4dadf9fea
Remove resolution cache
...
Resolution caching is done globally in ThumbCell
2018-12-04 18:31:31 +01:00
0xboobface
cd903566de
Use baseUrl in requestExtData
2018-12-03 16:26:37 +01:00
0xboobface
b97449a980
Filter out websocket servers with the wrong protocol
2018-12-03 15:24:44 +01:00
0xboobface
da87a1ae39
Add log message which websocket server is used
2018-12-03 14:35:14 +01:00