Commit graph

864 commits

Author SHA1 Message Date
wukko 7b67f05bbf
stream/manage: fix stream lifespan
so that stream lifespan isn't 90 ms
2024-05-16 22:59:40 +06:00
wukko ee1e899b39
web/cobalt.js: fix celebration emoji loading 2024-05-16 22:36:55 +06:00
wukko f9ce6ba8cc
core/web: update response functions & clean up 2024-05-16 22:36:55 +06:00
wukko fd47ebda1c
localization: display actual rate limit window 2024-05-16 21:39:01 +06:00
wukko 40b00a9676
soundcloud: use startsWith instead of substring 2024-05-16 21:34:48 +06:00
wukko c6f1184e55
services: clean up functions and improve readability 2024-05-16 21:28:42 +06:00
wukko 9eed3b5b67
config: move streamLifespan 2024-05-16 21:00:11 +06:00
wukko d1e8929ee2
api: add DURATION_LIMIT env variable
duration limit is now in seconds and customizable across instances
2024-05-16 20:57:48 +06:00
wukko b5c81084c8
api: clean up imports & consts 2024-05-16 14:20:40 +06:00
wukko 592bfe24cf
api: remove /api/status 2024-05-16 14:20:12 +06:00
wukko adf9267905
api: expose rate limit headers 2024-05-16 13:59:53 +06:00
wukko fb81c57324
api: remove duplicate defaults 2024-05-16 13:58:28 +06:00
wukko 391cf16c87
api: configurable rate limit through env 2024-05-16 13:54:11 +06:00
wukko a70fc840dc
api: remove onDemand mention and slight clean up 2024-05-16 13:35:14 +06:00
dumbmoron e4646a9ff3
reddit: fix downloads not working without cookies 2024-05-15 17:18:40 +00:00
dumbmoron 44292ea622
processing: remove leftover douyin mentions 2024-05-15 17:13:00 +00:00
dumbmoron 9c3d96de0d
test: remove twitter spaces tests
not supported anymore
2024-05-15 17:05:34 +00:00
dumbmoron 1a77a46396
test: update imports 2024-05-15 17:04:53 +00:00
dumbmoron b13919d89b
request: rename verifyRequest to normalizeRequest 2024-05-15 17:03:33 +00:00
wukko 96d7075eed
consoleText: remove unused functions 2024-05-15 23:00:13 +06:00
wukko 2f898f7dde
utils/verifyLanguageCode: fix variable names 2024-05-15 22:59:55 +06:00
wukko fb6f384e46
request: actually import verifyLanguageCode 2024-05-15 22:52:01 +06:00
wukko a305bdb78d
core/api: no longer reassign to const 2024-05-15 22:51:26 +06:00
wukko 58e525de61
utils: fix variable name shadowing 2024-05-15 22:50:58 +06:00
wukko b4364c4921
match: remove useless errors module & clean up 2024-05-15 22:43:33 +06:00
wukko c2678888be
loadFromFs: clean up 2024-05-15 22:43:33 +06:00
wukko 98e05368ed
api: raw stream status responses, clean up core 2024-05-15 22:43:33 +06:00
wukko 13524a4aa1
utils: clean up 2024-05-15 22:43:33 +06:00
wukko dd77835599
request: add missing critical error 2024-05-15 22:43:33 +06:00
wukko cc6345ff63
api: move request functions to separate file
- request status id is no longer a cryptic number
- descriptive function names
2024-05-15 22:43:33 +06:00
dumbmoron c10012130b
api: refactor /api/json POST handler 2024-05-15 13:29:18 +00:00
dumbmoron 0a7cdfbbfe
match: remove redundant url argument 2024-05-15 12:46:08 +00:00
dumbmoron c5c3682462
api: get rid of getJSON
let's just call `match` directly
2024-05-15 12:45:23 +00:00
dumbmoron c1958596e9
url: only export functions that are used externally 2024-05-15 12:22:52 +00:00
dumbmoron ae91f8b120
api: move url extraction to url module 2024-05-15 12:22:36 +00:00
jsopn 5c9ecb2781
pinterest: implement image and gifs support (#475)
Co-authored-by: jj <log@riseup.net>
Co-authored-by: wukko <me@wukko.me>
2024-05-15 17:56:10 +06:00
wukko e44927e5ad
instagram: add freebind dispatcher support 2024-05-14 18:38:20 +00:00
wukko 4b0814a2ec
config: clean up 2024-05-14 18:38:20 +00:00
dumbmoron 9419266cd7
stream: use freebind dispatcher in internal streams 2024-05-14 18:38:20 +00:00
dumbmoron d5aa27f5f9
youtube: use the freebind dispatcher if available 2024-05-14 18:38:20 +00:00
dumbmoron c306a944d9
match: add freebind support for youtube and instagram 2024-05-14 18:38:20 +00:00
dumbmoron 0114e686b8
api: add FREEBIND_CIDR env variable 2024-05-14 18:38:20 +00:00
dumbmoron cc1e9dcff8
api: add API_LISTEN_ADDRESS env for specifying bind address 2024-05-14 15:34:56 +06:00
dumbmoron 9332b2e196
config/env: validate platform for processingPriority on startup
instead of for every stream thread
2024-05-14 09:20:58 +00:00
wukko 3e5ccea23c
chore: remove unused imports/variables 2024-05-14 13:08:36 +06:00
dumbmoron d7a3a7cac4
youtube: ignore formats with missing content length 2024-05-13 16:54:21 +00:00
wukko 840bdf35b7
web: remove broken android navigation bar coloring
cuz it doesn't work
2024-05-12 20:04:12 +06:00
wukko 229ddb3701
web/cobalt.css: fix page height in web app on ipad 2024-05-12 19:53:12 +06:00
wukko 81ef49c104
web/emoji: replace high detail svgs with pngs
- fixes blurry svg rendering in safari
- removes unused 3d emoji
2024-05-12 19:37:56 +06:00
wukko d57fe93234
web: improvements for android web app
- reduced padding when installed as standalone
- now attempting to color the navigation bar
2024-05-12 19:34:48 +06:00
wukko 05301f1cd5
web/cobalt.js: match status bar popup color better 2024-05-12 19:03:27 +06:00
wukko bdcb57f9c7
tiktok: use highest quality when h265 is allowed 2024-05-12 18:04:28 +06:00
wukko 4aa5aef775
web/cobalt.js: clean up 2024-05-12 17:31:33 +06:00
wukko 852c9aedd0
web/cobalt.css: remove redundant theming 2024-05-12 17:12:17 +06:00
wukko ecdae7fac9
web/cobalt.js: change status bar color with theme
also:
- cleaned up theming logics
- cleaned up switcher function
2024-05-12 17:11:58 +06:00
wukko 526341fcae
web/cobalt.css: optimised padding and safe area
- fixed top padding on iphones with dynamic island when installed as app
- unified padding with 2 variables
- smaller padding everywhere
- moved all safe area calls into standalone media query for mobile layout
- fixed dialog bottom padding
- minimised header and tab footprint in browser on mobile, allowing for more content on one screen
2024-05-12 15:51:54 +06:00
wukko e2d1913043
web: more ipad accommodations and clean up
- moved all user agent toggles to (legacy) frontend, like it should have always been
- removed unnecessary building
2024-05-11 01:05:24 +06:00
wukko 0e6ea09b16
soundcloud: fix fallback & use source mp3 if preferred 2024-05-10 23:57:14 +06:00
wukko 7cf08c5eeb
web/cobalt.js: enable ios adaptations for ipados
& clean up user agent matching
2024-05-10 19:11:57 +06:00
wukko 94b8d647f5
localization/ru: fix save to files link 2024-05-10 13:07:13 +06:00
wukko c3c43811d5
web: added 7.13 changelog 2024-05-05 15:05:50 +06:00
wukko 71de708f8c
cobalt.css: smaller changelog version padding 2024-05-05 14:37:04 +06:00
wukko 15961c9e0a
web: add 240p and 144p to quality picker 2024-05-04 08:30:59 +06:00
wukko 6403cc8c17
instagram: add fetching using bearer token (#487)
for total of SEVEN methods of getting post info, i cannot bear this anymore

also prevent repetitive oembed pulling
2024-05-03 19:54:06 +06:00
wukko 182e32d5c3
twitter: add support for cookies and sensitive tweets (#485)
Co-authored-by: dumbmoron <log@riseup.net>
2024-05-03 18:22:33 +06:00
wukko a5a01cc0c6
reddit: add support for user post links & clean up (#484) 2024-05-03 14:09:46 +06:00
wukko 95925c9864
soundcloud: replace filter with find and clean up 2024-04-30 13:38:01 +06:00
wukko ed8af6ca96
tiktok & soundcloud: proper best audio picking
also improved tiktok audio file naming scheme. full audio now has the "_audio_original" tag. audio extracted from video is simply "_audio".
2024-04-30 13:22:29 +06:00
wukko 276caa011a
youtube: fall back to m4a audio if opus isn't available 2024-04-30 11:24:12 +06:00
hyperdefined 709d14ee9e
feat: ddinstagram.com support (#402)
Co-authored-by: dumbmoron <log@riseup.net>
2024-04-30 01:11:25 +06:00
wukko c1079c544d
localization: update russian description for tiktok h265 2024-04-30 00:38:00 +06:00
wukko 511ad07d2f
front/cobalt.js: actually extract the url from clipboard 2024-04-30 00:34:29 +06:00
wukko 9b0d968cca
cobalt: use test instead of match in pasteClipboard 2024-04-30 00:28:40 +06:00
wukko 9fae8f03ff
front/cobalt.js: fixes based on review 2024-04-30 00:25:43 +06:00
wukko 8f5eec0b5d
added an option for tiktok h265 videos, majorly cleaned up frontend
- cleaned up cobalt.js (by a lot)
- removed notification dot
- removed settings migration
- removed vimeoDash
- turned youtube track language switcher into a toggle
- added clarification as to what youtube dub does
- updated defaults to match with backend
- now matching a url from any string at any place
2024-04-30 00:04:19 +06:00
wukko dc243a1e61
localization: remove double line break in codec desc 2024-04-29 21:42:18 +06:00
wukko f20f87bd1d
rutube: add support for shorts and yappy (#471)
* rutube: add support for shorts and yappy

* tests: add rutube yappy and shorts tests

Closes #465
Closes #466
2024-04-29 17:36:35 +02:00
jj 8f27c86a43
stream/types: set headers for both inputs in streamLiveRender (#470) 2024-04-29 20:29:37 +06:00
jsopn 5fbf35a8d3
refactor: centralize envs and their defaults in modules/config (#464)
* feat(config): centralized env variables and their default values

* fix: fip `corsWildcard` variable check in `corsConfig`

* fix(config): use already declared variables and default some strings to undefined

* fix: check processingPriority against NaN
2024-04-29 13:56:05 +02:00
wukko d780192ada
instagram: add three more ways to get post info (#469)
for total of fucking SIX???
2024-04-29 15:06:30 +06:00
jsopn 331f055367
stream/manage: add missing default API_PORT value for internal stream URLs (#463) 2024-04-28 13:19:05 +02:00
wukko 78288b8fac core/api: don't trigger verifyStream on premature probe 2024-04-28 02:34:50 +06:00
dumbmoron 70a79fdedd stream/manage: refactor internal stream handling, skip m3u8 services
- fix a typo caused by refactoring

Co-authored-by: wukko <me@wukko.me>
2024-04-28 02:34:50 +06:00
KwiatekMiki 291a3c2e53
servicesConfig: add support for /channels/uploader/id vimeo links (#459)
added support for /channels/uploader/id vimeo links

closes https://github.com/wukko/cobalt/issues/458
2024-04-27 20:37:24 +06:00
wukko c86e209e55
pinterest: fix video link parsing 2024-04-27 20:29:30 +06:00
wukko d27366dc8a
stream/manage: remove unnecessary variable from catch 2024-04-27 18:58:03 +06:00
wukko 656c0a3495
stream: add semicolons to imports 2024-04-27 18:51:12 +06:00
wukko d09e6a3110
localization: update strings related to youtube 2024-04-27 18:42:45 +06:00
wukko 66b3697b24
youtube: update stub handling 2024-04-27 18:05:43 +06:00
dumbmoron dd56ae60e7
stream/internal: don't copy Host header from request
its basically always gonna be localhost:9k
2024-04-27 11:33:22 +00:00
dumbmoron 3d3a717f3e
stream/internal: also copy content-length where applicable 2024-04-27 11:11:05 +00:00
dumbmoron 6eb4af125b
stream/internal: special youtube stream handling 2024-04-27 11:00:45 +00:00
dumbmoron 49eaa7d4ed
stream: extract headers to shared file 2024-04-27 10:59:27 +00:00
dumbmoron ec746f57a7
stream/manage: pass service name to internal stream 2024-04-27 10:48:22 +00:00
dumbmoron 5f1dc89c42
stream/types: attempt to pass through headers only if they exist 2024-04-27 10:47:09 +00:00
dumbmoron 66e58d21ec
feat: internal streams 2024-04-26 11:53:50 +00:00
wukko ff93f7e42f
youtube: change client to web and pass proper headers to stream (#454) 2024-04-27 06:08:24 +06:00
wukko 13d7ca3af4
servicesConfig: add support for m.bilibili.com subdomain 2024-04-27 06:03:05 +06:00
wukko 43101b604c
stream/types: proper headers for all http requests & refactor 2024-04-26 15:07:32 +06:00
wukko 0feacf0ae5
youtube: use web client and decipher urls 2024-04-26 12:25:22 +06:00
wukko 9bd3ea40e0
youtube: replace innertube client 2024-04-26 09:27:36 +06:00
wukko 617e427088
web: add maskable icons back to manifest 2024-04-24 16:44:29 +06:00
wukko aaa08830b4
instagram: fix single video downloading 2024-04-20 21:09:39 +06:00
wukko dd7c7dfa76
instagram: clean up 2024-04-20 20:48:49 +06:00
wukko 018557cbcd
instagram: remove async tag from non async functions 2024-04-20 20:47:33 +06:00
wukko 2561cf168e
instagram: check if cookie exists before using it in second fallback 2024-04-20 20:44:58 +06:00
wukko 1ff49f0669
instagram: use different endpoint and fallback to two other options 2024-04-20 20:33:34 +06:00
dumbmoron ce1ba8c92d
instagram: use different endpoint for getting posts 2024-04-16 19:36:42 +00:00
wukko d4be75d404
front: remove maskable icons 2024-04-17 00:08:29 +06:00
wukko 55a93629a6
instagram: replace filter with find for story media filtering 2024-04-17 00:00:29 +06:00
wukko 70fdc2939a
front/manifest: add share_target support to allow sharing links to cobalt PWA (#404) 2024-04-16 23:58:31 +06:00
wukko 3389c595df
instagram: update stories endpoint and parsing 2024-04-16 23:51:35 +06:00
wukko 9d239525e1
instagram: lower expiry frame by 10 seconds 2024-04-16 22:04:38 +06:00
wukko 8f5642763b
soundcloud: let -> const cachedID 2024-04-16 21:51:27 +06:00
wukko 7799fe4661
instagram: update api endpoint, add dtsg token parsing & caching 2024-04-16 21:51:03 +06:00
dumbmoron 512e3feac9
servicesConfig/instagram: add support for reels link with username 2024-04-07 00:09:04 +00:00
wukko 33a5a60969
front: remove an option to hide new version dot
turns out this option was confusing people (and also didn't do much)
2024-04-05 11:57:06 +06:00
wukko 9973655abe
css: reduce button padding for main box 2024-04-05 11:52:59 +06:00
wukko 156372a1ef
servicesConfig: add support for /photo/ twitter links 2024-04-01 09:32:15 +06:00
wukko 3c30156ed9
youtube: change client back 2024-03-31 23:45:32 +06:00
wukko 66d471a790
front/css: fix logo css
Signed-off-by: wukko <me@wukko.me>
2024-03-31 22:50:42 +06:00
wukko ae9e9ec491
front/elements: add id to urgent notice child
Signed-off-by: wukko <me@wukko.me>
2024-03-31 22:15:31 +06:00
wukko 95bfa53480
css: proper rounding
Signed-off-by: wukko <me@wukko.me>
2024-03-31 20:44:00 +06:00
wukko 48d9177fef youtube: replace innertube client (temp fix) 2024-03-30 14:14:22 +06:00
wukko acdb22c41b tiktok: more cleaning up 2024-03-29 06:51:55 +06:00
wukko 5dcbe397dc tiktok: default to h264 but fall back to h265 2024-03-29 06:44:07 +06:00
wukko 299b46e940 tiktok: replace filter with find 2024-03-29 06:42:01 +06:00
wukko 18545e7c91 tiktok: clean up 2024-03-29 06:28:52 +06:00
wukko 5438eb4405 cobalt.css: stretch error popup content to full width 2024-03-29 06:04:16 +06:00
wukko bcd8ca14b0 loc/en: remove extra comma in ContactLink 2024-03-29 06:03:45 +06:00
wukko a1c5a4da72 tiktok: update domain & force device info 2024-03-29 06:01:04 +06:00
wukko 17fdae23c9
front: make webmanifest readable
Signed-off-by: wukko <me@wukko.me>
2024-03-26 13:15:25 +06:00
Himan b925d27d67
Add share_target support to PWA manifest
Signed-off-by: Himan <43524404+yerrak00@users.noreply.github.com>
2024-03-25 20:51:54 -07:00
wukko 2ce033b754 stream/manage: fix and clean up verifyStream function
- no longer throws an incorrect type of error
- checks whether cache exists before attempting to decrypt it
2024-03-22 22:43:56 +06:00
jj 783fbee5d5
tiktok: remove useless ternary check
Signed-off-by: jj <log@riseup.net>
2024-03-16 18:42:28 +01:00
wukko 25aa2fb609 front: hide everything related to plausible if it's disabled 2024-03-16 23:33:33 +06:00
wukko 49ef0b4e8b ru: update AnalyticsDescription 2024-03-16 23:22:26 +06:00
wukko 98a623bce3 front: added an option to opt out of traffic stats and a privacy policy section about it 2024-03-16 23:18:39 +06:00
wukko d87613a1fd global: disable tiktok watermark by default and remove a way to change it
tiktok replaced uploader's username in watermark with some corny shit like "Laughter awaits", making watermarks absolutely useless

instead of this feature the uploader's username is now always in the filename
2024-03-16 22:26:04 +06:00
wukko 8385cd2663 package: remove unnecessary abort-controller dependency 2024-03-16 22:05:28 +06:00
wukko 3c18b76d3c page: add plausible script enabled by env variable 2024-03-16 22:03:54 +06:00
wukko fe055abe17 tiktok: minor cleanup 2024-03-15 16:00:02 +06:00
Eugene Rikhter 11330589bf
tiktok: change api host 2024-03-15 15:25:54 +06:00
wukko e25b0cdf1c servicesConfig: add one more instagram link type 2024-03-09 20:55:30 +06:00
wukko 40555a4716 servicesConfig: add m subdomain support for soundcloud 2024-03-08 15:49:01 +06:00
wukko 6737e15ead loc: fix grammar in ru text for unsupported error 2024-03-07 20:32:11 +06:00
wukko 190c78b09a cobalt.css: make meowbalt stick out on left side of download popup 2024-03-07 19:57:44 +06:00
wukko d047e715a4 changelog: update 7.11 changelog
vimeo private videos are "unlisted", apparently
2024-03-07 01:07:30 +06:00
wukko 234f05ca9d
changelog: add 7.11 changelog and banner 2024-03-06 18:36:55 +00:00
wukko 2cb99880d6 twitter: handle no media properly 2024-03-07 00:27:17 +06:00