ESC
开源 1 分钟阅读

yoinks:在终端里轻松下载视频,告别流氓广告

yoinks 是一款新发布的开源命令行视频下载工具,基于 yt-dlp 构建,支持 YouTube、X/Twitter、Instagram、TikTok 等 1800 多个网站。用户在终端粘贴链接即可选择分辨率或导出 mp3,自动处理 yt-dlp 与 ffmpeg 依赖,界面基于 Ink 打造,主打无弹窗、无虚假下载按钮的清爽体验。

来源:GitHub日榜

yoinks

yoinks

随心下载任何视频。粘贴。下载。搞定。

直接在终端里从 YouTube、X/Twitter、Instagram、Threads、TikTok 以及 1800 多个其他网站下载视频。粘贴一个链接,选择分辨率(或仅音频的 mp3),大功告成。没有弹窗,没有虚假下载按钮,没有可疑的重定向。

yoinks 主界面——粘贴链接并点击 yoink

安装

npm install -g yoinks

或者无需安装任何东西直接试用:

npx yoinks

需要 Node 18 及以上版本。其余依赖(yt-dlp、ffmpeg)会自动获取或打包。

使用方法

$ yoinks https://youtu.be/dQw4w9WgXcQ    # 直接进入格式选择界面
$ yoinks                                 # 提示输入链接
$ yoinks --theme light                   # 强制使用浅色配色

yoinks 会接管整个终端(全屏、居中显示——退出时会恢复你的滚动缓冲区)。用 ↑/↓(或 j/k,或数字键)选择格式,然后按回车。esc 返回上一步,^c 退出。也可以直接用鼠标——yoink 按钮、格式列表和底部的快捷键提示均可点击,点击 logo 则返回主页。文件默认保存到 ~/Downloads,完成后文件路径会打印到终端。

默认的 auto 主题使用终端自身的前景和背景色,因此能自动适配浅色和深色终端主题,无需猜测。按 ^t 或点击底部的主题控件,可在当前会话中循环切换 auto、light 和 dark。也可以使用 --theme auto、--theme light 或 --theme dark 为单次启动指定起始主题。

yoinks 格式选择器——带预估文件大小的分辨率选项,外加仅音频 mp3

工作原理

  • 基于 yt-dlp。首次运行时,yoinks 会将独立的 yt-dlp 二进制文件下载到 ~/.yoinks/bin——无需 Python。如果你已经安装了 yt-dlp,它会直接使用你的版本。
  • ffmpeg(合并高分辨率视频流和提取 mp3 时需要)会从你的 PATH 中查找,若未找到则使用内置的 ffmpeg-static 作为后备。
  • 界面基于 Ink——终端版 React。

开发

npm install
npm run build        # 使用 tsup 打包到 dist/
npm run dev          # 文件变动时自动重新构建
node dist/cli.js <url>
npm run typecheck

无需发布即可将其作为全局命令试用:运行 npm link,之后就可以在任意位置运行 yoinks。

路线图

  • --best / --mp3 参数,跳过选择器(脚本化模式)
  • -o <dir> 指定输出文件夹
  • 支持播放列表 / 包含多个视频的推文串
  • 剪贴板检测:直接启动并自动推荐你复制的链接
  • 内置 yt-dlp 二进制的自更新(yt-dlp -U)
  • 发布到 npm(npm i -g yoinks / npx yoinks)
  • curl yoinks.sh | sh 安装器

关于合理使用的说明

yoinks 是一款个人存档工具。下载内容可能违反平台的服务条款——请只下载你有权保留的内容,并对创作者保持尊重。

许可证

MIT