Commit graph

353 commits

Author SHA1 Message Date
jj
bc597c817f
api: move itunnel handlers to separate file 2024-12-16 10:38:31 +00:00
jj
f06aa65801
api: always create separate server for itunnels 2024-12-16 10:19:15 +00:00
jj
e7c2872e40
api/stream: rename getInternalStream to getInternalTunnel 2024-12-16 10:16:48 +00:00
wukko
2e4b76de6e
api/package: bump version to 10.4.6 2024-12-16 00:04:58 +06:00
jj
459b2c8283
api/internal-hls: don't remake chunk istreams if already wrapped 2024-12-15 17:59:47 +00:00
wukko
86a67dee83
api/package: bump version to 10.4.5 2024-12-13 16:03:32 +06:00
wukko
3dafdd825a
api/types/proxy: use default dispatcher instead of a global one
this function never gets anything but internal streams, so global proxy (`API_EXTERNAL_PROXY`) is only causing issues here. this commit fixes an issue of cobalt attempting to proxy internal streams, and failing spectacularly.
2024-12-13 16:01:16 +06:00
wukko
5973d70053
api/package: bump version to 10.4.4 & update youtube.js 2024-12-12 23:03:00 +06:00
wukko
112866096c
api/url: return a diff error when youtube is disabled on main instance 2024-12-12 23:00:49 +06:00
wukko
e041e376c7
api & web: bump dependencies 2024-12-10 19:55:43 +06:00
wukko
4b8b0a0e9e
api/youtube: don't retrieve the player as cobalt doesn't use it
we don't decipher anything lol
2024-12-10 17:30:32 +06:00
wukko
e1b84e7472
api/package: bump version to 10.4.3 2024-12-05 00:27:53 +06:00
jj
6f0a8196ff
api/istream: remove icy-metadata header if sent by client 2024-12-04 18:25:25 +00:00
jj
6c39edbc10
api/stream: use dispatcher if passed to istream 2024-12-04 18:17:13 +00:00
wukko
6ca377ded6
api/tiktok: catch unavailable post error 2024-12-04 12:28:05 +06:00
wukko
0e5914f66c
api/package: bump version 10.4.2 2024-11-28 17:53:35 +06:00
wukko
15a0ba30c7
api/tests/vk: add new domain test 2024-11-28 17:32:41 +06:00
wukko
4700682ccb
api/vk: refactor quality picking 2024-11-28 17:32:10 +06:00
wukko
f696335278
api/vk: use proper api, add support for more links, refactor
also added support for video access keys
2024-11-28 16:01:26 +06:00
wukko
50344eda17
api/match-action: proper error code for unsupported audio extraction 2024-11-28 15:48:18 +06:00
wukko
eee9beef91
api/create-filename: don't require author for pretty title 2024-11-28 15:47:30 +06:00
jj
55c97f77b8
api/cookie: reformat console.error in getCookie 2024-11-26 14:24:54 +00:00
jj
58edad553e
api/cookie: replace name exception with console log
much easier to debug when writing a service
2024-11-26 14:05:13 +00:00
jj
fbacb94495
api/cookie: do not recreate interval if it already exists 2024-11-26 14:02:16 +00:00
jj
a4cb6ada79
api/cookie: split initial load into separate function 2024-11-26 14:01:36 +00:00
jj
20074a5091
api/cookie: rephrase non-string warning 2024-11-26 13:55:18 +00:00
jj
00ac025235
api/cookie: warn if writing updated cookies fails 2024-11-26 13:52:20 +00:00
jj
3d95361c09
api/cookie: validate cookie file format 2024-11-26 13:51:49 +00:00
jj
31d65c9fb7
api/cookie: validate service names for cookies 2024-11-26 13:44:51 +00:00
wukko
d4bcb1ba61
api/service-config: add new domains for vk 2024-11-26 18:21:44 +06:00
wukko
e2f0123418
api/tests/tiktok: add an age restricted video test 2024-11-24 19:26:59 +06:00
wukko
a1fa79f2f5
api/tikok: catch an age restriction error 2024-11-24 19:26:44 +06:00
wukko
2433681d8b
api/package: bump version to 10.4.1 2024-11-24 19:08:40 +06:00
wukko
8a24dbb42d
api/match-action: fix audio in tiktok picker
it didn't have an audio format in the filename, so it either failed or downloaded without an extension.

