2022-07-08 19:17:56 +01:00
# cobalt
2023-05-08 09:40:38 +01:00
Best way to save what you love.
2023-09-09 17:31:24 +01:00
Live web app: [cobalt.tools ](https://cobalt.tools/ )
2022-08-01 16:48:37 +01:00
2023-05-08 09:40:38 +01:00
![cobalt logo with repeated logo pattern background ](https://raw.githubusercontent.com/wukko/cobalt/current/src/front/icons/pattern.png "cobalt logo with repeated logo pattern background" )
2022-09-04 06:37:09 +01:00
2023-08-15 11:12:38 +01:00
[![DeepSource ](https://deepsource.io/gh/wukko/cobalt.svg/?label=active+issues&token=MsmsJ9zUOKwcQor0yaiFot84 )](https://deepsource.io/gh/wukko/cobalt/?ref=repository-badge)
2022-07-08 19:17:56 +01:00
2022-08-01 16:48:37 +01:00
## What's cobalt?
2023-08-15 11:12:38 +01:00
cobalt is social and media platform downloader that doesn't piss you off.
2022-08-06 16:21:48 +01:00
2023-05-08 09:40:38 +01:00
It's fast, friendly, and doesn't have any bullshit that modern web is filled with: no ads, trackers, or analytics.
Paste the link, get the video, move on. It's that simple. Just how it should be.
2022-07-08 19:17:56 +01:00
2022-09-03 16:34:23 +01:00
## Supported services
2023-05-08 09:40:38 +01:00
| Service | Video + Audio | Only audio | Only video | Additional notes or features |
| -------- | :---: | :---: | :---: | :----- |
2023-05-08 09:47:26 +01:00
| bilibili.com | ✅ | ✅ | ✅ | |
2023-08-20 14:59:34 +01:00
| Instagram | ✅ | ✅ | ✅ | Supports photos and videos, lets you pick what to save from multi-media posts. |
2023-05-08 09:47:26 +01:00
| Instagram Reels | ✅ | ✅ | ✅ | |
2023-06-07 11:18:41 +01:00
| Pinterest | ✅ | ✅ | ✅ | Support for videos and stories. |
2023-05-08 09:47:26 +01:00
| Reddit | ✅ | ✅ | ✅ | Support for GIFs and videos. |
| SoundCloud | ➖ | ✅ | ➖ | Audio metadata, downloads from private links. |
2023-08-20 11:11:16 +01:00
| Streamable | ✅ | ✅ | ✅ | |
2023-05-08 09:47:26 +01:00
| TikTok | ✅ | ✅ | ✅ | Supports downloads of: videos with or without watermark, images from slideshow without watermark, full (original) audios. |
2023-06-05 07:43:04 +01:00
| Tumblr | ✅ | ✅ | ✅ | Support for audio file downloads. |
2023-08-20 11:11:16 +01:00
| Twitter/X * | ✅ | ✅ | ✅ | Ability to pick what to save from multi-media tweets. |
2023-05-08 09:47:26 +01:00
| Vimeo | ✅ | ✅ | ✅ | Audio downloads are only available for dash files. |
| Vine Archive | ✅ | ✅ | ✅ | |
| VK Videos | ✅ | ❌ | ❌ | |
| VK Clips | ✅ | ❌ | ❌ | |
2023-06-05 07:43:04 +01:00
| YouTube Videos & Shorts | ✅ | ✅ | ✅ | Support for 8K, 4K, HDR, VR, and high FPS videos. Audio metadata & dubs. h264/av1/vp9 codecs. |
2023-05-08 09:47:26 +01:00
| YouTube Music | ➖ | ✅ | ➖ | Audio metadata. |
2023-05-08 09:40:38 +01:00
This list is not final and keeps expanding over time, make sure to check it once in a while!
2023-06-30 11:29:21 +01:00
2023-07-05 05:26:13 +01:00
*Reliability of downloads from Twitter is questionable due to its current management.
2022-12-17 11:22:39 +00:00
## cobalt API
2023-05-08 09:40:38 +01:00
cobalt has an open API that you can use in your projects for **free** .
2023-06-05 07:43:04 +01:00
It's easy and straightforward to use, [check out the docs ](https://github.com/wukko/cobalt/blob/current/docs/API.md ) and see for yourself.
Feel free to use the main API instance ([co.wuk.sh](https://co.wuk.sh/)) in your projects.
2022-08-01 16:48:37 +01:00
2022-07-13 21:32:00 +01:00
## Host an instance yourself
2022-07-08 19:17:56 +01:00
### Requirements
2023-05-08 09:40:38 +01:00
- Node.js 18 or above
2022-07-08 19:17:56 +01:00
- git
2022-08-01 16:48:37 +01:00
Setup script installs all needed `npm` dependencies, but you have to install `Node.js` and `git` yourself.
2022-07-08 19:17:56 +01:00
1. Clone the repo: `git clone https://github.com/wukko/cobalt`
2. Run setup script and follow instructions: `npm run setup`
2022-07-13 21:32:00 +01:00
3. Run cobalt via `npm start`
2022-07-08 19:17:56 +01:00
4. Done.
2023-06-27 14:56:15 +01:00
You need to host API and web app separately since v.6.0. Setup script will help you with that!
2023-06-05 07:43:04 +01:00
2023-05-08 09:40:38 +01:00
### Ubuntu 22.04+ workaround
`nscd` needs to be installed and running so that the `ffmpeg-static` binary can resolve DNS ([#101](https://github.com/wukko/cobalt/issues/101#issuecomment-1494822258)):
```bash
sudo apt install nscd
sudo service nscd start
```
2023-04-09 03:49:51 +01:00
### Docker
2023-06-05 07:43:04 +01:00
It's also possible to run cobalt via Docker. I *highly* recommend using Docker compose.
2023-08-15 11:12:38 +01:00
Check out the [example compose file ](https://github.com/wukko/cobalt/blob/current/docker-compose.example.yml ) and alter it for your needs.
2023-04-09 03:49:51 +01:00
2022-08-01 16:48:37 +01:00
## Disclaimer
2023-05-08 09:40:38 +01:00
cobalt is my passion project, so update schedule depends solely on my free time, motivation, and mood.
Don't expect any consistency in that.
2022-08-01 16:48:37 +01:00
2022-07-08 19:17:56 +01:00
## License
2023-05-08 09:40:38 +01:00
cobalt is under [AGPL-3.0 ](https://github.com/wukko/cobalt/blob/current/LICENSE ) license.
2023-01-29 18:39:53 +00:00
[Fluent Emoji ](https://github.com/microsoft/fluentui-emoji ) used in the project is under [MIT ](https://github.com/microsoft/fluentui-emoji/blob/main/LICENSE ) license.