wukko
3243564f77
api/api-keys: add allowedServices to limit or extend access
...
it's useful for limiting access to services per key, or for overriding default list of enabled services with "all"
2025-06-26 22:20:09 +06:00
wukko
d69100c68d
api/tiktok: validate that redirected link is still tiktok
2025-06-26 21:32:31 +06:00
wukko
84aa80e2d3
api/match-action: don't add cover if metadata is disabled
2025-06-26 17:45:01 +06:00
wukko
164ea8aeb9
api: return covers from soundcloud and youtube
...
& refactor createProxyTunnels() in stream/manage a little
2025-06-26 17:36:26 +06:00
wukko
f4637b746c
api/rutube: add subtitles
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
2025-06-25 20:12:30 +06:00
wukko
3dae5b2eb0
api/ffmpeg: move stream type + url count check to remux()
...
& fix it cuz i broke it in last commit
2025-06-25 19:57:23 +06:00
wukko
52695cbd0f
api/service-config: replace static arrays with sets
2025-06-25 19:33:16 +06:00
wukko
fcdf5da73e
api/ffmpeg: refactor even more
2025-06-25 19:32:36 +06:00
wukko
d3793c7a54
api/ffmpeg: map video and audio in remux() with one main input
...
cuz otherwise if a video has subtitles, then only subtitles get mapped to the output file
2025-06-24 20:46:14 +06:00
wukko
4f4478a21d
api/ffmpeg: fix audio codec args in remux()
2025-06-24 20:24:53 +06:00
wukko
14657e51d3
api/stream: split types.js into proxy.js and ffmpeg.js
2025-06-24 20:09:41 +06:00
wukko
aa376d76f6
api/stream/types: huge refactor & simplification of code
...
- created render() which handles ffmpeg & piping stuff
- merged remux() and merge() into one function
- simplified and cleaned up arguments
- removed headers since they're handled by internal streams now
- removed outdated arguments
2025-06-24 19:55:50 +06:00
wukko
28b85380c9
api/vk: allow auto generated subs & pick explicitly vtt
...
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
i couldn't find a single video that had any subtitles other than auto generated ones, so i think this is better than nothing at all
2025-06-24 17:56:04 +06:00
wukko
75691d4bac
api/tests/facebook: replace a dead link
2025-06-24 17:28:05 +06:00
wukko
ff06a10b5c
api/processing/url: improve vk url parsing
2025-06-24 17:21:32 +06:00
wukko
997b06ed0e
api/vk: add support for subtitles
2025-06-24 17:06:19 +06:00
wukko
44f4ea32c6
api/stream/internal: stream vk videos in chunks
2025-06-24 17:04:43 +06:00
wukko
6d62bce92d
api/match-action: don't force local-processing response for pickers
...
cuz that won't work, at least for now
2025-06-22 20:12:22 +06:00
wukko
21c4a1ebbc
api/match: set alwaysProxy to true if local processing is forced
2025-06-22 20:09:48 +06:00
wukko
0fca9c440c
api/schema: remove deprecated variables
2025-06-22 20:07:37 +06:00
wukko
05fb1601c8
api/match: update forcing local processing via env
2025-06-22 20:06:28 +06:00
wukko
ac85ce86c0
api/processing/request: backwards compat with boolean localProcessing
2025-06-22 16:21:55 +06:00
wukko
28ab2747ce
api/match-action: support forced local processing
2025-06-22 16:21:37 +06:00
wukko
a6b599a828
api/schema: transform localProcessing to enum
2025-06-22 16:20:27 +06:00
wukko
630e4a6e0d
api/tiktok: add support for subtitles
2025-06-20 20:07:50 +06:00
wukko
aff2d22edc
api/language-codes: add reverse lookup (2 to 1)
2025-06-20 20:05:17 +06:00
wukko
d18b22e7ed
api/processing/request: return a unique error code
2025-06-20 19:53:01 +06:00
wukko
ab526c234e
api/loom: add transcription subtitles
...
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 / api sanity check (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
since there's no language selection (at all), we just add the only transcription if a user wants subtitles
2025-06-20 18:59:35 +06:00
wukko
a44bea6b50
api/vimeo: add subtitle parsing from the mobile api
2025-06-20 18:21:00 +06:00
wukko
a5838f3c05
api/stream/types: add subtitles & metadata to remux
2025-06-20 18:16:32 +06:00
wukko
337edfc984
api/request/local-processing: return subtitles boolean
2025-06-20 17:38:49 +06:00
wukko
7ce9d6882b
api/youtube: don't use session if user wants subtitles
...
cuz they're not currently available anywhere but HLS
2025-06-20 17:27:49 +06:00
wukko
c4e910dd29
api/stream/types: refactor, support mkv, don't duplicate args
2025-06-20 14:39:17 +06:00
wukko
33c801f66b
api/youtube: add support for youtubeVideoContainer
2025-06-20 14:35:43 +06:00
wukko
eb249a3eed
api/match: ignore subtitleLang if it's "none"
2025-06-20 14:35:14 +06:00
wukko
2396462c5c
api/schema: add youtubeVideoContainer
2025-06-20 14:23:16 +06:00
wukko
672b3dcf46
api/match-action: convert ISO 639-1 language codes to ISO 639-2
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
2025-06-19 17:46:15 +06:00
wukko
b91c0c0013
api/stream/types: specify subtitle format for containers other than mp4
2025-06-19 17:19:39 +06:00
wukko
259a0758f1
api: initial subtitles functionality with youtube support
...
this took way more effort than i expected it to do, mostly because of youtube locking everything down to shit
local processing doesn't function with subtitles yet, wasm needs to be updated
2025-06-18 20:24:13 +06:00
wukko
967552b26b
api/schema: add subtitleLang
2025-06-18 18:37:24 +06:00
wukko
b8801570a9
api/env: SESSION_RATELIMIT -> SESSION_RATELIMIT_MAX
2025-06-17 13:33:50 +06:00
wukko
af99e7218c
api: disable youtube HLS by default & add env to enable it
2025-06-17 13:21:16 +06:00
wukko
5e7f9c53b9
api/package: update youtubei.js to 14.0.0
2025-06-16 13:53:04 +06:00
wukko
ed980e3893
api/package: bump version to 11.1
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
2025-06-08 20:52:12 +06:00
wukko
4b6447cba6
api/youtube: use the original track instead of default
...
closes #1329
default ≠ original, apparently. not sure why youtube thought it's a good idea to force ai generated dubs as default
2025-06-08 19:30:43 +06:00
jj
adc5b89fc2
api/soundcloud: ignore encrypted protocols, match against prefix
2025-06-08 13:17:14 +00:00
jj
2154f464d7
api/soundcloud: prefer progressive format over hls
2025-06-08 12:44:34 +00:00
wukko
eae6a7aa63
api/tests/soundcloud: update the go+ test link
2025-06-08 18:17:07 +06:00
hyperdefined
495729e174
api/pinterest: return fetch.empty if a link is invalid ( #1299 )
2025-06-08 18:11:05 +06:00
nexpid
170cf293bf
api/soundcloud: add more metadata fields ( #1313 )
2025-06-08 18:07:38 +06:00