Update documentation for GUI version

This commit is contained in:
whimsical-c4lic0 2026-03-01 05:04:52 -06:00
parent 1ee4ebe865
commit 584ce09644
12 changed files with 162 additions and 71 deletions

View File

@ -58,7 +58,7 @@ jobs:
mv ../outlin-cli/config.conf .
rm *.pdb
mv "OF DL.Gui.exe" "OF DL.exe"
mv "OF DL.Cli.exe" "OF DL - Legacy.exe"
mv "OF DL.Cli.exe" "OF DL - Classic.exe"
echo "➤ Remove unneeded playwright binaries"
rm -rf .playwright/node/darwin*

View File

@ -251,5 +251,5 @@ cookies/user-agent. Output is written to `{filename}_source.mp4`, then moved and
full spec), `docs/config/configuration.md` (organized list), and `docs/config/custom-filename-formats.md` if filename
tokens or formats are affected.
- Authentication flow changes (browser login, legacy methods, required fields): update `docs/config/auth.md`.
- CLI/menu flow or download workflow changes: update `docs/running-the-program.md`.
- CLI/menu flow or download workflow changes: update `docs/operation/classic-version.md`.
- Docker runtime or container flags/paths change: update `docs/installation/docker.md`.

View File

@ -394,9 +394,9 @@ Default: `false`
Allowed values: `true`, `false`
Description: If set to `false`, OF-DL will show a warning and ask for confirmation before starting downloads when
`device_client_id_blob` and/or `device_private_key` is missing.
If set to `true`, this warning is hidden and downloads start immediately.
Description: This configuration option has no effect in classic (text-based) versions of OF DL. If set to `false`, OF DL
will show a warning and ask for confirmation before starting downloads when `device_client_id_blob` and/or
`device_private_key` is missing. If set to `true`, this warning is hidden and downloads start immediately.
## HideShowScrapeSizeWarning
@ -406,9 +406,9 @@ Default: `false`
Allowed values: `true`, `false`
Description: If set to `false`, OF-DL will show a warning and ask for confirmation before starting downloads when
[ShowScrapeSize](#showscrapesize) is enabled.
If set to `true`, this warning is hidden and downloads start immediately.
Description: This configuration option has no effect in classic (text-based) versions of OF DL. If set to `false`, OF-DL
will show a warning and ask for confirmation before starting downloads when
[ShowScrapeSize](#showscrapesize) is enabled. If set to `true`, this warning is hidden and downloads start immediately.
## IgnoreOwnMessages
@ -418,8 +418,8 @@ 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
Description: By default (or when set to `false`), messages sent by yourself will be added to the metadata DB
and any media that 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
@ -612,8 +612,8 @@ Default: `"dark"`
Allowed values: `"light"`, `"dark"`
Description: Controls the OF-DL GUI theme.
Set to `"light"` for light mode or `"dark"` for dark mode.
Description: This configuration option has no effect in classic (text-based) versions of OF DL. Controls the OF DL
theme. Set to `"light"` for light mode or `"dark"` for dark mode.
## Timeout

View File

@ -3,14 +3,10 @@
## Current Method (versions >= 1.9.0)
OF DL allows you to log in to your OnlyFans account directly. This simplifies the authentication process significantly.
When prompted by the application, log into your OnlyFans account. Do not close the opened window, tab, or navigate away to another webpage.
When prompted by the application, log into your OnlyFans account. Do not close the opened window, tab, or navigate away
to another webpage.
The new window will close automatically when the authentication process has finished.
!!! warning
Some users have reported that "Sign in with Google" has not been working with this authentication method.
If you use the Google sign-in option to log into your OnlyFans account, use one of the [legacy authentication methods](#legacy-methods) described below.
!!! info
If you are using docker, follow the special [authentication instructions documented](/installation/docker) to authenticate OF-DL
@ -21,11 +17,14 @@ Legacy authentication methods involve creating/editing `auth.json` file yourself
### Browser Extension
You can use a browser extension to help get the required info for the `auth.json` file. The extension supports Google Chrome and Firefox and can be found [here](https://github.com/whimsical-c4lic0/OF-DL-Auth-Helper/) (https://github.com/whimsical-c4lic0/OF-DL-Auth-Helper/).
You can use a browser extension to help get the required info for the `auth.json` file. The extension supports Google
Chrome and Firefox and can be
found [here](https://github.com/whimsical-c4lic0/OF-DL-Auth-Helper/) (https://github.com/whimsical-c4lic0/OF-DL-Auth-Helper/).
### Manual Method
Open `auth.json` in a text editor of your choice. The default windows notepad is sufficient. When you open `auth.json` for the first time you should see something like this:
Open `auth.json` in a text editor of your choice. The default windows notepad is sufficient. When you open `auth.json`
for the first time you should see something like this:
```json
{
@ -36,7 +35,8 @@ Open `auth.json` in a text editor of your choice. The default windows notepad is
}
```
Next, log into OnlyFans, and press F12 to open the dev tools. In the filter box, type `api`, and open any page on OnlyFans (e.g. Messages). You should see some requests appear in the list within the network tab:
Next, log into OnlyFans, and press F12 to open the dev tools. In the filter box, type `api`, and open any page on
OnlyFans (e.g. Messages). You should see some requests appear in the list within the network tab:
![Image of dev tools panel showing network tab](/img/network_tab.png)
@ -56,7 +56,8 @@ The value of `USER_AGENT` will be set to what the `User-Agent` is set to in the
The value of `X_BC` will be set to what the `X-Bc` is set to in the Request Headers.
The value of `COOKIE` will be set to `auth_id=YOUR AUTH_ID HERE; sess=YOUR SESS HERE;`, please make sure you copy the values from within the Cookie field found in the Request Headers section.
The value of `COOKIE` will be set to `auth_id=YOUR AUTH_ID HERE; sess=YOUR SESS HERE;`, please make sure you copy the
values from within the Cookie field found in the Request Headers section.
If you have done everything correct you should end up with something like this (this is all dummy info):

View File

@ -1,24 +1,36 @@
# 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.
Without Widevine/CDM keys, OF DL uses ofdl.tools for decrypting DRM videos. With keys, OF DL directly communicates with
OnlyFans. It is highly recommended to use keys, both in case ofdl.tools has issues (which occur rarely) and for faster
download speeds.
Two files need to be generated, called `device_client_id_blob` and `device_private_key`. In your main OF DL folder (where you have `config.json` and `auth.json`), create a folder called `cdm` (if it does not already exist). Inside it, create a folder called `devices` and inside that, create a folder called `chrome_1610`. Finally, inside this last folder (`chrome_1610`), place the two key files. (Note that this folder name is a legacy name and OFDL does not actually use Chrome itself.)
## Manual Generation Method
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.
Two files need to be generated, called `device_client_id_blob` and `device_private_key`. In your main OF DL folder (
where you have `config.json` and `auth.json`), create a folder called `cdm` (if it does not already exist). Inside it,
create a folder called `devices` and inside that, create a folder called `chrome_1610`. Finally, inside this last
folder (`chrome_1610`), place the two key files. (Note that this folder name is a legacy name and OFDL does not actually
use Chrome itself for decryption.)
## 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)
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)
## Manual Generation Method
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.
## After install
Restart OF DL, and you should no longer see the yellow warning message about cdrm-project and instead see two green messages like so:
Restart OF DL, and you should no longer see the yellow warning message about cdrm-project and instead see two green
messages like so:
```
device_client_id_blob located successfully!

View File

@ -68,10 +68,10 @@ information about what it does, its default value, and the allowed values.
- [LimitDownloadRate](/config/all-configuration-options#limitdownloadrate)
- [DownloadLimitInMbPerSec](/config/all-configuration-options#downloadlimitinmbpersec)
- Logging
- [LoggingLevel](/config/all-configuration-options#logginglevel)
- Appearance
- [Theme](/config/all-configuration-options#theme)
- [HideMissingCdmKeysWarning](/config/all-configuration-options#hidemissingcdmkeyswarning)
- [HideShowScrapeSizeWarning](/config/all-configuration-options#hideshowscrapesizewarning)
- Logging
- [LoggingLevel](/config/all-configuration-options#logginglevel)

View File

@ -11,14 +11,20 @@ To run OF-DL in a docker container, follow these steps:
```bash
mkdir -p $HOME/ofdl/config $HOME/ofdl/data
```
Adjust `$HOME/ofdl` as desired (including in the commands below) if you want the files stored elsewhere.
Adjust `$HOME/ofdl` as desired (including in the commands below) if you want the files stored elsewhere.
4. Run the following command to start the docker container:
```bash
docker run --rm -it -v $HOME/ofdl/data/:/data -v $HOME/ofdl/config/:/config -p 8080:8080 git.ofdl.tools/sim0n00ps/of-dl:latest
```
If `config.json` and/or `rules.json` don't exist in the `config` directory, files with default values will be created when you run the docker container.
If you have your own Widevine keys, those files should be placed under `$HOME/ofdl/config/cdm/devices/chrome_1610/`.
5. OF-DL needs to be authenticated with your OnlyFans account. When prompted, open [http://localhost:8080](http://localhost:8080) in a web browser to log in to your OnlyFans account.
If `config.json` and/or `rules.json` don't exist in the `config` directory, files with default values will be created
when you run the docker container.
If you have your own Widevine keys, those files should be placed under `$HOME/ofdl/config/cdm/devices/chrome_1610/`.
5. Open [http://localhost:8080](http://localhost:8080) in a web browser, and click the "Connect" button on the webpage.
!!! info
If you wish to use the classic text-based version of OF-DL, append `--cli` to the end of your `docker run` command.
For instance, `docker run --rm -it -v $HOME/ofdl/data/:/data -v $HOME/ofdl/config/:/config -p 8080:8080 git.ofdl.tools/sim0n00ps/of-dl:latest --cli`
## Updating OF-DL
@ -28,12 +34,15 @@ When a new version of OF-DL is released, you can download the latest docker imag
docker pull git.ofdl.tools/sim0n00ps/of-dl:latest
```
You can then run the new version of OF-DL by executing the `docker run` command in the [Running OF-DL](#running-of-dl) section above.
You can then run the new version of OF-DL by executing the `docker run` command in the [Running OF-DL](#running-of-dl)
section above.
## Building the Docker Image (Optional)
Since official docker images are provided for OF-DL through Gitea (git.ofdl.tools), you do not need to build the docker image yourself.
If you would like to build the docker image yourself, however, start by cloning the OF-DL repository and opening a terminal in the root directory of the repository.
Since official docker images are provided for OF-DL through Gitea (git.ofdl.tools), you do not need to build the docker
image yourself.
If you would like to build the docker image yourself, however, start by cloning the OF-DL repository and opening a
terminal in the root directory of the repository.
Then, execute the following command while replacing `x.x.x` with the current version of OF-DL:
```bash

View File

@ -32,15 +32,20 @@ cd 'OF-DL'
- Build the project. Replace `%VERSION%` with the current version number of OF-DL (e.g. `1.9.20`).
```bash
dotnet publish "OF DL/OF DL.Cli.csproj" -p:Version=%VERSION% -p:PackageVersion=%VERSION% -c Release
cd 'OF DL/bin/Release/net10.0'
```
- Modern graphical version (recommended)
```bash
dotnet publish "OF DL.Cli/OF DL.Cli.csproj" -p:Version=%VERSION% -p:PackageVersion=%VERSION% -c Release
cd 'OF DL.Cli/bin/Release/net10.0'
```
- Classic text-based version
```bash
dotnet publish "OF DL.Cli/OF DL.Cli.csproj" -p:Version=%VERSION% -p:PackageVersion=%VERSION% -c Release
cd 'OF DL.Cli/bin/Release/net10.0'
```
- Download the windows release as described on [here](/installation/windows#installation).
- Add the `config.conf` and `rules.json` files as well as the `cdm` folder to the `OF DL/bin/Release/net10.0` folder.
- Run the application
```bash

View File

@ -2,22 +2,24 @@
## Requirements
### FFmpeg
You will need to download FFmpeg. You can download it from [here](https://www.gyan.dev/ffmpeg/builds/).
Make sure you download `ffmpeg-release-essentials.zip`. Unzip it anywhere on your computer. You need both `ffmpeg.exe` and `ffprobe.exe`.
Move `ffmpeg.exe` and `ffprobe.exe` to the same folder as `OF DL.exe` (downloaded in the installation steps below). If you choose to move them to a different folder,
you will need to specify the paths in the config file (see the `FFmpegPath` and `FFprobePath` [config options](/config/configuration)).
## Installation
1. Navigate to the OF-DL [releases page](https://git.ofdl.tools/sim0n00ps/OF-DL/releases), and download the latest release zip file. The zip file will be named `OFDLVx.x.x.zip` where `x.x.x` is the version number.
2. Unzip the downloaded file. The destination folder can be anywhere on your computer, preferably somewhere where you want to download content to/already have content downloaded.
3. Your folder should contain a folder named `cdm` as well as the following files:
- OF DL.exe
- config.json
- rules.json
- e_sqlite3.dll
- ffmpeg.exe
- ffprobe.exe
4. Once you have done this, run OF DL.exe
1. Navigate to the OF-DL [releases page](https://git.ofdl.tools/sim0n00ps/OF-DL/releases), and download the latest
release zip file. The zip file will be named `OFDLVx.x.x.zip` where `x.x.x` is the version number.
2. Unzip the downloaded file. The destination folder can be anywhere on your computer, preferably somewhere where you
want to download content to/already have content downloaded.
3. Your folder should contain 3 folders named `.playwright`, `cdm`, and `chromium-scripts` as well as the following
files:
- OF DL.exe
- OF DL - Legacy.exe
- config.json
- rules.json
- ffmpeg.exe
- ffprobe.exe
- LICENSE.ffmpeg
- playwright.ps1
- av_libglesv2.dll
- e_sqlite3.dll
- libHarfBuzzSharp.dll
- libSkiaSharp.dll
4. Once you have done this, run OF DL.exe (or OF DL - Classic.exe for the legacy text-based version)

View File

@ -1,7 +1,12 @@
# Running the Program
!!! info
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:
These instructions are for the Classic version of OF DL. For instructions relating to the modern graphical version,
see [here](/operation/modern-version).
# Running the Program
Once you are happy you have filled everything in [auth.json](/config/auth) correctly, you can double-click "OF DL -
Classic.exe", and you should see a command prompt window appear, it should look something like this:
![CLI welcome banner](/img/welcome_banner.png)
@ -52,7 +57,7 @@ files in the `logs` folder.
The `Logout and Exit` option allows you to remove your authentication from OF-DL. This is useful if you use multiple
OnlyFans accounts.
After you have made your selection the content should start downloading. Content is downloaded in this order:
After you have made your selection, the content should start downloading. Content is downloaded in this order:
1. Paid Posts
2. Posts

View File

@ -0,0 +1,55 @@
!!! info
These instructions are for the modern graphical version of OF DL. For the classic command-line version, see
[here](/operation/classic-version).
# Using OF DL (GUI)
## Open and sign in
Double-click on `OF DL.exe` to open the app.
If you are not signed in yet, you will see **Authentication Required**.
1. Click **Login with Browser** (recommended).
2. Sign in to your OnlyFans account in the browser window that opens.
3. Wait for OF DL to return to the main screen.
If browser login does not work for or you prefer to use another method, use **Manual Authentication** and read about
[Legacy Auth Methods](/config/auth/#legacy-methods).
## Choose what to download
From the menubar at the top of the OF DL window, open **Edit -> Configuration**.
In the **Download Media Types and Sources** section, choose what you want to download:
- Media types: videos, images, audio
- Sources: posts, messages, archived, stories, highlights, and more
In the **Download Behavior** section, you can choose where files are saved. There are many other options available to
configure on this page. Hover your mouse over the question mark icons for more information about each option or check
out the [configuration documentation](/config/all-configuration-options/) for additional details.
Click **Save Configuration** at the bottom of the page to save your changes and return to the main screen.
## Download content
On the main screen:
- Click on creators' names one by one to select them, or use the top checkbox to select all
- Use the list dropdown to quickly select creators from an OnlyFans list
- From the menubar at the top of the window, click **File -> Refresh** if your subscriptions or lists changed
Use the download buttons at the top:
- **Download Selected**: downloads media for the creators you selected
- **Download Purchased Tab**: downloads media from your Purchased tab
- **Download Single Post/Message**: downloads a single post or paid message URL
While any download is running:
- The **Activity Log** on the right half of the window shows progress and messages
- The progress bar at the bottom of the window shows current download status
- The **Stop** button in the top right corner of the window cancels the current download

View File

@ -7,7 +7,9 @@ nav:
- macOS: installation/macos.md
- Linux: installation/linux.md
- Docker: installation/docker.md
- Running the Program: running-the-program.md
- Running the Program:
- Modern Version: operation/modern-version.md
- Classic Version: operation/classic-version.md
- Config:
- Authentication: config/auth.md
- CDM (optional, but recommended): config/cdm.md