Commit Graph

290 Commits

Author SHA1 Message Date
wukko
51c5d055ec
api/service-patterns/tiktok: allow longer shortLink
tiktok is a/b testing a new shortLink format that's ±19 characters long but behaves the same way as old format
2025-06-28 14:45:04 +06:00
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
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
2025-06-25 20:12:30 +06:00
wukko
52695cbd0f
api/service-config: replace static arrays with sets 2025-06-25 19:33:16 +06:00
wukko
28b85380c9
api/vk: allow auto generated subs & pick explicitly vtt
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
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
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
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
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 / 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
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
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
Some checks failed
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
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
af99e7218c
api: disable youtube HLS by default & add env to enable it 2025-06-17 13:21:16 +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
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
wukko
d6095db619
api/service-config/youtube: add /v/:id link pattern
closes #1327
2025-06-07 13:12:04 +06:00
wukko
10e6b4ec71
api/service-alias: add an alias for twitch
because only clips are supported for now. vods may be supported after we implement HLS local processing
2025-06-07 11:51:44 +06:00
wukko
5cd5013de0
api/service-config/vimeo: add /groups/ link pattern
closes #1324
2025-06-07 11:49:40 +06:00
jj
ed18008493
api/soundcloud: return isHLS flag when appropriate
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
2025-05-29 17:08:22 +00:00
jj
ff7eb2639d
api/loom: add support for non-transcoded links, add more tests 2025-05-29 15:29:53 +00:00
wukko
3c41585158
api/schema: add old variables from cobalt 10 for backwards compatibility 2025-05-29 17:55:52 +06:00
wukko
0b36aa09a7
api/match: limit the duration limit number to 2 decimal places 2025-05-27 17:10:41 +06:00
jj
2eadc3fbd8
api/create-filename: relax sanitizeString and use fullwidth replacements 2025-05-23 07:44:05 +00:00
wukko
f36c749692
api/twitter: add support for saving media from ad cards
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 / 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
2025-05-23 13:06:51 +06:00
wukko
4d582798bf
api/match: force local processing when configured to do so in env 2025-05-06 16:16:52 +06:00
wukko
c5acb45557
api/core: mark request as session when bearer token is used
and pass it to match() for future consumption
2025-05-06 16:16:29 +06:00
wukko
a95f87ebfb
api & web: make "basic" the default filename style 2025-04-30 21:33:36 +06:00
wukko
9a3d35185b
merge: soundcloud fix from main 2025-04-30 13:11:02 +06:00
wukko
00b217796f
api/soundcloud: fix short link url & refactor 2025-04-29 22:55:52 +06:00