diff --git a/client/src/main/java/ctbrec/ui/settings/SettingsTab.java b/client/src/main/java/ctbrec/ui/settings/SettingsTab.java index 568f28a4..aea4028e 100644 --- a/client/src/main/java/ctbrec/ui/settings/SettingsTab.java +++ b/client/src/main/java/ctbrec/ui/settings/SettingsTab.java @@ -475,7 +475,9 @@ public class SettingsTab extends Tab implements TabSelectionListener { splitOptions.add(new SplitAfterOption("10 min", 10 * 60)); splitOptions.add(new SplitAfterOption("15 min", 15 * 60)); splitOptions.add(new SplitAfterOption("20 min", 20 * 60)); + splitOptions.add(new SplitAfterOption("25 min", 25 * 60)); splitOptions.add(new SplitAfterOption("30 min", 30 * 60)); + splitOptions.add(new SplitAfterOption("45 min", 45 * 60)); splitOptions.add(new SplitAfterOption("60 min", 60 * 60)); return splitOptions; } @@ -491,9 +493,13 @@ public class SettingsTab extends Tab implements TabSelectionListener { splitOptions.add(new SplitBiggerThanOption("250 MiB", 250 * MiB)); splitOptions.add(new SplitBiggerThanOption("500 MiB", 500 * MiB)); splitOptions.add(new SplitBiggerThanOption("1 GiB", GiB)); + splitOptions.add(new SplitBiggerThanOption("1.5 GiB", 1500 * MiB)); splitOptions.add(new SplitBiggerThanOption("2 GiB", 2 * GiB)); + splitOptions.add(new SplitBiggerThanOption("2.5 GiB", 2500 * MiB)); splitOptions.add(new SplitBiggerThanOption("3 GiB", 3 * GiB)); + splitOptions.add(new SplitBiggerThanOption("3.5 GiB", 3500 * MiB)); splitOptions.add(new SplitBiggerThanOption("4 GiB", 4 * GiB)); + splitOptions.add(new SplitBiggerThanOption("4.5 GiB", 4500 * MiB)); splitOptions.add(new SplitBiggerThanOption("5 GiB", 5 * GiB)); splitOptions.add(new SplitBiggerThanOption("6 GiB", 6 * GiB)); splitOptions.add(new SplitBiggerThanOption("7 GiB", 7 * GiB)); diff --git a/common/src/main/java/ctbrec/Settings.java b/common/src/main/java/ctbrec/Settings.java index 566d5df8..c003e062 100644 --- a/common/src/main/java/ctbrec/Settings.java +++ b/common/src/main/java/ctbrec/Settings.java @@ -62,7 +62,8 @@ public class Settings { public String chaturbateBaseUrl = "https://chaturbate.com"; @Deprecated public boolean chaturbateUseFlaresolverr = false; - public int chaturbateMsBetweenRequests = 1000; + public int chaturbateMsBetweenRequests = 3000; + public Set chaturbateRegions = new HashSet<>(); public boolean chooseStreamQuality = false; public String colorAccent = "#FFFFFF"; public String colorBase = "#FFFFFF"; @@ -71,7 +72,7 @@ public class Settings { public String contactsheetTimestampLook = "font=sans-serif:fontcolor=white:fontsize=60:box=1:boxcolor=black@0.5:boxborderw=5"; public String dateTimeFormat = ""; public int defaultPriority = 50; - public boolean deleteOrphanedRecordingMetadata = false; + public boolean deleteOrphanedRecordingMetadata = true; public boolean determineResolution = false; public List disabledSites = new ArrayList<>(); public String downloadFilename = "$sanitize(${modelName})_$format(${localDateTime})"; @@ -91,8 +92,8 @@ public class Settings { public int httpSecurePort = 8443; public String httpServer = "localhost"; public int httpTimeout = 10000; - public String httpUserAgent = "Mozilla/5.0 (X11; Linux x86_64; rv:105.0) Gecko/20100101 Firefox/105.0"; - public String httpUserAgentMobile = "Mozilla/5.0 (Android 9.0; Mobile; rv:105.0) Gecko/20100101 Firefox/105.0"; + public String httpUserAgent = "Mozilla/5.0 (X11; Linux i686; rv:137.0) Gecko/20100101 Firefox/137.0"; + public String httpUserAgentMobile = "Mozilla/5.0 (Android 15; Mobile; rv:137.0) Gecko/137.0 Firefox/137.0"; public byte[] key = null; public List ignoredModels = new ArrayList<>(); public String lastDownloadDir = ""; @@ -129,13 +130,13 @@ public class Settings { public List modelsIgnored = new ArrayList<>(); public boolean monitorClipboard = false; public int onlineCheckIntervalInSecs = 60; - public boolean onlineCheckSkipsPausedModels = false; - public int overviewUpdateIntervalInSecs = 10; + public boolean onlineCheckSkipsPausedModels = true; + public int overviewUpdateIntervalInSecs = 15; @Deprecated public String password = ""; @Deprecated public String postProcessing = ""; - public int playlistRequestTimeout = 2000; + public int playlistRequestTimeout = 2500; public int httpClientMaxRequests = 64; public int httpClientMaxRequestsPerHost = 16; public int postProcessingThreads = 2; @@ -163,7 +164,7 @@ public class Settings { public String recordingsTableSortColumn = ""; public String recordingsTableSortType = ""; public String recordingsDir = System.getProperty("user.home") + File.separator + "ctbrec"; - public DirectoryStructure recordingsDirStructure = DirectoryStructure.FLAT; + public DirectoryStructure recordingsDirStructure = DirectoryStructure.ONE_PER_MODEL; public List recordLater = new ArrayList<>(); public boolean recordSingleFile = false; public long recordUntilDefaultDurationInMinutes = 24 * 60L; @@ -200,7 +201,7 @@ public class Settings { public LocalTime timeoutRecordingEndingAt = LocalTime.of(0, 0); public boolean totalModelCountInTitle = false; public boolean transportLayerSecurity = true; - public int thumbWidth = 180; + public int thumbWidth = 160; public boolean updateThumbnails = true; public boolean useHlsdl = false; @Deprecated @@ -215,11 +216,11 @@ public class Settings { public String webinterfacePassword = "sucks"; public String xlovecamUsername = ""; public String xlovecamPassword = ""; - public boolean stripchatVR = false; + public boolean stripchatVR = true; public boolean streamrayRecordGoalShows = false; public boolean checkForUpdates = true; public int thumbCacheSize = 16; - public boolean dreamcamVR = false; + public boolean dreamcamVR = true; public String filterBlacklist = ""; public String filterWhitelist = ""; public boolean checkResolutionByMinSide = false; diff --git a/common/src/main/resources/docs/ConfigurationFile.md b/common/src/main/resources/docs/ConfigurationFile.md index 8b484435..75b08df8 100644 --- a/common/src/main/resources/docs/ConfigurationFile.md +++ b/common/src/main/resources/docs/ConfigurationFile.md @@ -43,7 +43,7 @@ ignored. This is a collection of the most interesting values: - **httpUserAgent** - The user agent, which is used in the HTTP header, when ctbrec connects to a camsite. This is used to disguise, that it actually is a recording software :) -- **httpUserAgentMobile** - Same as *httpUserAgent*, but in same cases we have to pretend to be a mobile phone :) +- **httpUserAgentMobile** - Same as *httpUserAgent*, but in some cases we have to pretend to be a mobile phone :) - **key** - Key for the HMAC based authentication. If this is set in server config and contains values, the HMAC authentication is automatically active. @@ -77,8 +77,8 @@ ignored. This is a collection of the most interesting values: - **recordingsDir** - Where ctbrec saves the recordings. -- **recordingsDirStructure** (server only) - [`FLAT`, `ONE_PER_MODEL`, `ONE_PER_RECORDING`] How recordings are stored in the file system. `FLAT` - all - recordings in one directory; `ONE_PER_MODEL` - one directory per model; `ONE_PER_RECORDING` - each recordings ends up in its own directory. Change this only, +- **recordingsDirStructure** (server only) - [`FLAT`, `ONE_PER_MODEL`, `ONE_PER_GROUP`, `ONE_PER_RECORDING`] How recordings are stored in the file system. `FLAT` - all + recordings in one directory; `ONE_PER_MODEL` - one directory per model; `ONE_PER_GROUP` - one directory per model group; `ONE_PER_RECORDING` - each recordings ends up in its own directory. Change this only, if you have `recordSingleFile` set to `true` - **recordSingleFile** (server only) - [`true`,`false`] - How recordings are stored in the file system. `true` means, each recording is saved in one large diff --git a/common/src/main/resources/docs/QuestionsAndAnswers.md b/common/src/main/resources/docs/QuestionsAndAnswers.md index de5d7f80..79247648 100644 --- a/common/src/main/resources/docs/QuestionsAndAnswers.md +++ b/common/src/main/resources/docs/QuestionsAndAnswers.md @@ -8,7 +8,7 @@ them, but you have to figure it out yourself. To convert the files to another format, you have to remux them. You don't have to reencode them, since the files (usually, have not seen an exception yet) already contain H.264 video and AAC audio. You can remux the files manually with tools like [Avidemux](Avidemux.md), [MKVToolNix](MKVToolNix.md) or -[FFmpeg](FFmpeg.md) or use one of the [post-processing](PostProcessing.md) scripts. +[FFmpeg](FFmpeg.md) or use the `remux/transcode` step in [post-processing](PostProcessing.md). #### Streams are not getting recorded even though the model is online @@ -24,6 +24,8 @@ Use one of the following players: - [mpv](https://mpv.io/installation/) - [VLC](https://www.videolan.org/vlc/) +Enable hardware acceleration in your player otherwise playback may lag. + #### How can I playback the server recordings? Use one of the following players: @@ -47,7 +49,7 @@ exists. #### It takes a long time until a recording starts for a model You probably have a lot of models in the "Recording" list. CTB Recorder checks the models one after the other. This is done on -purpose to not fire too many requests in a short amount of time, because this can cause blocks by the camsites. +purpose to not fire too many requests in a short amount of time because this can cause blocks by the camsites. #### Can I run several instances of CTB Recorder diff --git a/common/src/main/resources/docs/RunningTheServer.md b/common/src/main/resources/docs/RunningTheServer.md index 76adc2e5..00fb4349 100644 --- a/common/src/main/resources/docs/RunningTheServer.md +++ b/common/src/main/resources/docs/RunningTheServer.md @@ -7,11 +7,11 @@ If you expose the server to the internet, I highly recommend enabling authentica The archive you downloaded contains a `server.bat` or `server.sh`, which can be used to start the server. On the first start, the server uses a default configuration. Once you terminate the server by pressing ctrl + c, the config is stored in your user home. -On Windows that is `C:\Users\{your user name}\AppData\Roaming\ctbrec\server.json` +On Windows that is `C:\Users\{your user name}\AppData\Roaming\ctbrec\\server.json` -On Linux it is `~/.config/ctbrec/server.json` +On Linux it is `~/.config/ctbrec//server.json` -On macOS it is `/Users/{your user name}/Library/Preferences/ctbrec` +On macOS it is `/Users/{your user name}/Library/Preferences/ctbrec//server.json` You can open this file in a text editor and change it to your likings. You probably only want to change `httpPort` and `recordingsDir`. Most of the other stuff is irrelevant since the server and CTB Recorder use the same config file format. When the server is running, you can connect to it with CTB Recorder by changing the setting "Record location" to "Remote". diff --git a/common/src/main/resources/docs/header.html b/common/src/main/resources/docs/header.html index 22b8146c..6f0c6b45 100644 --- a/common/src/main/resources/docs/header.html +++ b/common/src/main/resources/docs/header.html @@ -47,7 +47,7 @@ -