56af1f0735
fix: adjust initialData extraction for new a/b change
2025-12-29 23:32:06 +01:00
72266aad0f
chore: remove unnecessary string from age-restricted videos' description
2025-11-22 21:42:47 +01:00
900cc92229
fix: play other formats than 16x9 on yattee
...
reports factually wrong, but close enough resolution. to be removed
when this will be fixed on yattee's end.
2025-11-21 22:38:43 +01:00
2687cc2bdc
hotfix: fix typo
2025-11-21 10:15:37 +01:00
4a9d59c9b4
fix: filter out DRC and VB audio from wdata
2025-11-21 09:59:22 +01:00
4af581ab7c
fix: use acodec for audio streams instead of vcodec
...
should fix some issues with more strict DASH players
2025-11-21 09:44:30 +01:00
d1f381220d
fix: use exclusively tv player for age-restricted videos
...
also filter out DRC audio
2025-11-20 17:54:41 +01:00
eebf434f3e
feat: support age-restricted videos when cookies are provided
2025-11-20 13:02:38 +01:00
c979c97077
feat: allow debugging with pdb
...
allows user to debug the webapp when admin API key is passed as a param.
also - an anniversary, 100th commit!
2025-11-13 11:28:40 +01:00
11c94c757e
fix: don't show playlists in related videos feed
...
items in related feed are now checked by contentType to determine if
they are videos or not
2025-11-07 18:45:11 +01:00
4421e68d9d
fix: format stream itag is now a string (as it should)
...
fixes playback on clipious
2025-11-07 18:43:07 +01:00
da2daab16a
feat: preliminary DASH support (for freetube/yattee, no manifest)
...
rewrites struct returned by innertube with video url retrieved by yt-dlp
works on freetube with proxying disabled; enabling proxying causes
horrible performance. yattee seems unaffected.
2025-11-06 21:53:32 +01:00
05b81e55da
chore: bump version strings
2025-11-02 04:07:41 +01:00
158dcc3b7f
fix: comment reply count extraction
...
suspected a/b test, sorting comments with "top" option returns a new
ctoken which will return "Replies" text for comments without replies.
to get rid of this behavior it'd be best to create known good ctokens
for every request.
2025-10-19 23:32:12 +02:00
668e8c32aa
feat: support for lockupViewModel inside of channels' video feed
...
this is rare and currently a/b tested
2025-10-18 14:39:55 +02:00
760aaccfff
feat: add debug printing
...
allows to print messages to stdout only if the instance has debugging
enabled
2025-10-18 14:23:08 +02:00
da54bd0818
chore: bump version strings
2025-10-15 01:17:55 +02:00
b0845d723a
feat: storyboard generation (json, webvtt) and proxy
...
adds support for video storyboard extraction, generation and proxying
2025-10-15 00:03:45 +02:00
c760104d70
fix: support md5 url rewriting for proxied instances
...
depends on public_facing_url instead of perceived request url (which
can, and will be different for proxied instances)
2025-10-12 19:10:28 +02:00
d6cb0fe692
feat: support for md5 videoplayback url shortening
...
md5(url) can be supplied as md5 param to shorten videoplayback url
2025-10-12 18:52:38 +02:00
81fba8c4d0
fix: handle forwarded requests
...
proxied requests are now counted correctly
2025-10-05 23:42:23 +02:00
260039c307
hotfix: make the chunk size an integer in videoplayback proxy
2025-10-05 20:03:43 +02:00
2b24fc2906
feat: videoplayback proxying
...
adds support for proxying videos through the instance
the support is configurable, and disabled by default
2025-10-05 19:59:23 +02:00
002e3cba33
hotfix: glaring mistake while parsing text runs
2025-10-05 18:15:56 +02:00
5944fd2458
feat: support for "trending" playlists (without authors)
...
also introduces a fix for text run parsing (by forcing obj to be a dict)
2025-10-05 17:22:15 +02:00
719b545cb4
fix: livestream data extraction
...
prevents "NoneType" is not iterable error
2025-10-05 11:12:44 +02:00
468795a7a2
feat: search pagination
...
adds support for getting past the first page of search results
2025-10-03 01:16:56 +02:00
7eb4452fec
feat: make maxres provide the best quality thumbnail available
2025-10-02 12:42:12 +02:00
e7ae42f289
fix: simulate pagination for clients that rely on it
...
some clients (like clipious) use pagination on playlists and rely on
videos field to tell if the playlist has no more videos.
here all videos are returned for non-paginated queries, with empty video
field returned for every paginated query, which page is not equal to "1"
2025-10-02 02:27:51 +02:00
5bb542826e
feat: rewrite channel api endpoints in reversed order
2025-10-02 01:23:37 +02:00
365c54d214
fix: actually fall back to the android_vr extractor
2025-10-01 09:10:15 +02:00
a2e2fedc90
fix: handle empty channel tabs gracefully
...
prevents 500s when a channel tab is empty
2025-09-28 10:12:23 +02:00
4a311f185c
fix: prefer android_vr extractor by default
...
this is possibly one of the last known extractors unaffected by
signature extraction and decryption shenanigans, which cripples load
times on lower-end hardware
2025-09-28 07:47:17 +02:00
45073fff67
feat: extract avatar of the channel which added a video to a
...
collaborative playlist
surprisingly, innertube response contains the user's avatar, but doesn't
contain the ucid, name nor the handle
2025-09-28 06:59:53 +02:00
f73e6c11d4
fix: playlist description and collaborative playlist rendering
...
falls back to the more "universal" microformat for description
extraction and provides limited support for collaborative videos
(no channel ucids or collaborator names)
2025-09-28 06:32:39 +02:00
34e00e2492
fix: handle collaboratively authored videos in playlists and videos
...
endpoint
currently, the videos endpoint returns the video uploader name,
and not "author1, author2, author3" as is the case for videoRenderer
and playlistVideoRenderer - this might change in the future in order for
the endpoints to return the same data
2025-09-28 05:02:51 +02:00
f63c620541
fix: avatars for artist channels
...
ensures that we get the renderers, rather than expecting them to always
be the first or second element of primary_results (which is not the case
if the video has for example the "Nearest event" ticketShelfRenderer)
2025-09-27 23:52:50 +02:00
f2adc2e561
fix: verified badge extraction for search results
...
also introduces support for collaborative videos (mainly music videos)
2025-09-27 21:41:51 +02:00
e6d32091e1
fix: don't check for plid length
...
playlist ids can be of many lengths (at least 18, 34 and 36) and there
doesn't seem to be a rule for how many characters encode a typical
(non-mix, video-related) playlist. such validation requires more
research.
2025-09-27 20:41:07 +02:00
b98aa718b0
fix: fix shorts-only playlists by using on-demand ctoken generator
...
this will allow for retrieving playlist videos as playlistVideoRenderer
which we already have a parser for. another benefit is being able to
list videos in a playlist which have been deleted/made private.
also fixes livestream parsing
2025-09-26 22:49:16 +02:00
30850a7ce0
feat: protobuf ctoken generation
...
this commit introduces on-demand ctoken generation with a wrapper
for more concise, protodec-like syntax (see producePlaylistContinuation)
2025-09-26 22:40:29 +02:00
1c9174c888
feat: playlist browsing
...
pagination still needs refinement for some of the clients.
on another note, this is an anniversary commit, as ythdd turns 1 year
today.
2025-09-25 23:30:59 +02:00
6d0c70696b
docs: reorganize and update TODOs
2025-09-25 06:50:10 +02:00
509e81aafa
feat: add a temporary proxy for no_thumbnail
...
ideally, this would be served from a local resource instead of proxying
2025-09-25 06:36:23 +02:00
caa9e0c2b1
feat: list traversal improvements with safeTraverse()
...
translateLinks() also now strips any params (if present) by default
2025-09-25 06:34:13 +02:00
873abbd413
chore: update version strings
2025-09-25 06:30:53 +02:00
bedcaff7c0
fix: skip playlists in related video feed
...
they aren't returned by the invidious api in the first place
2025-09-23 20:10:19 +02:00
5dcf8c81e0
fix: strip playlist thumbnails off of unnecessary tracking params
2025-09-23 04:20:15 +02:00
60712f3b5d
fix: provide "latest" endpoint for channels
2025-09-23 04:19:42 +02:00
c20d4c34aa
feat: check for playback errors and return them in invidious api fashion
2025-09-22 10:50:33 +02:00