Skip to content

Qol/faster downloads and updates - #23

Open
SuperProCoolName wants to merge 5 commits into
pablostanley:mainfrom
SuperProCoolName:qol/faster-downloads-and-updates
Open

SuperProCoolName wants to merge 5 commits into
pablostanley:mainfrom
SuperProCoolName:qol/faster-downloads-and-updates

Conversation

@SuperProCoolName

@SuperProCoolName SuperProCoolName commented Sep 4, 2026

Copy link
Copy Markdown

Made some changes with claude

  • added flag --concurrent-fragments 4 - now it should download faster
  • added flag --cookies-from-browser firefox, now it attaches it, so for example instagram downloads some videos correctly
  • after download you can press o and the folder should open where you downloaded video
  • current version has all logs be put into /tmp folder without any scripts clearing it, should be fixed now

- download four fragments at a time (--concurrent-fragments 4), which
  sidesteps the per-connection throttling YouTube and HLS sites apply
- keep the managed yt-dlp in ~/.yoinks/bin fresh: a silent weekly check
  plus an explicit `yoinks --update`. A stale binary is the usual cause of
  sudden "download failed"; a yt-dlp the user installed is never touched
- `o` on the finished screen reveals the file in the system file manager
Private accounts, stories, age-gated videos and most Instagram posts are
login-walled — yt-dlp can borrow the cookies of a browser you're already
signed into. `--cookies <browser>` turns that on for both the metadata
probe and the download, and sticks in ~/.config/yoinks/config.json so it
only has to be typed once. The footer names the browser in use, since a
remembered setting that silently logs you in should be visible, and
`--cookies none` clears it.
Typing --cookies every time was the wrong default: the browser is right
there, and without cookies Instagram and anything age-gated just fails.
yoinks now finds an installed browser on its own (firefox first — chromium
stores are encrypted on macOS and Windows) and borrows its cookies. When
that browser's cookies turn out to be unreadable the run silently
continues signed out, so a guess can never cost you a download that would
have worked. --cookies none opts out, --cookies auto comes back.

The -J metadata dump each probe writes to the temp dir was never deleted,
so /tmp filled up one file per link. Runs now clean up after themselves on
exit and sweep dumps older than a day left by runs that were killed.
@SuperProCoolName
SuperProCoolName marked this pull request as draft September 4, 2026 20:01
A browser we picked ourselves was handed to yt-dlp for every link,
YouTube included, and YouTube answers a signed-in-but-stale cookie jar
with "The page needs to be reloaded" — for videos that download fine
signed out. It rotates session cookies constantly, so a running
browser's jar is usually already stale when yt-dlp reads it.

Automatic sign-in now skips YouTube; --cookies <browser> still covers
it, because pinning a browser is a deliberate choice and age-gated
videos need one. The probe's fallback also widened: any failure with
guessed cookies is retried without them, not just the ones that name
the cookie store.
explorer.exe /select,<path> is meant to open the folder with the file
highlighted, but on a fresh explorer session (no window opened yet)
it silently ignores the flag and opens Documents instead — the path
was always correct, Explorer just didn't act on it. Opening the
folder directly works every time; it just can't highlight the file
inside it.
@SuperProCoolName

Copy link
Copy Markdown
Author

Bugfixes related to my earlier changes:

  • youtube now downloads without cookies, denied download earlier
  • o correctly opens the folder now

@SuperProCoolName
SuperProCoolName marked this pull request as ready for review September 4, 2026 20:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant