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
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run service tests / test service: ${{ matrix.service }} (push) Blocked by required conditions
Run service tests / test service functionality (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
2024-11-11 12:23:53 +06:00
wukko
f50bd6339b
api/service-config: add support for loom embed links
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
Run service tests / test service functionality (push) Has been cancelled
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
Run tests / api sanity check (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2024-11-07 20:53:25 +06:00
jj
5a7635cdf7
api/cookie: write cookies only if from-file cookie was changed
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
Run service tests / test service functionality (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
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
Run service tests / test service functionality (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
2024-10-31 21:43:02 +06:00
wukko
3dd6165472
api/youtube: slight refactor of matchQuality
2024-10-31 21:37:11 +06:00
wukko
5470926d52
api/youtube: adjust matched resolution
...
heights like 714 are now adjusted to 720, so that preferred quality is picked correctly
2024-10-31 21:31:39 +06:00
wukko
da72b9615e
api/youtube: use best quality if all else fails
2024-10-31 21:18:34 +06:00
wukko
98acea6c58
api: bump version to 10.2.1
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run service tests / test service functionality (push) Waiting to run
Run service tests / test service: ${{ matrix.service }} (push) Blocked by required conditions
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
2024-10-31 00:14:26 +06:00
wukko
776c4f4dba
api/stream/manage: don't use clones in node cache
2024-10-30 23:56:14 +06:00
wukko
406ac7613c
api/youtube: make sure language exists when checking for hls dubs
...
oops
2024-10-30 22:55:50 +06:00
wukko
44f842997e
api & web: bump version to 10.2
2024-10-30 18:29:53 +06:00
wukko
367cab0de4
api/youtube: update hls vp9 container to webm
...
way better compatibility this way
2024-10-30 17:18:18 +06:00
wukko
f610058b82
api/stream/types/merge: encode audio to aac or opus if hls
...
audio is encoded to opus only if it's a youtube hls stream with webm container
2024-10-30 17:18:18 +06:00
wukko
e081751c59
api/youtube: fix dubbed audio track matching
2024-10-28 23:05:56 +06:00
wukko
17c020fe22
api/youtube: fix dubbed hls audio marking
2024-10-28 21:38:25 +06:00
wukko
0b4d703d0f
api/utils: remove unused functions
2024-10-28 19:56:37 +06:00
wukko
cdfc91844d
api/schema: update youtubeDubLang to accept all valid language codes
2024-10-28 19:56:18 +06:00
wukko
b14c618228
api/youtube: pick a default track for videos with ai dubs
2024-10-28 19:35:08 +06:00
wukko
14ca47b73d
api/youtube: make mp3
the best format for hls audio
2024-10-28 18:30:01 +06:00
jj
53e6085095
api/stream: don't override content-length for hls transform
2024-10-28 11:55:15 +00:00
wukko
6b1eadbe09
api/util/tests: add youtube hls tests
2024-10-28 16:59:50 +06:00
wukko
866427a7a7
api/youtube: fix local variable overlap
2024-10-28 16:55:44 +06:00
wukko
effec1bfb9
api/youtube: return correct audio url in hls mode
...
my disappointment in its quality is immeasurable
2024-10-28 16:45:48 +06:00
wukko
0ddb3e3ecc
api/match-action: add isHLS to audio stream info
2024-10-28 16:45:30 +06:00
wukko
fba6ba09c2
api/youtube: add hls codec fallback, update hls error code, refactor
...
also fixed best audio format
2024-10-28 15:45:18 +06:00
wukko
c9eefc4d55
api/youtube: add an option to use HLS streams
...
- added `youtubeHLS` variable to api
- added youtube HLS parsing & handling
2024-10-28 15:17:54 +06:00
wukko
24ae08b105
api/stream: add isHLS
to stream cache
2024-10-28 15:15:41 +06:00
wukko
a46e04358a
api/match-action: rename isM3U8
to isHLS
and u
to url
2024-10-28 15:14:36 +06:00
wukko
7c516c0468
api/cookie/manager: pass cookiePath
to writeChanges()
...
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run service tests / test service functionality (push) Waiting to run
Run service tests / test service: ${{ matrix.service }} (push) Blocked by required conditions
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
also reordered functions to maintain the hierarchy
2024-10-28 12:08:12 +06:00
wukko
7798844755
api/youtube: refactor, fix fallback, don't repeat same actions
...
fallback to h264 is now done if there's no required media, not only if adaptive formats list is empty.
best audio and best video are now picked only once.
2024-10-28 12:01:38 +06:00
jj
7dc0121031
api: defer file loads until api is running
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run service tests / test service: ${{ matrix.service }} (push) Blocked by required conditions
Run service tests / test service functionality (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
2024-10-27 18:12:59 +00:00
jj
b434b0b45e
api/cookies: log message to confirm successful file load
2024-10-27 18:12:01 +00:00
jj
5a5a65b373
api/cookies: trigger cookie load from api entrypoint
2024-10-27 18:10:57 +00:00
jj
af50852815
api/api-keys: log message to confirm successful file load
2024-10-27 18:00:05 +00:00
jj
5ea23bee13
api/console-text: refactor
2024-10-27 17:52:04 +00:00
KwiatekMiki
b22d0efbf1
api/service-patterns: recognize older streamable links ( #862 )
2024-10-27 18:34:11 +01:00
jj
a4e6b49d7f
util/jwt: ensure uniform distribution of characters
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
Run service tests / test service functionality (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2024-10-26 18:28:25 +00:00
jj
d8b7a6b559
api/test: remove youtube vp9 test
...
we fall back to h264 now, so this will always succeed
2024-10-26 18:08:43 +00:00
jj
2ccc210622
api/test: add test for audio download if no video found
...
tests for bug fixed in fb7325f3b2
2024-10-26 18:07:15 +00:00
wukko
fb7325f3b2
api/youtube: more refactoring, return audio even if there's no video
Run service tests / test service: ${{ matrix.service }} (push) Blocked by required conditions
Run service tests / test service functionality (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
2024-10-26 23:53:43 +06:00
wukko
8b15fe7863
api/youtube: check if playability is ok after the status switch
2024-10-26 22:49:16 +06:00
wukko
cfb05282c3
api/youtube: refactor, fallback codecs, don't return premuxed videos
Run service tests / test service functionality (push) Has been cancelled
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
Run tests / api sanity check (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2024-10-23 19:56:59 +06:00
wukko
ae271fd3c6
api/youtube: refactor playability status handling
2024-10-23 18:08:50 +06:00
wukko
a3ee3d9c16
api/youtube: catch one more age limit error
Run service tests / test service functionality (push) Has been cancelled
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
Run tests / api sanity check (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2024-10-23 14:01:10 +06:00
jj
4efe6d9350
api/config: disallow JWT_SECRET
s shorter than 16 chars
2024-10-20 14:15:08 +00:00
wukko
16c5450d40
api/cobalt: update api url error message
2024-10-20 19:07:42 +06:00
wukko
9d68247523
api: remove the outdated setup script
2024-10-20 19:06:48 +06:00
wukko
6499d079ef
api/readme: add supported services & acknowledgements
2024-10-20 17:49:37 +06:00
wukko
51adfc85cd
api: update readme
2024-10-20 17:20:38 +06:00
jj
c3f3499a42
api/util: add script to generate secure JWT_SECRET
2024-10-20 10:44:13 +00:00
jj
f5d09f86db
tests/soundcloud: replace private link
2024-10-20 10:18:51 +00:00
jj
d55dddea2e
core/api: normalize bearer authorization
2024-10-20 10:05:34 +00:00
wukko
c33017283d
api/twitter: fix gifs having a wrong file extension in a picker
Run service tests / test service functionality (push) Has been cancelled
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
Run tests / api sanity check (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2024-10-13 09:59:52 +06:00
wukko
fe1d17ba8d
api/service-patterns: update the tiktok tester
2024-10-12 23:29:19 +06:00
wukko
6ad838b649
api/tiktok: fix url patterns
2024-10-12 22:06:54 +06:00
dumbmoron
7c0fb16fdb
api/keys: fix prefix size calculation for individual ipv6 addresses
2024-10-12 11:24:29 +00:00
wukko
1e26788a1e
api/match-action: add missing ok
case to video switch
...
Run service tests / test service functionality (push) Has been cancelled
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
Run tests / api sanity check (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
closes #797
2024-10-08 16:09:08 +06:00
KwiatekMiki
1b48a2218c
api/setup: use pnpm instead of npm
Run service tests / test service functionality (push) Waiting to run
Run service tests / test service: ${{ matrix.service }} (push) Blocked by required conditions
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
2024-10-06 16:11:23 +02:00
wukko
3749fb2aa8
repo: update dependencies
2024-10-05 22:09:00 +06:00
dumbmoron
cfd54e91d5
security/api-keys: add support for unlimited
limit
2024-10-04 17:41:05 +00:00
dumbmoron
9cc6fd13fa
api/core: skip turnstile verification if user authed with api key
2024-10-04 17:37:57 +00:00
dumbmoron
3d7713a942
security/api-keys: clarify error when number is not positive
2024-10-04 17:34:15 +00:00