Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,42 @@ This is the first documented entry — a snapshot of what SlothArchiver could
do as of this release, not a history of every change that got it here.
Future releases will log what actually changed from the previous one.

## [1.3.0] — 2026-09-22
- **Add videos from virtually any yt-dlp-supported site to your library, not
just YouTube.** SoundCloud, Dailymotion, archive.org, PeerTube, and the rest
of the [1800+ sites yt-dlp supports](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)
can now be added to your permanent library the same way a YouTube video
can — versioned, labelled, and organized by platform instead of by
channel. "Add to library" is no longer greyed out for anything other than
YouTube.
- Every entry plays through the same full-featured player as your YouTube
library — including audio-only sources (SoundCloud, Bandcamp, etc.),
which now show their thumbnail/album art for the whole time they're
playing instead of a blank black screen, and can still be clipped like
any video.
- Each entry shows a color-coded platform label (SoundCloud orange,
Dailymotion blue, Vimeo cyan, Twitch purple, and so on) next to its
title, both on its own page and on its card in the library grid, plus a
new "Non-YouTube" filter to find them all at once.
- A video's page now shows an "Extra data" section with whatever the
source actually provides — uploader, upload date, license, categories,
tags, and, for music platforms, track/artist/album/genre.
- Embed metadata now works for these too, including music tags where
available, and MP3-only sources get their MP3 option folded into
"Convert to" instead of a separate, now-redundant Extract MP3 button.
- **Volume controls in the mini player and queue panel.** Both now have a
volume button that opens a small popover with a vertical slider, so you
can adjust background playback without needing the full player open.
- **Clips now remember their exact start/end timestamps**, and a new
"Mark clip on original video" button jumps back to the source video with
those same timestamps already marked — a quick way to re-clip or adjust
an existing clip without hunting for where it was cut from.
- **Fixed an audio/video sync bug when clipping.** A fast clip could end up
with its audio and video very slightly out of phase — hard to notice on
most content, but obvious on anything music-driven. Clips that need it now
get a quick, targeted re-encode of just the video stream (audio stays a
lossless copy either way) to keep the two in sync.

## [1.2.0] — 2026-09-18
- **Play anything in the background, and queue up more.** A new mini-player
bar at the bottom of the app lets you keep listening (or watching) while
Expand Down
27 changes: 15 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ Docker, servers, or a complicated setup to get one.**
*Free and open source: no subscriptions, no accounts, no server to run.*

SlothArchiver is a free desktop app for downloading and organizing videos and audio
from YouTube and other platforms into a permanent library on your own computer.
from YouTube and virtually any other platform yt-dlp supports into a permanent
library on your own computer.
Install it, point it at a folder, and it does the archiving for you: no
subscriptions, no re-uploading to yet another cloud service, no losing access
when a video gets taken down or a channel disappears. The name isn't ironic:
Expand All @@ -29,17 +30,17 @@ itself.

## Download

<!-- Update the version in these 5 links on every release, currently 1.2.0.
<!-- Update the version in these 5 links on every release, currently 1.3.0.
Each filename must match exactly what GitHub actually named the asset on
the release page -->

