2022-07-08 19:17:56 +01:00
# cobalt
Sleek and easy to use social media downloader built on JavaScript. Try it out live: [co.wukko.me ](https://co.wukko.me/ )!
2022-07-30 10:12:32 +01:00
![cobalt logo ](https://raw.githubusercontent.com/wukko/cobalt/current/src/front/icons/wide.png "cobalt logo" )
2022-07-08 19:17:56 +01:00
## What is cobalt?
2022-07-28 17:03:17 +01:00
cobalt aims to be the ultimate social media downloader, that is efficient, pretty, and doesn't bother you with ads or privacy invasion agreement popups.
2022-07-08 19:17:56 +01:00
2022-07-13 21:32:00 +01:00
cobalt doesn't remux any videos, so you get videos of max quality available (unless you change that in settings).
2022-07-08 19:17:56 +01:00
## What's supported?
- Twitter
2022-07-28 17:03:17 +01:00
- TikTok
2022-07-30 12:21:01 +01:00
- douyin
2022-07-08 19:17:56 +01:00
- YouTube and YouTube Music
- bilibili.com
- Reddit
- VK
2022-07-28 17:03:17 +01:00
## TO-DO
2022-07-30 10:11:25 +01:00
- [ ] niconico support
2022-07-28 17:03:17 +01:00
- [ ] Instagram support
2022-07-08 19:17:56 +01:00
- [ ] Quality switching for bilibili and Twitter
2022-07-17 13:58:51 +01:00
- [ ] Language picker in settings
2022-07-30 10:01:54 +01:00
- [ ] Make cobalt fully PWA compatible (add a service worker)
2022-07-08 19:17:56 +01:00
- [ ] Make switch buttons in settings selectable with keyboard
- [ ] Remake page rendering module to be more versatile
- [ ] Matching could be redone, I'll see what I can do
## Disclaimer
This is my passion project, so update scheduele depends on my motivation. Don't expect any consistency in that.
2022-07-13 21:32:00 +01:00
## Host an instance yourself
2022-07-28 17:03:17 +01:00
Code might be a little messy, but I do my best to improve it with every commit.
2022-07-08 19:17:56 +01:00
### Requirements
2022-07-08 19:18:52 +01:00
- Node.js 14.16 or above
2022-07-08 19:17:56 +01:00
- git
### npm modules
2022-07-13 21:32:00 +01:00
- cors
2022-07-08 19:17:56 +01:00
- dotenv
2022-07-30 13:01:51 +01:00
- esbuild
2022-07-28 17:03:17 +01:00
- express
2022-07-08 19:17:56 +01:00
- express-rate-limit
- ffmpeg-static
2022-07-28 17:03:17 +01:00
- got
2022-07-08 19:17:56 +01:00
- node-cache
2022-07-28 17:03:17 +01:00
- url-pattern
- xml-js
2022-07-08 19:17:56 +01:00
- ytdl-core
Setup script installs all needed **npm** dependencies, but you have to install Node.js and git yourself, if you don't have those already.
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.
## License
2022-07-28 17:03:17 +01:00
cobalt is under [AGPL-3.0 license ](https://github.com/wukko/cobalt/blob/current/LICENSE ), please keep that in mind.