{"id":18710118,"url":"https://github.com/NiREvil/OF-DRM","last_synced_at":"2025-12-30T02:07:54.122Z","repository":{"id":209505538,"uuid":"724242786","full_name":"NiREvil/OF-DL","owner":"NiREvil","description":"C# console app to download all of the media from Onlyfans accounts with DRM video downloading support ","archived":false,"fork":false,"pushed_at":"2024-02-17T21:33:55.000Z","size":419,"stargazers_count":25,"open_issues_count":2,"forks_count":3,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-12T11:18:49.494Z","etag":null,"topics":["of-dl","onlyfans","onlyfans-downloader"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NiREvil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-27T17:25:31.000Z","updated_at":"2025-03-24T09:11:07.000Z","dependencies_parsed_at":"2023-12-06T12:39:53.499Z","dependency_job_id":"78594fd7-46cb-48a7-a61f-1c21968d6daa","html_url":"https://github.com/NiREvil/OF-DL","commit_stats":null,"previous_names":["nirevil5thacc/of-dl","nirevil/of-dl"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/NiREvil/OF-DL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NiREvil%2FOF-DL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NiREvil%2FOF-DL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NiREvil%2FOF-DL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NiREvil%2FOF-DL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NiREvil","download_url":"https://codeload.github.com/NiREvil/OF-DL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NiREvil%2FOF-DL/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265883613,"owners_count":23843792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["of-dl","onlyfans","onlyfans-downloader"],"created_at":"2024-11-07T12:30:52.353Z","updated_at":"2025-12-30T02:07:54.116Z","avatar_url":"https://github.com/NiREvil.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OF-DRM\nC# console app to download DRM protected videos from Onlyfans accounts\n\n## Installation\nWe have tried to make this a lot more simple to set up compared to `OF DL`\n\n\u003cbr/\u003e \n\n\u003e [!NOTE]\n\u003e\n\u003e The only thing you need to do is go to the [releases][1] page and download the latest releases zip file.\n\u003e\n\u003e \u003cbr/\u003e \n\n\u003chr\u003e\u003cbr/\u003e \n\n### Extract the zip file somewhere safe using 7zip or winrar\n\nyou should have 3 files and 2 folders:\n- OF DRM.exe\n- auth.json\n- e_sqlite3.dll\n- EXEs [^1]\n- cdm [^2]\n\n### Next you need to fill out the auth.json file.\n\n\u003cbr/\u003e \n\n**1.** Go to www.onlyfans.com and login. \n\n\u003cbr/\u003e \n\n**2.** Press F12 to open dev tools and select the **`Network` tab**.\n\n\u003cbr/\u003e \n\n**3.** In the search box type 'api'\n\n\u003cbr/\u003e \n\n![image](https://user-images.githubusercontent.com/132307467/235547370-5ef8e273-ebf7-4783-a13a-225f5959c606.png)\n\n\u003cbr/\u003e \n\n**4.** Click on one of the requests (if nothing shows up refresh the page or click on one of the tabs such as messages to make something appear). \n\n\u003cbr/\u003e \n\n**5.** After clicking on a request, make sure the headers tab is selected and then scroll down to find the 'Request Headers' section, this is where you should be able to find the information you need.\n\n\u003cbr/\u003e \n\n**6.** Copy the values of `cookie`, `user-agent`, `user-id` (this should just be a number, do not include a `u`) and `x-bc` to the `auth.json` file where the paths to yt-dlp, ffmpeg and mp4decrypt should already be. \n\n\u003cbr/\u003e \n\n**7.** Save the file\n\n\u003cbr\u003e\u003cbr/\u003e \n\n**You should have something like this:**\n\n`\"USER_ID\": \"123456789\"` - Do NOT include the `u` that gets exported using the Onlyfans Cookie Helper\n\n\u003cbr/\u003e \n\n`\"USER_AGENT\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36\"` - Make sure this is set to your user-agent value \n\n\u003cbr/\u003e \n\n`\"X_BC\": \"2a9b28a68e7c03a9f0d3b98c28d70e8105e1f1df\"` - Make sure this is set to your x-bc value\n\n\u003cbr/\u003e \n\n`\"COOKIE\": \"auth_id=123456789; sess=k3s9tnzdc8vt2h47ljxpmwqy5r;\"` - Make sure you set auth_id to the same value as `user-id` and that you set your `sess` to your actual `sess` value, everytime you log out of Onlyfans this value will change so make sure to update it after every login.\n\n\u003cbr/\u003e \n\n### Next you will need to get 2 files\n\nyou will need to get device_client_id_blob and device_private_key.  \n\n\u003cbr/\u003e \n\nThese are used to get the decryption keys needed for downloading DRM videos.  \nYou can find a tutorial on how to do this [here][2]  \n\n\u003cbr/\u003e \n\nMake sure you remove the file extensions when renaming the 2 files, and move both files into `cdm/devices/chrome_1610/`.\n\n\u003cbr/\u003e \n\nOnce you have filled all of the information out you can close auth.json and double click on OF DRM.exe and you should be ready to start downloading videos.\n\n\u003cbr\u003e\u003cbr/\u003e \n\n## Videos\n\nThis scraper is aimed to download DRM videos only and nothing else.\n\n\u003cbr\u003e\u003cbr/\u003e \n\n### You will get the choice to:\n\n- Download None of the videos found\n- Download All of the videos found\n- Select individual videos found, you will be able to see the Post/Message Id along with DateTime of that Post/Message.\n\n\u003cbr/\u003e \n\nTo navigate the menu the can use the \u0026#8593; \u0026 \u0026#8595; arrows, to select/deselect video(s) press the `space` key and after you are happy with your selection(s) press `enter` to start downloading.\n\n\u003cbr\u003e\u003cbr/\u003e \n\n## Config Values\n\n`DownloadPaidPosts`:\n\nIf set to `true` then any posts on the users feed that have been purchased by you and have DRM enabled videos will be scraped.\n\n\u003cbr/\u003e \n\nIf set to `false` no paid posts will be scraped.\n\n\u003cbr/\u003e \n\n`DownloadPosts`:\n\nIf set to `true` then any posts on the users feed that have DRM enabled videos will be scraped.\n\n\u003cbr/\u003e \n\nIf set to `false` no posts will be scraped.\n\n\u003cbr/\u003e \n\n`DownloadArchived`:\n\nIf set to `true` then any archived posts on the users feed that have DRM enabled videos will be scraped.\n\nIf set to `false` no archived posts will be scraped.\n\n\u003cbr/\u003e \n\n`DownloadMessages`:\n\nIf set to `true` then any free messages that have DRM enabled videos will be scraped.\n\nIf set to `false` no free messages will be scraped.\n\n\u003cbr/\u003e \n\n`DownloadPaidMessages`:\n\nIf set to `true` then any paid messages that have been purchased by you and have DRM enabled videos will be scraped.\n\nIf set to `false` no paid messages will be scraped.\n\n\u003cbr/\u003e \n\n`IncludeExpiredSubscriptions`:\n\nIf set to `true` then any past subscriptions that aren't currently active are included in the list of accounts you can scrape.\n\nIf set to `false` then any past subscriptions are excluded from the list of accounts you can scrape from.\n\n\u003cbr/\u003e \n\n`DownloadPath`:\n\nIf left blank then content will be downloaded to `__user_data__/sites/OnlyFans/{username}`\n\nAn example is if you set the download path to `\"S:/\"` then content will be downloaded to `S:/{username}`\n\n\u003cbr\u003e\u003cbr/\u003e \n\n### Credits\n\n[Thanks to sim0n00ps][3]\n\n\n[^1]: this contains yt-dlp.exe, mp4decrypt.exe and ffmpeg.exe with the paths already set up correctly in the auth.json file. DO NOT TOUCH THEM IF YOU DON'T KNOW WHAT YOU ARE DOING!\n\n[^2]: this is where you need to put your device_client_id_blob and device_private_key files. They need to be placed in `cdm/devices/chrome_1610/`.\n\n[1]: https://github.com/NiREvil/OF-DRM/releases\n[2]: https://forum.videohelp.com/threads/408031-Dumping-Your-own-L3-CDM-with-Android-Studio\n[3]: https://github.com/sim0n00ps/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNiREvil%2FOF-DRM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNiREvil%2FOF-DRM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNiREvil%2FOF-DRM/lists"}