From 473b8d0ef392ae2a63630842d7732903480505ff Mon Sep 17 00:00:00 2001 From: whimsical-c4lic0 Date: Wed, 18 Jun 2025 01:37:59 -0500 Subject: [PATCH 1/4] Add config sections docs page --- docs/config/all-configuration-options.md | 509 ++++++++++++++++++++ docs/config/configuration.md | 571 +++-------------------- mkdocs.yml | 22 +- 3 files changed, 590 insertions(+), 512 deletions(-) create mode 100644 docs/config/all-configuration-options.md diff --git a/docs/config/all-configuration-options.md b/docs/config/all-configuration-options.md new file mode 100644 index 0000000..98e8f8f --- /dev/null +++ b/docs/config/all-configuration-options.md @@ -0,0 +1,509 @@ +--- +sidebar_position: 3 +--- + +# All Configuration Options + +This page contains detailed information for each configuration option supported by OF-DL. For information about the structure of the `config.conf` file or a simple list of these configuration options, go to the [configuration page](/docs/config/configuration). + +## BypassContentForCreatorsWhoNoLongerExist + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: When a creator no longer exists (their account has been deleted), most of their content will be inaccessible. +Purchased content, however, will still be accessible by downloading media usisng the "Download Purchased Tab" menu option +or with the [NonInteractiveModePurchasedTab](#noninteractivemodepurchasedtab) config option when downloading media in non-interactive mode. + +## CreatorConfigs + +Type: `object` + +Default: `{}` + +Allowed values: An array of Creator Config objects + +Description: This configuration options allows you to set file name formats for specific creators. +This is useful if you want to have different file name formats for different creators. The values set here will override the global values set in the config file +(see [PaidPostFileNameFormat](#paidpostfilenameformat), [PostFileNameFormat](#postfilenameformat), +[PaidMessageFileNAmeFormat](#paidmessagefilenameformat), and [MessageFileNameFormat](#messagefilenameformat)). +For more information on the file name formats, see the [custom filename formats](/docs/config/custom-filename-formats) page. + +Example: +``` +"CreatorConfigs": { + "creator_one": { + "PaidPostFileNameFormat": "{id}_{mediaid}_{filename}", + "PostFileNameFormat": "{username}_{id}_{mediaid}_{mediaCreatedAt}", + "PaidMessageFileNameFormat": "{id}_{mediaid}_{createdAt}", + "MessageFileNameFormat": "{id}_{mediaid}_{filename}" + }, + "creator_two": { + "PaidPostFileNameFormat": "{id}_{mediaid}", + "PostFileNameFormat": "{username}_{id}_{mediaid}", + "PaidMessageFileNameFormat": "{id}_{mediaid}", + "MessageFileNameFormat": "{id}_{mediaid}" + } +} +``` + +## CustomDate + +Type: `string` + +Default: `null` + +Allowed values: Any date in `yyyy-mm-dd` format or `null` + +Description: [DownloadOnlySpecificDates](#downloadonlyspecificdates) needs to be set to `true` for this to work. +This date will be used when you are trying to download between/after a certain date. See [DownloadOnlySpecificDates](#downloadonlyspecificdates) and +[DownloadDateSelection](#downloaddateselection) for more information. + +## DownloadArchived + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Posts in the "Archived" tab will be downloaded if set to `true` + +## DownloadAudios + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Audios will be downloaded if set to `true` + +## DownloadAvatarHeaderPhoto + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Avatar and header images will be downloaded if set to `true` + +## DownloadDateSelection + +Type: `string` + +Default: `"before"` + +Allowed values: `"before"`, `"after"` + +Description: [DownloadOnlySpecificDates](#downloadonlyspecificdates) needs to be set to `true` for this to work. This will get all posts from before +the date if set to `"before"`, and all posts from the date you specify up until the current date if set to `"after"`. +The date you specify will be in the [CustomDate](#customdate) config option. + +## DownloadDuplicatedMedia + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: By default (or when set to `false`), the program will not download duplicated media. If set to `true`, duplicated media will be downloaded. + +## DownloadHighlights + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Highlights on a user's will be downloaded if set to `true` + +## DownloadImages + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Images will be downloaded if set to `true` + +## DownloadLimitInMbPerSec + +Type: `integer` + +Default: `4` + +Allowed values: Any positive integer + +Description: The download rate in MB per second. This will only be used if [LimitDownloadRate](#limitdownloadrate) is set to `true`. + +## DownloadMessages + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Free media within messages (including paid message previews) will be downloaded if set to `true` + +## DownloadOnlySpecificDates + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: If set to `true`, posts will be downloaded based on the [DownloadDateSelection](#downloaddateselection) and [CustomDate](#customdate) config options. +If set to `false`, all posts will be downloaded. + +## DownloadPaidMessages + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Paid media within messages (excluding paid message previews) will be downloaded if set to `true` + +## DownloadPaidPosts + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Paid posts will be downloaded if set to `true` + +## DownloadPath + +Type: `string` + +Default: `""` + +Allowed values: Any valid path + +Description: If left blank then content will be downloaded to `__user_data__/sites/OnlyFans/{username}`. +If you set the download path to `"S:/"`, then content will be downloaded to `S:/{username}` + +!!! note + + If you are using a Windows path, you will need to escape the backslashes, e.g. `"C:\\Users\\user\\Downloads\\OnlyFans\\"` + Please make sure your path ends with a `/` + +## DownloadPosts + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Free posts will be downloaded if set to `true` + +## DownloadPostsIncrementally + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: If set to `true`, only new posts will be downloaded from the date of the last post that was downloaded based off what's in the `user_data.db` file. +If set to `false`, the default behaviour will apply, and all posts will be gathered and compared against the database to see if they need to be downloaded or not. + +## DownloadStories + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Stories on a user's profile will be downloaded if set to `true` + +## DownloadStreams + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Posts in the "Streams" tab will be downloaded if set to `true` + +## DownloadVideos + +Type: `boolean` + +Default: `true` + +Allowed values: `true`, `false` + +Description: Videos will be downloaded if set to `true` + +## FFmpegPath + +Type: `string` + +Default: `""` + +Allowed values: Any valid path or `""` + +Description: This is the path to the FFmpeg executable (`ffmpeg.exe` on Windows and `ffmpeg` on Linux/macOS). +If the path is not set then the program will try to find it in both the same directory as the OF-DL executable as well +as the PATH environment variable. + +!!! note + + If you are using a Windows path, you will need to escape the backslashes, e.g. `"C:\\ffmpeg\\bin\\ffmpeg.exe"` + For example, this is not valid: `"C:\some\path\ffmpeg.exe"`, but `"C:/some/path/ffmpeg.exe"` and `"C:\\some\\path\\ffmpeg.exe"` are both valid. + +## FolderPerMessage + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: A folder will be created for each message (containing all the media for that message) if set to `true`. +When set to `false`, message media will be downloaded into the `Messages/Free` folder. + +## FolderPerPaidMessage + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: A folder will be created for each paid message (containing all the media for that message) if set to `true`. +When set to `false`, paid message media will be downloaded into the `Messages/Paid` folder. + +## FolderPerPaidPost + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: A folder will be created for each paid post (containing all the media for that post) if set to `true`. +When set to `false`, paid post media will be downloaded into the `Posts/Paid` folder. + +## FolderPerPost + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: A folder will be created for each post (containing all the media for that post) if set to `true`. +When set to `false`, post media will be downloaded into the `Posts/Free` folder. + +## IgnoreOwnMessages + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: By default (or when set to `false`), messages that were sent by yourself will be added to the metadata DB and any media which has been sent by yourself will be downloaded. If set to `true`, the program will not add messages sent by yourself to the metadata DB and will not download any media which has been sent by yourself. + +## IgnoredUsersListName + +Type: `string` + +Default: `""` + +Allowed values: The name of a list of users you have created on OnlyFans or `""` + +Description: When set to the name of a list, users in the list will be ignored when scraping content. +If set to `""` (or an invalid list name), no users will be ignored when scraping content. + +## IncludeExpiredSubscriptions + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: If set to `true`, expired subscriptions will appear in the user list under the "Custom" menu option. + +## IncludeRestrictedSubscriptions + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: If set to `true`, media from restricted creators will be downloaded. If set to `false`, restricted creators will be ignored. + +## LimitDownloadRate + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: If set to `true`, the download rate will be limited to the value set in [DownloadLimitInMbPerSec](#downloadlimitinmbpersec). + +## LoggingLevel + +Type: `string` + +Default: `"Error"` + +Allowed values: `"Verbose"`, `"Debug"`, `"Information"`, `"Warning"`, `"Error"`, `"Fatal"` + +Description: The level of logging that will be saved to the log files in the `logs` folder. +When requesting help with an issue, it is recommended to set this to `"Verbose"` and provide the log file. + +## MessageFileNameFormat + +Type: `string` + +Default: `""` + +Allowed values: Any valid string + +Description: Please refer to [custom filename formats](/docs/config/custom-filename-formats#messagefilenameformat) page to see what fields you can use. + +## NonInteractiveMode + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: If set to `true`, the program will run without any input from the user. It will scrape all users automatically +(unless [NonInteractiveModeListName](#noninteractivemodelistname) or [NonInteractiveModePurchasedTab](#noninteractivemodepurchasedtab) are configured). +If set to `false`, the default behaviour will apply, and you will be able to choose an option from the menu. + +!!! warning + + If NonInteractiveMode is enabled, you will be unable to authenticate OF-DL using the standard authentication method. + Before you can run OF-DL in NonInteractiveMode, you must either + + 1. Generate an auth.json file by running OF-DL with NonInteractiveMode disabled and authenticating OF-DL using the standard method **OR** + 2. Generate an auth.json file by using a [legacy authentication method](/docs/config/auth#legacy-methods) + + +## NonInteractiveModeListName + +Type: `string` + +Default: `""` + +Allowed values: The name of a list of users you have created on OnlyFans or `""` + +Description: When set to the name of a list, non-interactive mode will download media from the list of users instead of all +users (when [NonInteractiveMode](#noninteractivemode) is set to `true`). If set to `""`, all users will be scraped +(unless [NonInteractiveModePurchasedTab](#noninteractivemodepurchasedtab) is configured). + +## NonInteractiveModePurchasedTab + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: When set to `true`, non-interactive mode will only download content from the Purchased tab +(when [NonInteractiveMode](#noninteractivemode) is set to `true`). If set to `false`, all users will be scraped +(unless [NonInteractiveModeListName](#noninteractivemodelistname) is configured). + +## PaidMessageFileNameFormat + +Type: `string` + +Default: `""` + +Allowed values: Any valid string + +Description: Please refer to [custom filename formats](/docs/config/custom-filename-formats#paidmessagefilenameformat) page to see what fields you can use. + +## PaidPostFileNameFormat + +Type: `string` + +Default: `""` + +Allowed values: Any valid string + +Description: Please refer to [custom filename formats](/docs/config/custom-filename-formats#paidpostfilenameformat) page to see what fields you can use. + +## PostFileNameFormat + +Type: `string` + +Default: `""` + +Allowed values: Any valid string + +Description: Please refer to the [custom filename formats](/docs/config/custom-filename-formats#postfilenameformat) page to see what fields you can use. + +## RenameExistingFilesWhenCustomFormatIsSelected + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: When `true`, any current files downloaded will have the current format applied to them. +When `false`, only new files will have the current format applied to them. + +## ShowScrapeSize + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: If set to `true`, the total scrape size will be shown in bytes when downloading posts, messages, etc. +When set to `false`, the total number of posts, messages, etc. will be shown. + +!!! warning + + Setting this to `true` will have an impact on performance as it has to go through each piece of media and get the size + from the server, which is a big task and can sometimes get you rate limited. + +## SkipAds + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: Posts and messages that contain #ad or free trial links will be ignored if set to `true` + +## Timeout + +Type: `integer` + +Default: `-1` + +Allowed values: Any positive integer or `-1` + +Description: You won't need to set this, but if you see errors about the configured timeout of 100 seconds elapsing then +you could set this to be more than 100. It is recommended that you leave this as the default value. diff --git a/docs/config/configuration.md b/docs/config/configuration.md index 65315c5..c4cf364 100644 --- a/docs/config/configuration.md +++ b/docs/config/configuration.md @@ -4,511 +4,66 @@ sidebar_position: 2 # Configuration -The `config.conf` file contains all the options you can change, these options are listed below: - -# Configuration - External Tools - -## FFmpegPath - -Type: `string` - -Default: `""` - -Allowed values: Any valid path or `""` - -Description: This is the path to the FFmpeg executable (`ffmpeg.exe` on Windows and `ffmpeg` on Linux/macOS). -If the path is not set then the program will try to find it in both the same directory as the OF-DL executable as well -as the PATH environment variable. - -:::note - -If you are using a Windows path, you will need to escape the backslashes, e.g. `"C:\\ffmpeg\\bin\\ffmpeg.exe"` -For example, this is not valid: `"C:\some\path\ffmpeg.exe"`, but `"C:/some/path/ffmpeg.exe"` and `"C:\\some\\path\\ffmpeg.exe"` are both valid. - -::: - -# Configuration - Download Settings - -## DownloadAvatarHeaderPhoto - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Avatar and header images will be downloaded if set to `true` - -## DownloadPaidPosts - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Paid posts will be downloaded if set to `true` - -## DownloadPosts - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Free posts will be downloaded if set to `true` - -## DownloadArchived - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Posts in the "Archived" tab will be downloaded if set to `true` - -## DownloadStreams - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Posts in the "Streams" tab will be downloaded if set to `true` - -## DownloadStories - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Stories on a user's profile will be downloaded if set to `true` - -## DownloadHighlights - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Highlights on a user's will be downloaded if set to `true` - -## DownloadMessages - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Free media within messages (including paid message previews) will be downloaded if set to `true` - -## DownloadPaidMessages - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Paid media within messages (excluding paid message previews) will be downloaded if set to `true` - -## DownloadImages - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Images will be downloaded if set to `true` - -## DownloadVideos - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Videos will be downloaded if set to `true` - -## DownloadAudios - -Type: `boolean` - -Default: `true` - -Allowed values: `true`, `false` - -Description: Audios will be downloaded if set to `true` - -## IgnoreOwnMessages - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: By default (or when set to `false`), messages that were sent by yourself will be added to the metadata DB and any media which has been sent by yourself will be downloaded. If set to `true`, the program will not add messages sent by yourself to the metadata DB and will not download any media which has been sent by yourself. - -## DownloadPostsIncrementally - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: If set to `true`, only new posts will be downloaded from the date of the last post that was downloaded based off what's in the `user_data.db` file. -If set to `false`, the default behaviour will apply, and all posts will be gathered and compared against the database to see if they need to be downloaded or not. - -## BypassContentForCreatorsWhoNoLongerExist - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: When a creator no longer exists (their account has been deleted), most of their content will be inaccessible. -Purchased content, however, will still be accessible by downloading media usisng the "Download Purchased Tab" menu option -or with the [NonInteractiveModePurchasedTab](#noninteractivemodepurchasedtab) config option when downloading media in non-interactive mode. - -## DownloadDuplicatedMedia - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: By default (or when set to `false`), the program will not download duplicated media. If set to `true`, duplicated media will be downloaded. - -## SkipAds - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: Posts and messages that contain #ad or free trial links will be ignored if set to `true` - -## DownloadPath - -Type: `string` - -Default: `""` - -Allowed values: Any valid path - -Description: If left blank then content will be downloaded to `__user_data__/sites/OnlyFans/{username}`. -If you set the download path to `"S:/"`, then content will be downloaded to `S:/{username}` - -:::note - -If you are using a Windows path, you will need to escape the backslashes, e.g. `"C:\\Users\\user\\Downloads\\OnlyFans\\"` -Please make sure your path ends with a `/` - -::: - -## DownloadOnlySpecificDates - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: If set to `true`, posts will be downloaded based on the [DownloadDateSelection](#downloaddateselection) and [CustomDate](#customdate) config options. -If set to `false`, all posts will be downloaded. - -## DownloadDateSelection - -Type: `string` - -Default: `"before"` - -Allowed values: `"before"`, `"after"` - -Description: [DownloadOnlySpecificDates](#downloadonlyspecificdates) needs to be set to `true` for this to work. This will get all posts from before -the date if set to `"before"`, and all posts from the date you specify up until the current date if set to `"after"`. -The date you specify will be in the [CustomDate](#customdate) config option. - -## CustomDate - -Type: `string` - -Default: `null` - -Allowed values: Any date in `yyyy-mm-dd` format or `null` - -Description: [DownloadOnlySpecificDates](#downloadonlyspecificdates) needs to be set to `true` for this to work. -This date will be used when you are trying to download between/after a certain date. See [DownloadOnlySpecificDates](#downloadonlyspecificdates) and -[DownloadDateSelection](#downloaddateselection) for more information. - -# Configuration - File Settings - -## PaidPostFileNameFormat - -Type: `string` - -Default: `""` - -Allowed values: Any valid string - -Description: Please refer to [custom filename formats](/config/custom-filename-formats#paidpostfilenameformat) page to see what fields you can use. - -## PostFileNameFormat - -Type: `string` - -Default: `""` - -Allowed values: Any valid string - -Description: Please refer to the [custom filename formats](/config/custom-filename-formats#postfilenameformat) page to see what fields you can use. - -## PaidMessageFileNameFormat - -Type: `string` - -Default: `""` - -Allowed values: Any valid string - -Description: Please refer to [custom filename formats](/config/custom-filename-formats#paidmessagefilenameformat) page to see what fields you can use. - -## MessageFileNameFormat - -Type: `string` - -Default: `""` - -Allowed values: Any valid string - -Description: Please refer to [custom filename formats](/config/custom-filename-formats#messagefilenameformat) page to see what fields you can use. - -## RenameExistingFilesWhenCustomFormatIsSelected - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: When `true`, any current files downloaded will have the current format applied to them. -When `false`, only new files will have the current format applied to them. - -# Configuration - Creator-Specific Configurations - -## CreatorConfigs - -Type: `object` - -Default: `{}` - -Allowed values: An array of Creator Config objects - -Description: This configuration options allows you to set file name formats for specific creators. -This is useful if you want to have different file name formats for different creators. The values set here will override the global values set in the config file -(see [PaidPostFileNameFormat](#paidpostfilenameformat), [PostFileNameFormat](#postfilenameformat), -[PaidMessageFileNAmeFormat](#paidmessagefilenameformat), and [MessageFileNameFormat](#messagefilenameformat)). -For more information on the file name formats, see the [custom filename formats](/config/custom-filename-formats) page. - -Example: -``` -"CreatorConfigs": { - "creator_one": { - "PaidPostFileNameFormat": "{id}_{mediaid}_{filename}", - "PostFileNameFormat": "{username}_{id}_{mediaid}_{mediaCreatedAt}", - "PaidMessageFileNameFormat": "{id}_{mediaid}_{createdAt}", - "MessageFileNameFormat": "{id}_{mediaid}_{filename}" - }, - "creator_two": { - "PaidPostFileNameFormat": "{id}_{mediaid}", - "PostFileNameFormat": "{username}_{id}_{mediaid}", - "PaidMessageFileNameFormat": "{id}_{mediaid}", - "MessageFileNameFormat": "{id}_{mediaid}" - } -} -``` - -# Configuration - Folder Settings - -## FolderPerPaidPost - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: A folder will be created for each paid post (containing all the media for that post) if set to `true`. -When set to `false`, paid post media will be downloaded into the `Posts/Paid` folder. - -## FolderPerPost - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: A folder will be created for each post (containing all the media for that post) if set to `true`. -When set to `false`, post media will be downloaded into the `Posts/Free` folder. - -## FolderPerPaidMessage - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: A folder will be created for each paid message (containing all the media for that message) if set to `true`. -When set to `false`, paid message media will be downloaded into the `Messages/Paid` folder. - -## FolderPerMessage - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: A folder will be created for each message (containing all the media for that message) if set to `true`. -When set to `false`, message media will be downloaded into the `Messages/Free` folder. - -# Configuration - Subscription Settings - -## IncludeExpiredSubscriptions - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: If set to `true`, expired subscriptions will appear in the user list under the "Custom" menu option. - -## IncludeRestrictedSubscriptions - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: If set to `true`, media from restricted creators will be downloaded. If set to `false`, restricted creators will be ignored. - -## IgnoredUsersListName - -Type: `string` - -Default: `""` - -Allowed values: The name of a list of users you have created on OnlyFans or `""` - -Description: When set to the name of a list, users in the list will be ignored when scraping content. -If set to `""` (or an invalid list name), no users will be ignored when scraping content. - -# Configuration - Interaction Settings - -## NonInteractiveMode - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: If set to `true`, the program will run without any input from the user. It will scrape all users automatically -(unless [NonInteractiveModeListName](#noninteractivemodelistname) or [NonInteractiveModePurchasedTab](#noninteractivemodepurchasedtab) are configured). -If set to `false`, the default behaviour will apply, and you will be able to choose an option from the menu. - -!!! warning - - If NonInteractiveMode is enabled, you will be unable to authenticate OF-DL using the standard authentication method. - Before you can run OF-DL in NonInteractiveMode, you must either - - 1. Generate an auth.json file by running OF-DL with NonInteractiveMode disabled and authenticating OF-DL using the standard method **OR** - 2. Generate an auth.json file by using a [legacy authentication method](/config/auth#legacy-methods) - -## NonInteractiveModeListName - -Type: `string` - -Default: `""` - -Allowed values: The name of a list of users you have created on OnlyFans or `""` - -Description: When set to the name of a list, non-interactive mode will download media from the list of users instead of all -users (when [NonInteractiveMode](#noninteractivemode) is set to `true`). If set to `""`, all users will be scraped -(unless [NonInteractiveModePurchasedTab](#noninteractivemodepurchasedtab) is configured). - -## NonInteractiveModePurchasedTab - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: When set to `true`, non-interactive mode will only download content from the Purchased tab -(when [NonInteractiveMode](#noninteractivemode) is set to `true`). If set to `false`, all users will be scraped -(unless [NonInteractiveModeListName](#noninteractivemodelistname) is configured). - -# Configuration - Performance Settings - -## Timeout - -Type: `integer` - -Default: `-1` - -Allowed values: Any positive integer or `-1` - -Description: You won't need to set this, but if you see errors about the configured timeout of 100 seconds elapsing then -you could set this to be more than 100. It is recommended that you leave this as the default value. - -## LimitDownloadRate - -Type: `boolean` - -Default: `false` - -Allowed values: `true`, `false` - -Description: If set to `true`, the download rate will be limited to the value set in [DownloadLimitInMbPerSec](#downloadlimitinmbpersec). - -## DownloadLimitInMbPerSec - -Type: `integer` - -Default: `4` - -Allowed values: Any positive integer - -Description: The download rate in MB per second. This will only be used if [LimitDownloadRate](#limitdownloadrate) is set to `true`. - -# Configuration - Logging/Debug Settings - -## LoggingLevel - -Type: `string` - -Default: `"Error"` - -Allowed values: `"Verbose"`, `"Debug"`, `"Information"`, `"Warning"`, `"Error"`, `"Fatal"` - -Description: The level of logging that will be saved to the log files in the `logs` folder. -When requesting help with an issue, it is recommended to set this to `"Verbose"` and provide the log file. +The `config.conf` file contains all the options you can change. Click on a configuration option below for more +information about what it does, its default value, and the allowed values. + +- External + - [FFmpegPath](/config/all-configuration-options#ffmpegpath) + +- Download + - [IgnoreOwnMessages](/config/all-configuration-options#ignoreownmessages) + - [DownloadPostsIncrementally](/config/all-configuration-options#downloadpostsincrementally) + - [BypassContentForCreatorsWhoNoLongerExist](/config/all-configuration-options#bypasscontentforcreatorswhonolongerexist) + - [DownloadDuplicatedMedia](/config/all-configuration-options#downloadduplicatedmedia) + - [SkipAds](/config/all-configuration-options#skipads) + - [DownloadPath](/config/all-configuration-options#downloadpath) + - [DownloadOnlySpecificDates](/config/all-configuration-options#downloadonlyspecificdates) + - [DownloadDateSelection](/config/all-configuration-options#downloaddateselection) + - [CustomDate](/config/all-configuration-options#customdate) + - [ShowScrapeSize](/config/all-configuration-options#showscrapesize) + - Media + - [DownloadAvatarHeaderPhoto](/config/all-configuration-options#downloadavatarheaderphoto) + - [DownloadPaidPosts](/config/all-configuration-options#downloadpaidposts) + - [DownloadPosts](/config/all-configuration-options#downloadposts) + - [DownloadArchived](/config/all-configuration-options#downloadarchived) + - [DownloadStreams](/config/all-configuration-options#downloadstreams) + - [DownloadStories](/config/all-configuration-options#downloadstories) + - [DownloadHighlights](/config/all-configuration-options#downloadhighlights) + - [DownloadMessages](/config/all-configuration-options#downloadmessages) + - [DownloadPaidMessages](/config/all-configuration-options#downloadpaidmessages) + - [DownloadImages](/config/all-configuration-options#downloadimages) + - [DownloadVideos](/config/all-configuration-options#downloadvideos) + - [DownloadAudios](/config/all-configuration-options#downloadaudios) + +- File + - [PaidPostFileNameFormat](/config/all-configuration-options#paidpostfilenameformat) + - [PostFileNameFormat](/config/all-configuration-options#postfilenameformat) + - [PaidMessageFileNameFormat](/config/all-configuration-options#paidmessagefilenameformat) + - [MessageFileNameFormat](/config/all-configuration-options#messagefilenameformat) + - [RenameExistingFilesWhenCustomFormatIsSelected](/config/all-configuration-options#renameexistingfileswhencustomformatisselected) + +- [CreatorConfigs](/config/all-configuration-options#creatorconfigs) + +- Folder + - [FolderPerPaidPost](/config/all-configuration-options#folderperpaidpost) + - [FolderPerPost](/config/all-configuration-options#folderperpost) + - [FolderPerPaidMessage](/config/all-configuration-options#folderperpaidmessage) + - [FolderPerMessage](/config/all-configuration-options#folderpermessage) + +- Subscriptions + - [IncludeExpiredSubscriptions](/config/all-configuration-options#includeexpiredsubscriptions) + - [IncludeRestrictedSubscriptions](/config/all-configuration-options#includerestrictedsubscriptions) + - [IgnoredUsersListName](/config/all-configuration-options#ignoreduserslistname) + +- Interaction + - [NonInteractiveMode](/config/all-configuration-options#noninteractivemode) + - [NonInteractiveModeListName](/config/all-configuration-options#noninteractivemodelistname) + - [NonInteractiveModePurchasedTab](/config/all-configuration-options#noninteractivemodepurchasedtab) + +- Performance + - [Timeout](/config/all-configuration-options#timeout) + - [LimitDownloadRate](/config/all-configuration-options#limitdownloadrate) + - [DownloadLimitInMbPerSec](/config/all-configuration-options#downloadlimitinmbpersec) + +- Logging + - [LoggingLevel](/config/all-configuration-options#logginglevel) diff --git a/mkdocs.yml b/mkdocs.yml index 1dfbfda..6a215d6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,5 +1,19 @@ site_name: OF-DL Docs site_url: https://docs.ofdl.tools +nav: + - Home: index.md + - Running the Program: running-the-program.md + - Config: + - Authentication: config/auth.md + - CDM (optional, but recommended): config/cdm.md + - Configuration: config/configuration.md + - All Configuration Options: config/all-configuration-options.md + - Custom Filename Formats: config/custom-filename-formats.md + - Installation: + - Windows: installation/windows.md + - macOS: installation/macos.md + - Linux: installation/linux.md + - Docker: installation/docker.md theme: name: material features: @@ -20,14 +34,14 @@ theme: palette: - scheme: default toggle: - icon: material/toggle-switch-off-outline + icon: material/toggle-switch-off-outline name: Switch to dark mode primary: dark-blue accent: white - - scheme: slate + - scheme: slate toggle: icon: material/toggle-switch - name: Switch to light mode + name: Switch to light mode primary: dark-blue accent: white font: @@ -43,4 +57,4 @@ extra: social: - icon: fontawesome/brands/discord link: https://discord.com/invite/6bUW8EJ53j -copyright: "© 2025 OF-DL. All rights reserved." \ No newline at end of file +copyright: "© 2025 OF-DL. All rights reserved." From eaefd033aa0cd4853b73ea51a415ec1453d8c3c7 Mon Sep 17 00:00:00 2001 From: whimsical-c4lic0 Date: Wed, 18 Jun 2025 01:40:04 -0500 Subject: [PATCH 2/4] Remove unused metadata from docusaurus --- docs/config/all-configuration-options.md | 4 ---- docs/config/auth.md | 4 ---- docs/config/cdm.md | 10 +++------- docs/config/configuration.md | 4 ---- docs/config/custom-filename-formats.md | 4 ---- docs/installation/docker.md | 6 +----- docs/installation/linux.md | 6 +----- docs/installation/macos.md | 6 +----- docs/installation/windows.md | 6 +----- docs/running-the-program.md | 6 +----- 10 files changed, 8 insertions(+), 48 deletions(-) diff --git a/docs/config/all-configuration-options.md b/docs/config/all-configuration-options.md index 98e8f8f..1a979b1 100644 --- a/docs/config/all-configuration-options.md +++ b/docs/config/all-configuration-options.md @@ -1,7 +1,3 @@ ---- -sidebar_position: 3 ---- - # All Configuration Options This page contains detailed information for each configuration option supported by OF-DL. For information about the structure of the `config.conf` file or a simple list of these configuration options, go to the [configuration page](/docs/config/configuration). diff --git a/docs/config/auth.md b/docs/config/auth.md index 22589a7..2f93841 100644 --- a/docs/config/auth.md +++ b/docs/config/auth.md @@ -1,7 +1,3 @@ ---- -sidebar_position: 1 ---- - # Authentication ## Current Method (versions >= 1.9.0) diff --git a/docs/config/cdm.md b/docs/config/cdm.md index e171807..8915aab 100644 --- a/docs/config/cdm.md +++ b/docs/config/cdm.md @@ -1,8 +1,4 @@ ---- -sidebar_position: 4 ---- - -# CDM (optional, but recommended) +# CDM (optional, but recommended) Without Widevine/CDM keys, OF DL uses the 3rd party website cdrm-project.org for decrypting DRM videos. With keys, OF DL directly communicates with OnlyFans. It is highly recommended to use keys, both in case the cdrm-project site is having issues (which occur frequently, in our experience) and it will result in faster download speeds, too. However, this is optional, as things will work as long as cdrm-project is functional. @@ -12,13 +8,13 @@ Two files need to be generated, called `device_client_id_blob` and `device_priva You can find a tutorial on how to do this [here](https://forum.videohelp.com/threads/408031-Dumping-Your-own-L3-CDM-with-Android-Studio). -I have also made some [batch scripts](https://github.com/sim0n00ps/L3-Dumping) to run the commands included in the guide linked above that can save you some time and makes the process a little simpler. +I have also made some [batch scripts](https://github.com/sim0n00ps/L3-Dumping) to run the commands included in the guide linked above that can save you some time and makes the process a little simpler. ## Discord Method Generating these keys can be complicated, so the team (shout out to Masaki here) have set up a bot on the Discord server to help securely deliver these keys to users who need them. You can join the discord sever [here](https://discord.com/invite/6bUW8EJ53j) -After joining, visit the bot [here](https://discord.com/channels/1198332760947966094/1333835216313122887) (the pinned post in the `#ofdl` support forum) +After joining, visit the bot [here](https://discord.com/channels/1198332760947966094/1333835216313122887) (the pinned post in the `#ofdl` support forum) ## After install diff --git a/docs/config/configuration.md b/docs/config/configuration.md index c4cf364..89328ae 100644 --- a/docs/config/configuration.md +++ b/docs/config/configuration.md @@ -1,7 +1,3 @@ ---- -sidebar_position: 2 ---- - # Configuration The `config.conf` file contains all the options you can change. Click on a configuration option below for more diff --git a/docs/config/custom-filename-formats.md b/docs/config/custom-filename-formats.md index 72631fd..5aa61fb 100644 --- a/docs/config/custom-filename-formats.md +++ b/docs/config/custom-filename-formats.md @@ -1,7 +1,3 @@ ---- -sidebar_position: 3 ---- - # Custom Filename Formats In the config.conf file you can now specify some custom filename formats that will be used when downloading files. I have had to add 4 new fields to the auth.json file, these are: diff --git a/docs/installation/docker.md b/docs/installation/docker.md index 4d3b904..df0df6a 100644 --- a/docs/installation/docker.md +++ b/docs/installation/docker.md @@ -1,8 +1,4 @@ ---- -sidebar_position: 2 ---- - -# Docker +# Docker ## Running OF-DL diff --git a/docs/installation/linux.md b/docs/installation/linux.md index fe6cef5..e904f52 100644 --- a/docs/installation/linux.md +++ b/docs/installation/linux.md @@ -1,8 +1,4 @@ ---- -sidebar_position: 3 ---- - -# Linux +# Linux A Linux release of OF-DL is not available at this time, however you can run OF-DL on Linux using Docker. Please refer to the [Docker](/installation/docker) page for instructions on how to run OF-DL in a Docker container. diff --git a/docs/installation/macos.md b/docs/installation/macos.md index e999eef..fc55a55 100644 --- a/docs/installation/macos.md +++ b/docs/installation/macos.md @@ -1,8 +1,4 @@ ---- -sidebar_position: 4 ---- - -# macOS +# macOS macOS releases of OF-DL are not available at this time, however you can run OF-DL on macOS using Docker. Please refer to the [Docker](/installation/docker) page for instructions on how to run OF-DL in a Docker container. diff --git a/docs/installation/windows.md b/docs/installation/windows.md index c4fac48..bd58698 100644 --- a/docs/installation/windows.md +++ b/docs/installation/windows.md @@ -1,8 +1,4 @@ ---- -sidebar_position: 1 ---- - -# Windows +# Windows ## Requirements diff --git a/docs/running-the-program.md b/docs/running-the-program.md index 2d526f7..4628a76 100644 --- a/docs/running-the-program.md +++ b/docs/running-the-program.md @@ -1,8 +1,4 @@ ---- -sidebar_position: 3 ---- - -# Running the Program +# Running the Program Once you are happy you have filled everything in [auth.json](/config/auth) correctly, you can double click OF-DL.exe and you should see a command prompt window appear, it should look something like this: From 1572c1eee820ed5fb48a999c17ebd20c1493e507 Mon Sep 17 00:00:00 2001 From: whimsical-c4lic0 Date: Wed, 18 Jun 2025 01:50:32 -0500 Subject: [PATCH 3/4] Add docs for DisableBrowserAuth config option --- docs/config/all-configuration-options.md | 13 +++++++++++++ docs/config/configuration.md | 3 +++ 2 files changed, 16 insertions(+) diff --git a/docs/config/all-configuration-options.md b/docs/config/all-configuration-options.md index 1a979b1..b4168b2 100644 --- a/docs/config/all-configuration-options.md +++ b/docs/config/all-configuration-options.md @@ -58,6 +58,19 @@ Description: [DownloadOnlySpecificDates](#downloadonlyspecificdates) needs to be This date will be used when you are trying to download between/after a certain date. See [DownloadOnlySpecificDates](#downloadonlyspecificdates) and [DownloadDateSelection](#downloaddateselection) for more information. +## DisableBrowserAuth + +Type: `boolean` + +Default: `false` + +Allowed values: `true`, `false` + +Description: The built-in/bundled web browser will not be used to authenticate OF-DL if set to `true`. If set to `true`, +an `auth.json` file will need to be provided using a [legacy authentication method](/config/auth#legacy-methods). +If set to `true`, the `auth.json` file will not be deleted if authentication fails. If set to `false` (the default +behavior), OF-DL will delete the `auth.json` file if authentication fails. + ## DownloadArchived Type: `boolean` diff --git a/docs/config/configuration.md b/docs/config/configuration.md index 89328ae..83b1ece 100644 --- a/docs/config/configuration.md +++ b/docs/config/configuration.md @@ -3,6 +3,9 @@ The `config.conf` file contains all the options you can change. Click on a configuration option below for more information about what it does, its default value, and the allowed values. +- Auth + - [DisableBrowserAuth](/config/all-configuration-options#disablebrowserauth) + - External - [FFmpegPath](/config/all-configuration-options#ffmpegpath) From 37fae9185a7e78155705c43e3039bdbfd4e69c65 Mon Sep 17 00:00:00 2001 From: whimsical-c4lic0 Date: Wed, 18 Jun 2025 01:50:41 -0500 Subject: [PATCH 4/4] Fix links --- docs/config/all-configuration-options.md | 14 +++++++------- docs/installation/linux.md | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/config/all-configuration-options.md b/docs/config/all-configuration-options.md index b4168b2..60583a6 100644 --- a/docs/config/all-configuration-options.md +++ b/docs/config/all-configuration-options.md @@ -1,6 +1,6 @@ # All Configuration Options -This page contains detailed information for each configuration option supported by OF-DL. For information about the structure of the `config.conf` file or a simple list of these configuration options, go to the [configuration page](/docs/config/configuration). +This page contains detailed information for each configuration option supported by OF-DL. For information about the structure of the `config.conf` file or a simple list of these configuration options, go to the [configuration page](/config/configuration). ## BypassContentForCreatorsWhoNoLongerExist @@ -26,7 +26,7 @@ Description: This configuration options allows you to set file name formats for This is useful if you want to have different file name formats for different creators. The values set here will override the global values set in the config file (see [PaidPostFileNameFormat](#paidpostfilenameformat), [PostFileNameFormat](#postfilenameformat), [PaidMessageFileNAmeFormat](#paidmessagefilenameformat), and [MessageFileNameFormat](#messagefilenameformat)). -For more information on the file name formats, see the [custom filename formats](/docs/config/custom-filename-formats) page. +For more information on the file name formats, see the [custom filename formats](/config/custom-filename-formats) page. Example: ``` @@ -392,7 +392,7 @@ Default: `""` Allowed values: Any valid string -Description: Please refer to [custom filename formats](/docs/config/custom-filename-formats#messagefilenameformat) page to see what fields you can use. +Description: Please refer to [custom filename formats](/config/custom-filename-formats#messagefilenameformat) page to see what fields you can use. ## NonInteractiveMode @@ -412,7 +412,7 @@ If set to `false`, the default behaviour will apply, and you will be able to cho Before you can run OF-DL in NonInteractiveMode, you must either 1. Generate an auth.json file by running OF-DL with NonInteractiveMode disabled and authenticating OF-DL using the standard method **OR** - 2. Generate an auth.json file by using a [legacy authentication method](/docs/config/auth#legacy-methods) + 2. Generate an auth.json file by using a [legacy authentication method](/config/auth#legacy-methods) ## NonInteractiveModeListName @@ -447,7 +447,7 @@ Default: `""` Allowed values: Any valid string -Description: Please refer to [custom filename formats](/docs/config/custom-filename-formats#paidmessagefilenameformat) page to see what fields you can use. +Description: Please refer to [custom filename formats](/config/custom-filename-formats#paidmessagefilenameformat) page to see what fields you can use. ## PaidPostFileNameFormat @@ -457,7 +457,7 @@ Default: `""` Allowed values: Any valid string -Description: Please refer to [custom filename formats](/docs/config/custom-filename-formats#paidpostfilenameformat) page to see what fields you can use. +Description: Please refer to [custom filename formats](/config/custom-filename-formats#paidpostfilenameformat) page to see what fields you can use. ## PostFileNameFormat @@ -467,7 +467,7 @@ Default: `""` Allowed values: Any valid string -Description: Please refer to the [custom filename formats](/docs/config/custom-filename-formats#postfilenameformat) page to see what fields you can use. +Description: Please refer to the [custom filename formats](/config/custom-filename-formats#postfilenameformat) page to see what fields you can use. ## RenameExistingFilesWhenCustomFormatIsSelected diff --git a/docs/installation/linux.md b/docs/installation/linux.md index e904f52..faab242 100644 --- a/docs/installation/linux.md +++ b/docs/installation/linux.md @@ -34,7 +34,7 @@ dotnet publish -p:Version=%VERSION% -c Release cd 'OF DL/bin/Release/net8.0' ``` -- Download the windows release as described on [here](/docs/installation/windows#installation). +- Download the windows release as described on [here](/installation/windows#installation). - Add the `config.json` and `rules.json` files as well as the `cdm` folder to the `OF DL/bin/Release/net8.0` folder. - Run the application