Commit Graph

233 Commits

Author SHA1 Message Date
jj
bbcb2bee7c
api/pinterest: use shortlink resolver 2025-02-08 16:09:49 +00:00
jj
5db5437b62
api/pinterest: fix undefined in name when downloading shortlink 2025-02-08 16:08:34 +00:00
jj
a758b1dbc6
api/snapchat: use shortlink resolver 2025-02-08 16:06:36 +00:00
jj
9e6582b76c
api/xiaohongshu: use shortlink resolver 2025-02-08 16:05:51 +00:00
jj
6e8b4f30c1
api/url: add function for resolving shortlinks
motivation: we frequently need to resolve shortlinks to full URLs
let's have a common standard function for doing this safely
instead of reinventing the wheel in every single service module
2025-02-08 13:53:29 +00:00
jj
77dca70792
api/instagram: yet another attempt at resurrection 2025-02-07 22:47:36 +00:00
wukko
e7d4b72c8c
api/schema: tiktokH265 -> allowH265, twitterGif -> convertGif
h265 param is already used for more than tiktok, and gif param will be used for bluesky gifs in the future
2025-01-29 15:37:58 +06:00
wukko
c7c9cf2f0f
api: add local processing response type & param
`local-processing` type returns needed info for on-device processing and creates basic proxy tunnels
2025-01-29 15:00:50 +06:00
jj
c4c47bdc27
merge: 10.6 updates
Some checks failed
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
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
Run service tests / test service functionality (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2025-01-21 13:36:37 +00:00
wukko
36d4608ee5
api/bluesky: add support for tenor gifs 2025-01-21 17:18:49 +06:00
jj
ee3ef60a20
api/youtube: expect one of itags to be empty
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-01-20 20:12:21 +00:00
wukko
0ab3fe4d2a
api: itunnel transplants (#1065) 2025-01-21 00:10:49 +06:00
jj
19ade7c905
api/youtube: return internal metadata for replaying request 2025-01-20 14:47:09 +00:00
jj
7767a5f5bb
api/youtube: add support for pinning client/itag 2025-01-20 14:46:55 +00:00
jj
035825bc05
api: cache original request parameters in stream 2025-01-20 14:38:55 +00:00
wukko
7488c74faf
api/xiaohongshu: clean up the h265-h264 if statement
Co-authored-by: jj <log@riseup.net>
2025-01-20 19:46:12 +06:00
wukko
e39b0ae7b3
api/xiaohongshu: deduplicate h264 stream extraction
reduce() isn't called on 1 item arrays, so this is just fine

Co-authored-by: jj <log@riseup.net>
2025-01-20 19:41:02 +06:00
wukko
4963c9f128
api/xiaohongshu: remove duplicated extraction error
Co-authored-by: jj <log@riseup.net>
2025-01-20 19:37:23 +06:00
wukko
3cbed87c3e
api/xiaohongshu: update initial state extraction regex
Co-authored-by: jj <log@riseup.net>
2025-01-20 19:35:53 +06:00
wukko
ed8f4353ea
api/processing: add support for xiaohongshu 2025-01-20 19:10:02 +06:00
wukko
63b2681017
api/match-action: always proxy photos 2025-01-20 19:04:31 +06:00
jj
ec0d773792
api/youtube: use Math.min instead of ternary operator 2025-01-20 12:38:12 +00:00
jj
0378a1ae15
api/youtube: fix error when downloading stuff from WEB 2025-01-20 12:37:36 +00:00
wukko
ef687750b4
api/tiktok: update domain because dns records for main one are gone
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
closes #1057
2025-01-18 17:02:24 +06:00
jj
2b95af1b51
merge: fix for tiktok audio download from picker 2025-01-12 17:14:12 +00:00
jj
ce7d553beb
api/match-action: pass audio bitrate when creating tiktok stream
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
fixes #996
2025-01-12 16:43:55 +00:00
wukko
a6069f406f
api & web: merge base queue ui & api updates 2025-01-08 17:20:00 +06:00
wukko
50db4d342a
api & web: roll back the default hls change due to doubled CPU usage
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-01-08 11:22:05 +06:00
wukko
ec019a1b50
api/schema: enable youtubeHLS by default 2025-01-08 10:54:07 +06:00
wukko
4d634603e2
api/youtube: fix variable shadowing
oops
2024-12-23 23:34:05 +06:00
wukko
c6d0e0bdd5
api/youtube: use poToken, visitorData, and web client with cookies
and also decipher media whenever needed, but only if cookies are used
2024-12-23 22:58:16 +06:00
jj
9da3ba60a9
api/youtube: add support for cookies
Some checks are pending
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
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
2024-12-23 11:11:48 +00:00
jj
1ed7e74773
api/match-action: pass isHLS when muting audio
fixes a bug where HLS status would be ignored if a muted video
was downloaded with HLS enabled
2024-12-22 14:09:16 +00:00
jj
6e6a792984
api/bilibili: mark tunnel as isHLS where appropriate 2024-12-16 17:41:38 +00:00
wukko
112866096c
api/url: return a diff error when youtube is disabled on main instance 2024-12-12 23:00:49 +06:00
wukko
4b8b0a0e9e
api/youtube: don't retrieve the player as cobalt doesn't use it
we don't decipher anything lol
2024-12-10 17:30:32 +06:00
wukko
6ca377ded6
api/tiktok: catch unavailable post error
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-12-04 12:28:05 +06:00
wukko
4700682ccb
api/vk: refactor quality picking 2024-11-28 17:32:10 +06:00
wukko
f696335278
api/vk: use proper api, add support for more links, refactor
also added support for video access keys
2024-11-28 16:01:26 +06:00
wukko
50344eda17
api/match-action: proper error code for unsupported audio extraction 2024-11-28 15:48:18 +06:00
wukko
eee9beef91
api/create-filename: don't require author for pretty title 2024-11-28 15:47:30 +06:00
jj
55c97f77b8
api/cookie: reformat console.error in getCookie
Some checks failed
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
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
Run service tests / test service functionality (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2024-11-26 14:24:54 +00:00
jj
58edad553e
api/cookie: replace name exception with console log
much easier to debug when writing a service
2024-11-26 14:05:13 +00:00
jj
fbacb94495
api/cookie: do not recreate interval if it already exists 2024-11-26 14:02:16 +00:00
jj
a4cb6ada79
api/cookie: split initial load into separate function 2024-11-26 14:01:36 +00:00
jj
20074a5091
api/cookie: rephrase non-string warning 2024-11-26 13:55:18 +00:00
jj
00ac025235
api/cookie: warn if writing updated cookies fails 2024-11-26 13:52:20 +00:00
jj
3d95361c09
api/cookie: validate cookie file format 2024-11-26 13:51:49 +00:00
jj
31d65c9fb7
api/cookie: validate service names for cookies 2024-11-26 13:44:51 +00:00
wukko
d4bcb1ba61
api/service-config: add new domains for vk 2024-11-26 18:21:44 +06:00
wukko
a1fa79f2f5
api/tikok: catch an age restriction error 2024-11-24 19:26:44 +06:00
wukko
8a24dbb42d
api/match-action: fix audio in tiktok picker
it didn't have an audio format in the filename, so it either failed or downloaded without an extension.

closes #870
2024-11-24 19:02:10 +06:00
wukko
6039eae6a3
api/rutube: catch a region lock error
closes #930
2024-11-24 18:43:50 +06:00
wukko
43c3294230
api/soundcloud: catch region locked and paid songs and show an error 2024-11-24 18:35:07 +06:00
wukko
eb52ab2be8
api/vimeo: return accidentally remove merge function 2024-11-24 18:19:56 +06:00
wukko
6770738116
api/create-filename: build & sanitize filenames in one place 2024-11-24 18:12:21 +06:00
wukko
5b445d5c7e
api/youtube: catch even more innertube errors 2024-11-23 15:37:42 +06:00
jj
b31c126cec
api/instagram: fix module not using graphql api 2024-11-18 17:34:48 +00:00
wukko
b61b8c82a2
api/bluesky: use hls video cdn directly 2024-11-16 21:57:14 +06:00
wukko
3de3e9e158
api: remove support for vine cuz the archive is dead
masterful gambit elon musk
2024-11-15 18:29:21 +06:00
jj
f7dc6cebad
all: add space after catch 2024-11-15 12:19:49 +00:00
KwiatekMiki
0e09bf9895
api/service-config: recognize facebook's mobile subdomain (#891)
Some checks failed
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-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
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
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
2024-11-11 12:23:53 +06:00
wukko
f50bd6339b
api/service-config: add support for loom embed links
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
2024-11-07 20:53:25 +06:00
jj
5a7635cdf7
api/cookie: write cookies only if from-file cookie was changed
Some checks failed
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
541bf04575
api/services: fix createStream calls in pickers
oops
2024-11-02 16:43:36 +06: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
2351cf74f4
api/cookie: formatting 2024-11-01 14:05:18 +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 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
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
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
406ac7613c
api/youtube: make sure language exists when checking for hls dubs
oops
2024-10-30 22:55:50 +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
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
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
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
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