| Platform | Link |
|---|---|
| Windows (installer) | [Download](https://github.com/SlothSoftworks/Sloth-Archiver/releases/download/v1.2.0/SlothArchiver.Setup.1.2.0.exe) |
| Windows (portable, no install) | [Download](https://github.com/SlothSoftworks/Sloth-Archiver/releases/download/v1.2.0/SlothArchiver.1.2.0.exe) |
| macOS (Apple Silicon) | [Download](https://github.com/SlothSoftworks/Sloth-Archiver/releases/download/v1.2.0/SlothArchiver-1.2.0-arm64.dmg) |
| macOS (Intel) | [Download](https://github.com/SlothSoftworks/Sloth-Archiver/releases/download/v1.2.0/SlothArchiver-1.2.0.dmg) |
| Linux (AppImage) | [Download](https://github.com/SlothSoftworks/Sloth-Archiver/releases/download/v1.2.0/SlothArchiver-1.2.0.AppImage) |
| Windows (installer) | [Download](https://github.com/SlothSoftworks/Sloth-Archiver/releases/download/v1.3.0/SlothArchiver.Setup.1.3.0.exe) |
| Windows (portable, no install) | [Download](https://github.com/SlothSoftworks/Sloth-Archiver/releases/download/v1.3.0/SlothArchiver.1.3.0.exe) |
| macOS (Apple Silicon) | [Download](https://github.com/SlothSoftworks/Sloth-Archiver/releases/download/v1.3.0/SlothArchiver-1.3.0-arm64.dmg) |
| macOS (Intel) | [Download](https://github.com/SlothSoftworks/Sloth-Archiver/releases/download/v1.3.0/SlothArchiver-1.3.0.dmg) |
| Linux (AppImage) | [Download](https://github.com/SlothSoftworks/Sloth-Archiver/releases/download/v1.3.0/SlothArchiver-1.3.0.AppImage) |

All builds are unsigned, so your OS will show a first-run security warning.
See [Installing](#installing) below.
Expand Down Expand Up @@ -93,10 +94,12 @@ That's the whole point of SlothArchiver: a simple catalogued library, organized
- **Download video or audio** from YouTube and virtually any other site yt-dlp
supports (1800+ platforms, including SoundCloud, TikTok, Instagram, Facebook,
Dailymotion, and more) in the quality you choose.
- **A real library, not just a downloads folder.** Every video is organized by
channel, searchable, and keeps a history of versions if you ever re-fetch it.
Most downloaders stop at "file saved somewhere"; SlothArchiver actually keeps
track of what you have.
- **A real library, not just a downloads folder.** Works with YouTube and
virtually any other yt-dlp-supported platform — YouTube videos are
organized by channel, everything else by platform, and either way it's
searchable, filterable, and keeps a history of versions if you ever
re-fetch it. Most downloaders stop at "file saved somewhere"; SlothArchiver
actually keeps track of what you have.
- **Playlist archiving**: save an entire playlist at once, and refresh it later to
pick up new additions without losing what you already have, with removed videos
automatically flagged instead of silently disappearing.
Expand Down Expand Up @@ -219,7 +222,7 @@ SlothArchiver is a personal-use, local tool: everything it downloads stays in yo
>TL;DR: It's a gray area as far as YouTube is concerned but not illegal. This is a personal, local-only archiving tool; staying within your platform's ToS and your local copyright law is on you.

#### What platforms does SlothArchiver support downloading from?
At time of writing we support YouTube for downloads, library, and playlists. For pure downloads, we support virtually any site [yt-dlp itself supports](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md) (1800+ platforms), including TikTok, Instagram, Twitter, Facebook, SoundCloud, and Dailymotion, to name a few with dedicated recognition in the app's UI.
Downloads and the library both work with virtually any site [yt-dlp itself supports](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md) (1800+ platforms), including YouTube, TikTok, Instagram, Twitter, Facebook, SoundCloud, and Dailymotion, to name a few with dedicated recognition in the app's UI. Playlists are currently YouTube-only (see "Can I download an entire playlist?" below).

#### What operating systems does SlothArchiver run on?
Currently we support Mac, Linux, and Windows. This is a solo dev operation and I manually create the executables per system, so I expect there could be OS issues as more people try out the software on their systems. If you experience any issues, let me know by raising an issue and detailing it there.
Expand Down
1 change: 0 additions & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ What's being developed right now? These are some of the topic that I'm working o
- **Custom player improvements** - new playback features and general
improvements to the app's built-in player.
- **More Library flexibility** - More options to tag and explore libraries in different partitions so you can save and catalogue your downloads in different library navigation views if you choose.
- **Expanded library** - Expanding the library function from only youtube to more platforms and adding more flexibility so all your videos can use the built in ffmpeg tools

Got a feature you'd like to see? Check the README's FAQ for how to raise it
as an issue.
13 changes: 6 additions & 7 deletions docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# sloth-archiver — Architecture Overview

sloth-archiver is a desktop application (built on Electron, with a React/TypeScript
interface) for downloading and archiving video and audio content — primarily from
YouTube, with download support for virtually any other site yt-dlp itself
supports (1800+ platforms) — into a personal, local library on the user's own
machine. It wraps the well-known `yt-dlp` tool for the actual
extraction/download work and `ffmpeg` for local media processing, and adds a
persistent, browsable library on top: versioned entries, playlists, search, and a
built-in player.
interface) for downloading and archiving video and audio content from YouTube
and virtually any other site yt-dlp itself supports (1800+ platforms) into a
personal, local library on the user's own machine. It wraps the well-known
`yt-dlp` tool for the actual extraction/download work and `ffmpeg` for local
media processing, and adds a persistent, browsable library on top: versioned
entries, playlists (YouTube only, for now), search, and a built-in player.

This document explains how the pieces fit together and how data moves through the
system for its main features. It is written for a technical reader who wants to
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "sloth-archiver",
"private": true,
"version": "1.2.0",
"version": "1.3.0",
"description": "A desktop app for downloading and archiving videos, with a built-in library and playlist tracking.",
"author": "Sloth <sloth.software.dev@protonmail.com>",
"license": "GPL-3.0-or-later",
Expand Down
8 changes: 8 additions & 0 deletions src/electron/__fixtures__/ytdlp-info/archive_org.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"id": "BigBuckBunny_124",
"title": "Big Buck Bunny",
"extractor_key": "ArchiveOrg",
"license": "http://creativecommons.org/licenses/by/3.0/",
"timestamp": 1309554623,
"track": "big buck bunny 720p surround"
}
8 changes: 8 additions & 0 deletions src/electron/__fixtures__/ytdlp-info/dailymotion.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"id": "xbafapm",
"title": "\"Tokidoki Bosotto Russia-go de Dereru Tonari no Aalya-san (Alya Sometimes Hides Her Feelings in Russian)\" upcoming TV anime season 2 PV",
"extractor_key": "Dailymotion",
"timestamp": 1789872906,
"uploader_id": "x1dagit",
"tags": []
}
10 changes: 10 additions & 0 deletions src/electron/__fixtures__/ytdlp-info/peertube.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": "9c9de5e8-0a1e-484a-b099-e80766180a6d",
"title": "What is PeerTube?",
"extractor_key": "PeerTube",
"license": "Attribution - Share Alike",
"timestamp": 1538391166,
"uploader_id": "3",
"categories": ["Science & Technology"],
"tags": ["framasoft", "peertube"]
}
11 changes: 11 additions & 0 deletions src/electron/__fixtures__/ytdlp-info/soundcloud.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"id": "21792829",
"title": "First Of The Year (Equinox)",
"extractor_key": "Soundcloud",
"license": "all-rights-reserved",
"timestamp": 1314199241,
"track": "First Of The Year (Equinox)",
"artist": "Skrillex",
"genre": "Dubstep",
"uploader_id": "856062"
}
10 changes: 10 additions & 0 deletions src/electron/__fixtures__/ytdlp-info/youtube.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": "aqz-KE-bpKQ",
"title": "Big Buck Bunny 60fps 4K - Official Blender Foundation Short Film",
"extractor_key": "Youtube",
"license": "Creative Commons Attribution license (reuse allowed)",
"timestamp": 1415628355,
"uploader_id": "@BlenderOfficial",
"categories": ["Film & Animation"],
"tags": ["blender", "animation", "4K", "UHD", "Big Buck Bunny (Film)", "Blender Foundation (Nonprofit Organization)", "Short Film (Film Genre)", "4K Resolution"]
}
Loading
Loading