Commit graph

222 commits

Author SHA1 Message Date
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
Some checks failed
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
Some checks are pending
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()
Some checks are pending
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
Some checks are pending
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