Repository navigation
3.16.8
Stop without quitting
- Downloads can be stopped without quitting: Ctrl+C used to be the only way to stop downloads, and it quit the program. The check table has a Stop Downloads button (Ctrl+X) that empties the queue and stops the files in progress while the table stays open. Elsewhere the first Ctrl+C stops the downloads and a second one quits. Files that didn't finish keep their part files and resume on the next run. #451, fixes #440
- Fetching posts can be stopped too: the first Ctrl+C while posts, messages, stories, highlights, labels, streams, pinned, archived or paid content is being fetched stops the fetch. From the menu it goes back to the menu, a command-line run ends with exit code 130, and
--daemonshuts down. The same applies to the check table's fetch before the table opens. #453, fixes #445 - Fansly livestream recordings stop cleanly: stopping a recording killed ffmpeg outright, so whatever it hadn't written yet was lost. ffmpeg is now told to finish and close the file, and is killed only if it hasn't exited after 15 seconds. This applies to the stop event, Ctrl+C with
--liveand daemon shutdown. #452, fixes #442
Check table
- Open the check table from the Action Menu: a new choice, "Browse and pick media (check table)", asks the usual creator questions, then which table to open (Posts, Messages, Paid or Stories). When the table closes, downloads sent from it finish and you're back at the menu. Settings the table changes don't carry over to the next run. #436, fixes #425
- The cart downloads a creator's batch in one go: the cart was downloaded one file at a time and logged "Downloading up to N files at a time" for every file. A creator's cart is now one batch, and each row is still marked with its own result. #450, fixes #439
- A failed cart download refreshes only its own posts: the retry re-fetched the creator's whole area (the full timeline from 2000) to get fresh links. It now fetches just the failed timeline, archived, pinned, streams, paid or message posts, and falls back to the full refresh only when it has to. #463, fixes #458
- Open the download folder from the table:
oopens the folder of the highlighted row's file and selects it (Windows and macOS), or the creator's download folder if the file isn't on disk. An "Open Download Folder" button opens the creator's folder. #434, fixes #424 - Fewer columns by default: Post Media Count, Responsetype, Price, Post ID and Media ID are hidden.
hshows or hides them in the main and cart tables, and the choice is remembered. Their filters still work while hidden. #470, closes #468 - Progress shows while the table fetches: the fetch before the table opens showed nothing, so a long fetch looked stuck. It now shows the same page progress as a normal scrape, and the activity line goes back to what it said when the fetch ends, instead of staying on screen next to the download's own line. #448, fixes #438, fixes #467
- Paste into the ID filters: pasting into Media ID or Post ID did nothing. Pasted numbers now go in, and pasting a temp file name such as
tempvid_<media id>_<post id>.partfills both filters. #460, fixes #455 - Ctrl+D works with a sidebar box focused: a focused text box took Ctrl+D, and hiding a sidebar left the focus on a hidden box, so typing and the cart keys went nowhere. The table now gets the focus back. #428, fixes #422
- Sidebar layout and a Clear Filters button: the size and length boxes no longer overlap, the size boxes are labelled in bytes, and a Clear Filters button sits next to Filter. #431, fixes #423, fixes #427
Prompts and menus
- Esc goes back from any prompt: once inside a menu step there was no way back. Esc now cancels the current prompt and returns to the menu it came from, changing nothing. On the main menu it does nothing. #449, fixes #437
- A redownload Yes applies to that run only: answering Yes to "redownload all files" kept scanning from 2000 and re-downloading everything for the rest of the session. #435, fixes #433
- Clean redraw after a terminal resize: resizing the terminal left copies of the prompt's question on screen, and left old frames of the download display behind, clipped. Both now clear the screen and redraw. #469, fixes #466; #461, fixes #456
- The live display comes back after a prompt: after a prompt the download display didn't restart, and an empty "Activity Progress" box was printed before every later prompt. #429, fixes #420, fixes #421
- The error line no longer covers the help text: "Invalid input" and "You must select at least one" were drawn over the keybinding help. They now sit above it. #459, fixes #454
- The model picker's columns line up: each detail column (subscribed, end or renewed date, last seen, price) is padded to its widest value, wide characters included. #447, fixes #441
- The rescan hint shows only when it helps: once per run, and only when an area scanned from the last scan and the run downloads. Scan range lines end in "now" when no
--beforewas given. #432, fixes #430
Downloads and the API
- An expired signed link fails at once: a 403 from an expired signed CDN link was retried for over a minute although a retry can't succeed, and it raised the shared 403 backoff, which slowed the API calls fetching a fresh link. It now fails straight away without the backoff. #462, fixes #457
- Subscriptions are fetched without repeats: the next page started at the number of subscriptions returned, but OnlyFans counts hidden ones too, so pages overlapped and were fetched again. Paging now follows the requested page size and continues past a page that comes back empty. On a test account it took 13 requests instead of 19. #465, fixes #464
Dependencies and CI
- Dependencies upgraded: six unused packages removed;
aiohttpandclickdeclared directly; upgrades includerich15,textual8,cloup4 withclick8.5,tenacity9,psutil7,xxhash4 andaiofiles25. Stored media IDs are unchanged. #405, closes #404 - Locked dependencies are audited: a
pip-auditjob checksuv.lockfor known vulnerabilities on Linux, Windows and macOS, on Python 3.11 and 3.15. #407 - Dependabot version updates are on: for uv, GitHub Actions and Docker. #408
Other
- A glossary and the first decision record for the project's own terms. #446
- A flaky Esc test is fixed: the test now allows for slow CI runners. #472, fixes #471
Upgrade: uv tool upgrade ofscraper-community, pipx upgrade ofscraper-community or pip install -U ofscraper-community.
Full list: 3.16.7...3.16.8