Commit Graph

132 Commits

Author SHA1 Message Date
Samantaz Fox
f326bcf8db Add support for using Invidious through a HTTP Proxy (#4270)
Partially addresses issue 301
2024-10-30 13:46:49 +01:00
Samantaz Fox
d5f5490aee Search: Fix 'youtu.be' URLs in sanitizer (#4894)
Use the proper URL argument when transforming youtu.be URLs to their
youtube.com equivalents.

Thanks to Tuhgy on the fediverse for reporting this!

No related issue
2024-10-08 18:03:56 +02:00
ChunkyProgrammer
f6e09250cd Use "LIVE" instead of "LIVE NOW" when parsing the live_now video badge
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2024-10-07 11:30:33 -04:00
ChunkyProgrammer
98f1e4170b Rename CCommons to ClosedCaptions 2024-09-30 22:02:57 -04:00
ChunkyProgrammer
1961fc3b11 switch to enum flag instead of adding lots of properties to SearchVideo 2024-09-30 22:02:57 -04:00
ChunkyProgrammer
2e649363d2 Parse more metadata badges for SearchVideos 2024-09-30 22:02:57 -04:00
Émilien (perso)
a021b93063 Update latest version WEB_CREATOR + fix comment web embed (#4930)
* Update to latest version WEB_CREATOR

* fix comment about using web embed as a fallback
2024-09-20 00:05:41 +00:00
Émilien (perso)
d9df90b5e3 use WEB_CREATOR when po_token with WEB_EMBED as a fallback (#4928)
* use WEB_CREATOR when po_token with WEB_EMBEDDED_PLAYER as a fallback

* remove unrelated comment

Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>

---------

Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
2024-09-20 00:19:13 +02:00
Emilien Devos
cec3cfba77 Revert "use web screen embed for fixing potoken functionality (#4923)"
This reverts commit de918b9234.
The code doesn't work as expected. Reverting
2024-09-17 00:22:06 +02:00
Émilien (perso)
de918b9234 use web screen embed for fixing potoken functionality (#4923)
* use web screen embed for fixing potoken functionality

* use web screen embed only for getting streamingData + disable tv screen on po_token
2024-09-16 23:42:43 +02:00
Samantaz Fox
5e899d73a9 Search: Fix for youtu.be URL in sanitizer 2024-09-02 18:14:57 +02:00
Samantaz Fox
0699e5fc27 YtAPI: Bump client versions (#4849)
This might help reducing the amount of playback errors.

No related issue
2024-08-24 20:47:01 +02:00
Samantaz Fox
78c5ba93c7 Misc: Clean some code in UrlSanitizer 2024-08-17 19:22:40 +02:00
Samantaz Fox
eb0f651812 Add a youtube URL sanitizer 2024-08-17 19:22:40 +02:00
Samantaz Fox
cc33d3f074 YtAPI: Also update User-Agent string 2024-08-15 18:14:29 +02:00
Samantaz Fox
acbb625866 YtAPI: Update clients to latest version 2024-08-15 12:57:36 +02:00
Samantaz Fox
2d18ff1f80 Add ability to set po_token and visitordata ID (#4789)
This PR adds two new config option, to pass a PO token (config 'po_token') and
a visitor ID (config 'visitor_data') to Youtube. These two strings are required
to play videos using the WEB client.

Warning: These strings gives much more identifiable information to Google!

If the po_token setting is filled in, then the WEB client is used. If not, the
Android client is used. TvHtml5ScreenEmbed will still be used as a fallback.

Script for generating po_token and visitor_data:
https://github.com/iv-org/youtube-trusted-session-generator

Helps with issue 4734
2024-08-13 20:35:43 +02:00
Samantaz Fox
2d7869b48b Add support for an external signature server (#4772)
This PR adds support for inv_sig_helper, which offloads the player fetching,
function extraction and signature parsing, which in turn allows to use the
web client to watch videos.

When the new config option "signature_server" is not set, the logic for the
external signature server is not enabled and invidious behaves like before.

This PR also updates the crystal overrides because the stdlib changed quite
a while ago (See issue 11049 at crystal-lang/crystal) and those were required
to properly use TCP/unix sockets.

Closes issue 4649
2024-08-13 20:26:59 +02:00
Samantaz Fox
5e38ef59da Ameba: Fix Lint/UselessAssign (#4795)
Related to issue 2231
2024-08-11 13:38:29 +02:00
Samantaz Fox
7798faf234 SigHelper: Make signature server optional and configurable 2024-08-07 23:25:35 +02:00
Samantaz Fox
10e5788c21 Videos: Send player sts when required 2024-07-25 22:13:08 +02:00
syeopite
c8fb75e6fd Ameba: Fix Lint/UnusedBlockArgument 2024-07-24 19:59:20 -07:00
Emilien Devos
53223f99b0 Add ability to set po_token and visitordata ID 2024-07-24 19:28:47 +02:00
syeopite
fad0a4f52d Ameba: Fix Lint/UselessAssign 2024-07-17 12:39:40 -07:00
syeopite
3b471ae964 Automatically initialize proxy via stdlib override 2024-04-28 19:43:22 -07:00
syeopite
eb8fcc9e88 Add support for using HTTP proxies 2024-04-28 19:43:17 -07:00
Samantaz Fox
470245de54 YtAPI: Remove API keys like official clients 2024-04-27 20:48:42 +02:00
Samantaz Fox
0ab6d9e748 Videos: Use android test suite client (#4650)
"Temporary" fix, until a better and more permanent solution is found.

Closes issue 4584
2024-04-26 23:54:24 +02:00
Samantaz Fox
d49c762609 YtAPI: Add more client infos for Android test suite 2024-04-26 22:26:45 +02:00
Samantaz Fox
7f3ddad12e Videos: Use android test suite client 2024-04-26 22:03:59 +02:00
syeopite
990931ff67 Remove legacy proxy code 2024-04-07 11:08:12 -07:00
Samantaz Fox
619aa3ff05 YoutubeAPI: bump client versions 2024-03-06 21:36:15 +01:00
Samantaz Fox
3b4358dbd4 Extractors: Don't error if AuthorId does not exist (#3869)
Some playlist author's don't have a YouTube channel, so does movies.
This caused various extractors (related videos, search) to fail.

Closes the following issues:
2530, 3349, 3766, 3812, 4133
2024-02-12 21:54:17 +01:00
syeopite
1c0b4205d4 Add parameter to disable force_resolve in make_client (#4335)
* Add option to disable force_resolve in make_client

Some websites such as archive.org and textcaptcha.com
does not support IPv6 and as such requests fail when Invidious requests
with IPv6 to those services.

* Reenable force_resolve on pubsub subcribe request

* Make force_resolve false by default in make_client

* Remove missed explicit force_resolve=false
2024-01-10 23:01:00 +00:00
Chunky programmer
b5f8b4542a Search: Don't error if AuthorId does not exist 2023-12-07 09:39:33 -05:00
ChunkyProgrammer
8338a73e7b add user_agent if empty or crystal 2023-11-17 08:01:56 -05:00
ChunkyProgrammer
86ee761788 Fix logic for setting user agent 2023-11-15 00:51:43 -05:00
Émilien (perso)
db3c57d49f force resolve for everything (#4225) 2023-11-02 22:35:50 +00:00
ChunkyProgrammer
8781520b8a Search: Parse channel handle and hide video count when channel handle exists
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-09-18 20:12:07 -04:00
Samantaz Fox
842e9fade5 Captions: Add ability to use Innertube's transcripts API (#4001) 2023-09-18 23:31:56 +02:00
Samantaz Fox
a8295b452e Search: Add hashtag result (#3989) 2023-08-26 12:11:38 +02:00
syeopite
c5fe96e936 Remove lsquic from codebase 2023-07-26 07:19:12 -07:00
syeopite
3509752b79 Rename transcript() to get_transcript() in YT API 2023-07-23 16:52:47 -07:00
syeopite
2e67b90540 Add method to query /youtubei/v1/get_transcript 2023-07-23 14:40:02 -07:00
Samantaz Fox
c1a69e4a4a Channels: Use innertube to fetch the community tab 2023-07-18 00:29:25 +02:00
Samantaz Fox
839e90aeff Extractors: Add module for 'hashtagTileRenderer' 2023-07-18 00:01:13 +02:00
ChunkyProgrammer
f2fa3da9d2 Add support for releases and podcasts tabs 2023-07-14 16:15:20 -07:00
Samantaz Fox
3444117818 User: Remove broken Google login (various constants) 2023-06-11 16:34:59 +02:00
Samantaz Fox
7556cb69f2 YT API: Bump WEB/MWEB client versions 2023-06-09 21:05:48 +02:00
Samantaz Fox
b5e30d66d4 YT API: Bump Android app version 2023-06-09 21:05:48 +02:00