usage:
- create cookies.json file somewhere, preferrably outside cobalt directory
- in docker, you can bind mount it (`volumes` in composefile)
- if you don't want cobalt to update the cookies, set it to `:ro` (cobalt will print a warning about this, ignore it)
- set COOKIE_PATH to the absolute path of this file
- enjoy?
usage in services: probably the simplest api ever
- import { getCookie, updateCookie } from '../../cookie/manager.js';
- const cookie = getCookie('<service_name>');
- add this to headers - `headers: { cookie }`
- after fetch is done, save potential cookie updates: updateCookie(cookie, fetch.headers)
- see instagram.js for example usage
- fixed streamable downloads in safari
- added background blur to popup backdrop
- reduced shadow blur for popups
- fixed content going out of corners in picker
- added support for x.com urls
- removed del shortcut for clearing url input area because it was causing regular typing issues
- added info about no liability
- fixed donate button glow and text backdrop padding
- updated donation and privacy policy texts for more clarity in both english and russian
- made cors question in setup script to take yes as answer, not just 'y'
- text-to-copy now has proper rounding when highlighted
- home screen now smoothly fades in instead of popping in
new in this commit:
- rounded corners everywhere! cobalt is now safe for everyone who can't handle sharp objects.
- proper banner loading. no more jumping text!
- proper banner error handling. if banner wasn't loaded, it'll simply go grey instead of disappearing.
- links are no longer italic and are instead underlined.
- collapsible lists now have corresponding emoji.
- donate button is now highlighted with magenta instead of white.
- added a list of keyboard shortcuts to about tab.
- centered old changelog loader.
- remade error and save popups. both are now properly located and sized on mobile screens. this is the first step in modernizing cobalt ui!
- fixed >> button getting stuck in error state.
- removed ip verification and updated privacy policy to reflect this change.
- streamable links now last for 20 seconds instead of 2 minutes.
- cleaned up stream verification algorithm. now the same function isn't run 4 times in a row.
- removed deprecated way of hosting a cobalt instance.
in this commit:
- enhanced css (hover border, less annoying donate highlight, checkbox width fix for mobile, more consistent color scheme)
- addition of an urgent notice (in this case it mentions all issues related to old infra being fixed)
- updated twitter picker test
- changelog for 6.0
- removed partial translations
- padding (everywhere) has been slightly reduced to fit in more content.
- padding is now consistent across ui.
- added more info to the "how to save" popup for ios devices.
- crypto wallet press-to-copy buttons now look like buttons.
- improved looks for smallest screens (iphone 5, 5s, se, etc).
- remember celebratory emoji changes? they've been fixed, and are now dynamically loaded!
- changelog history now lets you try to load it again if first attempt failed for whatever reason.
- added glow to the donation button to make it more visible.
- cleaned up frontend js a little bit.
- updated some links in tests.
ids of some of new links overlap with old ones, so i decided to remove support for old shareable links. keeping support for soundcloud.app.goo.gl links makes no sense, you can't even get them from any of the apps anymore.
- updated readme: added info about new services, sorted the list alphabetically, replaced emoji with checkmarks, added info about ncsd (#101), and more.
- fixed typos in vk and setup modules.
- removed unused variables from css.
- you can now share video links directly from cobalt!
- cobalt is now using nanoid for stream ids instead of giant sha256 hashes
- one more fix to address the copy animation, this time on pc
- moved clipboard button to right, added left-handed layout toggle for those who prefer to have it on left.
- removed button hover highlights on phones.
- added proper checkbox icon for better clarity.
- checkboxes are now stretched edge-to-edge on phone to be easier to manage for right-handed people.
- added support for retweet links
- updated spaces endpoint
- bumped up the user agent version
- new clipboard icon
- new clipboard + auto mode layout on mobile, less wasted space
- fixed button press animations for safari on mobile
- tons of localization improvements for english and russian
- bumped up youtubei.js to 4.1.0
- completely reworked vimeo module.
- added support for audio downloads from vimeo.
- added support for chop type of dash for vimeo.
- added ability to choose between progressive and dash vimeo downloads. both to api and settings on frontend.
- added support for single m3u8 playlists. will be useful for future additions and is currently used for vimeo.
- proper error is now shown if there are no matching vimeo videos found
- temporarily disabled douyin support because bytedance killed off old endpoint.
- fixed the issue related to periods in tiktok usernames. (closes#96)
- fixed error text value patching in match module.
- fixed video stream removal for audio only option, wouldn't work in some edge cases.
- minor clean up.
- page render caching
- onDemand block caching
- page html minify
- better rate limiting
- minor cobalt.js clean up
- page render platform indication in settings popup
all these changes are aimed to improve performance and responsiveness
!! not final version of 5.2 !!
- finished writing tests for all services
- fixed douyin support
- fixed tiktok picker that was broken by previous commit
- temporarily removed douyin photos from list of supported services
- fixed support for "user view" vk clip links
- slightly improved the testing script
- rewrote and/or optimized all service modules
- rewrote matching and processing modules to optimize readability and performance
- added support for reddit gifs
- fixed various issues with twitter error explanations
- code optimizations and enhancements (such as finally getting rid of ==, prettier and more readable formatting, etc)
- added branch information
- all functions in currentCommit submodule run only once and cache received data
- added a test script. only twitter and soundcloud are 100% covered and tested atm, will add tests (and probably fixes) for the rest of services in next commits
- changed some localization strings for russian
- added more clarity to rate limit message
- moved services folder into processing folder
- added duration check to vimeo module
- fixed quality picking in vimeo module for progressive video type
- dropping requests from ie users instead of redirecting
- probably something else but i forgot to be honest
no idea why you'd change user agent to chrome in firefox, then disable clipboard button, and change user agent back to firefox, but now cobalt page won't crash if you do that
- set max size of close button in popups to prevent stretching
- image picker buttons are now distanced away from content
- if an image in image picker couldn't load, it now disappears instead of displaying ":("