Commit Graph

323 Commits

Author SHA1 Message Date
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
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 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()
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 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