closes #870
2024-11-24 19:02:10 +06:00
wukko
cdd349cfb6
api/tests/rutube: add a region locked video test 2024-11-24 18:44:07 +06:00
wukko
6039eae6a3
api/rutube: catch a region lock error
closes #930
2024-11-24 18:43:50 +06:00
wukko
9b0e4ab0bd
api/tests/soundcloud: add tests for region locked and paid songs 2024-11-24 18:35:32 +06:00
wukko
43c3294230
api/soundcloud: catch region locked and paid songs and show an error 2024-11-24 18:35:07 +06:00
wukko
eb52ab2be8
api/vimeo: return accidentally remove merge function 2024-11-24 18:19:56 +06:00
wukko
1cbffc2d75
api/stream/types: convert metadata in one place
also sanitize values & throw an error if tag isn't supported
2024-11-24 18:13:22 +06:00
wukko
6770738116
api/create-filename: build & sanitize filenames in one place 2024-11-24 18:12:21 +06:00
wukko
407c27ed86
api/utils: rename metadata converter function 2024-11-24 14:55:46 +06:00
wukko
6a430545d2
api/utils/cleanString: add more forbidden chars 2024-11-24 14:55:10 +06:00
wukko
6bb412852d
api/package: bump version to 10.4 2024-11-24 00:37:52 +06:00
wukko
ff9e248e4f
api/util/test: add twitter to finnicky list
they seemingly blocked ips of github workers
2024-11-23 15:42:47 +06:00
wukko
5b445d5c7e
api/youtube: catch even more innertube errors 2024-11-23 15:37:42 +06:00
jj
b31c126cec
api/instagram: fix module not using graphql api 2024-11-18 17:34:48 +00:00
wukko
26e051fcd8
api/package: bump version to 10.3.3 2024-11-16 22:29:32 +06:00
wukko
606f0fd29a
api/stream/internal: workaround for wrong bsky content-type, refactor 2024-11-16 22:15:13 +06:00
wukko
b61b8c82a2
api/bluesky: use hls video cdn directly 2024-11-16 21:57:14 +06:00
wukko
09c66fead0
api/package: bump version to 10.3.2 2024-11-15 20:35:06 +06:00
wukko
3de3e9e158
api: remove support for vine cuz the archive is dead
masterful gambit elon musk
2024-11-15 18:29:21 +06:00
jj
f7dc6cebad
all: add space after catch 2024-11-15 12:19:49 +00:00
jj
4c006b2291
api/test: add vk to finnicky services 2024-11-15 12:11:29 +00:00
jj
cf40f0542f
api/test: make deepsource happy 2024-11-13 17:27:26 +00:00
jj
f6bffe543c
api/test: replace test.js with test-ci.js 2024-11-13 17:26:15 +00:00
jj
91e8ef8ab4
api/test-ci: add functionality for running all tests 2024-11-13 17:26:15 +00:00
jj
aaf7077364
api/test: split up tests into individual files 2024-11-13 17:26:15 +00:00
KwiatekMiki
0e09bf9895
api/service-config: recognize facebook's mobile subdomain (#891) 2024-11-13 22:35:45 +06:00
wukko
3fe2bd3b7c
api/youtube: add missing else to adaptive codec fallback 2024-11-13 22:23:45 +06:00
wukko
225a721805
api/tests: allow vk tests to fail 2024-11-13 18:48:36 +06:00
wukko
dec977e34d
api/youtube: fix variable shadowing in normalizeQuality 2024-11-13 18:45:18 +06:00
wukko
c88e21d4a8
api/youtube/adaptive: refactor, avoid extra loops, fallback all codecs 2024-11-13 18:41:57 +06:00
wukko
5f1c19d0f1
api/youtube: add no matching format error
this error is returned when cobalt got a response from innertube, but couldn't find a matching combo of video and audio streams. sometimes youtube returns only video or only audio per format combo for whatever reason.
2024-11-13 15:00:09 +06:00
wukko
8b972c7a85
api/youtube: disable hls if user prefers av1 2024-11-13 14:50:13 +06:00
wukko
b6e827c6f9
api/youtube: improve video quality normalization once again 2024-11-13 14:49:51 +06:00
wukko
8fc9ca2916
api/bluesky: add a dispatcher & update unknown error message 2024-11-11 12:23:53 +06:00
wukko
f50bd6339b
api/service-config: add support for loom embed links 2024-11-07 20:53:25 +06:00
jj
5a7635cdf7
api/cookie: write cookies only if from-file cookie was changed 2024-11-02 18:48:26 +00:00
jj
c44a5ecc89
api/cookie: fix cookie.set() being ran only once 2024-11-02 18:46:56 +00:00
wukko
ca665c5382
api: replace psl with homegrown & up-to-date fork
finally no more punycode warning
2024-11-02 21:19:19 +06:00
wukko
37517875db
api/package: update dependencies 2024-11-02 20:18:59 +06:00
jj
e2b4141fc7
api/memory-store: unref timeout so it doesn't hold up process 2024-11-02 11:33:21 +00:00
wukko
ab3af731e7
api/package: bump version to 10.3 2024-11-02 17:19:28 +06:00
jj
cba308aabd
api/test-ci: reduce stream lifespan
the streams have picked up smoking
2024-11-02 11:13:04 +00:00
jj
2f89f79b14
api/memory-store: ; 2024-11-02 11:12:39 +00:00
wukko
44e08e8474
api/config: separate error if statements for session & instance count 2024-11-02 16:48:34 +06:00
wukko
541bf04575
api/services: fix createStream calls in pickers
oops
2024-11-02 16:43:36 +06:00
jj
382873dc11
api/core: fix main cluster being unable to handle itunnels 2024-11-02 09:59:48 +00:00
jj
5a66af514e
api: make deepsource happy 2024-11-01 17:24:22 +00:00
jj
90d57ab6ea
api/config: store tunnelPort in env 2024-11-01 17:02:29 +00:00
jj
d48cc8fc07
api/cookie: implement cluster synchronization 2024-11-01 16:43:01 +00:00
jj
42ec28a642
api/cookie: update cookies value-by-value in manager 2024-11-01 14:58:04 +00:00
jj
f098da870c
api/cookie: pick cookie at random instead of round-robin 2024-11-01 14:55:00 +00:00
jj
1c78dac7ed
api/cluster: implement broadcast helper 2024-11-01 14:49:52 +00:00
jj
2351cf74f4
api/cookie: formatting 2024-11-01 14:05:18 +00:00
jj
48883486fa
api/api-keys: load keys once per cluster 2024-11-01 13:57:53 +00:00
jj
3f505f6520
api: wait for cluster to finish preparing 2024-11-01 13:30:32 +00:00
jj
2317da5ba5
api: add support for redis to ratelimiter cache 2024-11-01 13:26:18 +00:00
jj
d466f8a4af
api: upgrade express-rate-limit to v7, reuse key generator 2024-11-01 12:54:16 +00:00
jj
693204b799
api/store: use basic strings instead of hashes for keys 2024-11-01 12:20:01 +00:00
jj
66cb8d360d
api: move hmac secrets to single file 2024-11-01 12:16:53 +00:00
jj
40d6a02b61
api: cluster support
still missing synchronization for some structures
2024-10-31 22:59:06 +00:00
jj
2d6d406f48
api/crypto: use buffers for salt directly instead of hex strings 2024-10-31 22:42:46 +00:00
jj
93e6344fc7
api/stream/manage: make itunnel port configurable
this allows us to bind internal streams to
a specific worker in the future
2024-10-31 22:35:26 +00:00
jj
132255b004
api/stream/manage: use cobalt Store for stream cache 2024-10-31 22:33:32 +00:00
jj
11314fb8d1
api/store: implement has() method 2024-10-30 19:21:45 +00:00
jj
18acad19b9
api: implement redis/memory store for cache 2024-10-30 19:06:46 +00:00
jj
5e92b649a3
api: add API_REDIS_URL env 2024-10-30 18:59:20 +00:00
wukko
2c451c69d0
api/youtube: rename quality variable in matchQuality 2024-10-31 21:43:02 +06:00