← 返回
未分类 中文

Dwnldr

Yarr! Plunder videos from the seven seas of the internet — YouTube, TikTok, Instagram, X, Reddit & 1000+ ports o' call. Drop a link, get full quality loot wi...
嘿!从七大海洋的互联网上掠夺视频——YouTube、TikTok、Instagram、X、Reddit 等1000+平台。粘贴链接,获取完整质量视频。
chordlini
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 313
下载
💾 0
安装
1
版本
#latest

概述

Video Downloader

Download videos from YouTube, TikTok, Instagram, Twitter/X, and 1000+ sites. Just paste a link — the video gets downloaded at full quality and sent back to you.

URL Detection (AUTO-TRIGGER)

CRITICAL: When the user sends a message that contains a URL from any of these domains, AUTOMATICALLY treat it as a download request. Do NOT ask "what do you want me to do with this?" — just download it.

Auto-detect domains:

  • youtube.com, youtu.be, m.youtube.com
  • tiktok.com, vm.tiktok.com
  • instagram.com (reels, posts, stories)
  • x.com, twitter.com
  • reddit.com (video posts)
  • twitch.tv (clips)
  • vimeo.com
  • facebook.com (videos, reels)

Pattern: If user message contains a URL matching these domains → skip questions, download immediately.

Download Flow

Step 1 — Download

yt-dlp --js-runtimes nodejs \
  -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
  --merge-output-format mp4 \
  --no-playlist \
  --output "/home/rami/.openclaw/workspace/_incoming/%(title).50s.%(ext)s" \
  "<URL>"

Fallback for stubborn sites (TikTok, Instagram):

yt-dlp --js-runtimes nodejs \
  -f "best" \
  --no-playlist \
  --output "/home/rami/.openclaw/workspace/_incoming/%(title).50s.%(ext)s" \
  "<URL>"

Step 2 — Strip metadata

Remove ALL metadata (title, author, GPS, comments, timestamps, source URL) for clean clips:

ffmpeg -i "/home/rami/.openclaw/workspace/_incoming/<filename>" \
  -map_metadata -1 \
  -fflags +bitexact \
  -flags:v +bitexact \
  -flags:a +bitexact \
  -c copy \
  "/home/rami/.openclaw/workspace/_incoming/<filename>_clean.mp4" \
  && mv "/home/rami/.openclaw/workspace/_incoming/<filename>_clean.mp4" \
        "/home/rami/.openclaw/workspace/_incoming/<filename>"

This strips: title, artist, comment, description, source URL, creation date, encoder info, GPS coordinates — everything.

Step 3 — Get file info

ls -lh /home/rami/.openclaw/workspace/_incoming/<filename>

Step 3 — Send to user

If file is under 50MB — send directly via Telegram:

openclaw message send \
  --channel telegram \
  --target <user_id> \
  --message "🎬 Downloaded: <title>" \
  --media /home/rami/.openclaw/workspace/_incoming/<filename>

If file is over 50MB — use LocalSend:

  1. Notify user: "Video is — too big for Telegram. Sending via LocalSend."
  2. Start LocalSend send flow:

```bash

localsend-cli send --to "" /home/rami/.openclaw/workspace/_incoming/

```

Buttons after send:

buttons: [
  [
    { "text": "🎬 Download Another", "callback_data": "dl:another" },
    { "text": "📱 Send via LocalSend", "callback_data": "dl:localsend" }
  ],
  [
    { "text": "🗑️ Delete File", "callback_data": "dl:delete" }
  ]
]

Step 4 — Cleanup

After confirmed delivery, offer to delete the file to save disk space.

Quality Options

Default is best quality MP4. If user asks for specific quality:

RequestFlag
---------------
"1080p"-f "bestvideo[height<=1080]+bestaudio/best[height<=1080]"
"720p"-f "bestvideo[height<=720]+bestaudio/best[height<=720]"
"audio only" / "mp3"-x --audio-format mp3
"thumbnail"--write-thumbnail --skip-download

Audio-Only Downloads

If user says "mp3", "audio only", "just the audio":

yt-dlp --js-runtimes nodejs \
  -x --audio-format mp3 \
  --output "/home/rami/.openclaw/workspace/_incoming/%(title).50s.%(ext)s" \
  "<URL>"

Batch Downloads (Playlists)

If user sends a playlist URL and says "download all":

yt-dlp --js-runtimes nodejs \
  -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
  --merge-output-format mp4 \
  --output "/home/rami/.openclaw/workspace/_incoming/%(title).50s.%(ext)s" \
  "<URL>"

Remove --no-playlist flag for playlists.

Error Handling

ErrorFix
------------
"Video unavailable"Private/deleted video — notify user
"Sign in to confirm"Age-restricted — try with --cookies-from-browser chrome
Geographic restrictionTry with --geo-bypass
Rate limitedWait 30s and retry once
Merge failedFallback to -f best (single stream)

Callback Reference

callback_dataAction
-----------------------
dl:anotherPrompt for another URL
dl:localsendSend last downloaded file via LocalSend
dl:deleteDelete the downloaded file
dl:audioRe-download as MP3

CLI Reference

CommandUsage
----------------
Best qualityyt-dlp -f "bestvideo+bestaudio/best" --merge-output-format mp4 URL
Audio onlyyt-dlp -x --audio-format mp3 URL
List formatsyt-dlp -F URL
Thumbnailyt-dlp --write-thumbnail --skip-download URL

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-12 05:46 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,351 📥 317,803
security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,211 📥 266,249
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 668 📥 323,872