3130 Commits

Author SHA1 Message Date
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
88b9f17388 Ameba: Fix Naming/VariableNames (#4790)
Related to issue 2231
2024-08-13 20:26:15 +02:00
Emilien Devos
e6c39f9e3a add pot= parameter now required by youtube 2024-08-13 14:37:35 +02:00
Samantaz Fox
5e38ef59da Ameba: Fix Lint/UselessAssign (#4795)
Related to issue 2231
2024-08-11 13:38:29 +02:00
Samantaz Fox
80ffc442f2 HTML: Add rel="noreferrer noopener" to external links (#4667)
Note: Does not add rel="noreferrer noopener" to:
 * links in channel description
 * links in video descriptions
 * links in video comments

Related to issue 4267
2024-08-11 13:35:57 +02:00
Samantaz Fox
9bf754ed4f Remove unused methods in Invidious::LogHandler (#4812)
Closes issue 4791
2024-08-11 11:45:56 +02:00
Samantaz Fox
fa6c5158c5 Ameba: Fix Lint/NotNilAfterNoBang (#4796)
Related to issue 2231
2024-08-11 11:45:05 +02:00
Samantaz Fox
b45310c7d4 Ameba: Fix unused argument Lint warnings (#4805)
Related to issue 2231
2024-08-11 11:43:56 +02:00
Samantaz Fox
eb2dfe0ab1 Ameba: i18next.cr fixes (#4806)
Related to issue 2231
2024-08-11 11:41:36 +02:00
Fijxu
6c2626cf05 Remove old DECRYPT_FUNCTION var 2024-08-10 16:28:31 -04:00
Fijxu
72150ae676 Merge branch 'potoken-config' 2024-08-10 16:17:48 -04:00
Fijxu
b7430c5a5a Merge branch 'sig_helper' 2024-08-10 16:17:09 -04:00
Samantaz Fox
cc36a82933 SigHelper: Fix some logic errors raised during code review 2024-08-07 23:26:10 +02:00
Samantaz Fox
7798faf234 SigHelper: Make signature server optional and configurable 2024-08-07 23:25:35 +02:00
Samantaz Fox
ec1bb5db87 SigHelper: Add support for PLAYER_UPDATE_TIMESTAMP opcode 2024-08-07 23:25:32 +02:00
Samantaz Fox
3b7e45b7bc SigHelper: Small fixes + suggestions from code review 2024-08-07 23:12:38 +02:00
syeopite
e098c27a45 Remove unused methods in Invidious::LogHandler 2024-07-28 16:44:30 -07:00
syeopite
6506b8dbfc Ameba: Fix Naming/PredicateName 2024-07-25 20:08:26 -07:00
Samantaz Fox
61d75050e4 SigHelper: Use 'URI.parse' instead of 'URI.new'
Co-authored-by: Brahim Hadriche <brahim.hadriche@gmail.com>
2024-07-25 22:13:08 +02:00
Samantaz Fox
10e5788c21 Videos: Send player sts when required 2024-07-25 22:13:08 +02:00
Samantaz Fox
b509aa91d5 SigHelper: Fix many issues 2024-07-25 22:13:08 +02:00
Samantaz Fox
ec8b7916fa Videos: Make use of the video decoding 2024-07-25 22:13:08 +02:00
Samantaz Fox
56a7488161 Helpers: Add inv_sig_helper client 2024-07-25 22:13:08 +02:00
Samantaz Fox
a845752fff Jobs: Remove the signature function update job 2024-07-25 22:13:08 +02:00
Samantaz Fox
63a729998b Misc: Sync crystal overrides with current stdlib 2024-07-25 22:13:07 +02:00
syeopite
205f988491 Ameba: Fix Naming/MethodNames 2024-07-24 20:04:44 -07:00
syeopite
0db3b830b7 Ameba: Fix Lint/HashDuplicatedKey 2024-07-24 20:03:41 -07:00
syeopite
c8fb75e6fd Ameba: Fix Lint/UnusedBlockArgument 2024-07-24 19:59:20 -07:00
syeopite
636a6d0be2 Ameba: Fix Lint/UnusedArgument 2024-07-24 19:57:54 -07:00
syeopite
3415507e4a Ameba: undo Lint/NotNilAfterNoBang in signatures.cr
File is set to be removed with #4772
2024-07-24 19:48:34 -07:00
Emilien Devos
53223f99b0 Add ability to set po_token and visitordata ID 2024-07-24 19:28:47 +02:00
Fijxu
ddfb8e7d93 Views: Add "Watch on Materialious" link on videos. 2024-07-21 13:01:00 -04:00
Emilien Devos
b0cd6587bd retreive potoken for bypass restrictions
Signed-off-by: Fijxu <fijxu@nadeko.net>
2024-07-21 13:01:00 -04:00
Fijxu
067dcbef5e Options for donation and contact links 2024-07-21 13:00:27 -04:00
Emilien Devos
8665a69fee limit feeds and delete materialized views 2024-07-21 13:00:26 -04:00
sf.nadeko.net ~root
d1051efd6e Add History feed menu 2024-07-21 13:00:26 -04:00
Fijxu
03bf4592ce Add history tab in feed menu 2024-07-21 13:00:26 -04:00
Fijxu
d641bcbf5d Use legit User-Agent instead of Crystal User-Agent. 2024-07-21 13:00:26 -04:00
Fijxu
2027a35e5a test123 2024-07-21 13:00:25 -04:00
sf.nadeko.net ~root
65d9468911 Add some links and change some things in the CSS 2024-07-21 13:00:25 -04:00
Emilien Devos
389a2a4a4d use redis for video cache
Signed-off-by: zzls Selfhost <root@selfhost.zzls.xyz>
2024-07-21 13:00:25 -04:00
syeopite
b60e056f96 Update uptime logic to handle updown.io response 2024-07-21 13:00:25 -04:00
syeopite
532d92bb7a Fix invalid logic for instance uptime comparison 2024-07-21 13:00:25 -04:00
syeopite
24f878e6f6 Use HTTP::Client directly in instance list job
The HTTP::Client created via `make_client` is affected by the
force_resolve configuration option. However, api.invidious.io
does not support ipv6 and as such any request with ipv6 to
api.invidious.io will instead raise.

Directly calling the HTTP::Client will ignore the force_resolve option
allowing requests to go through ipv4 when needed.
2024-07-21 13:00:25 -04:00
syeopite
a9fc84bc14 Refactor instance fetching logic into separate job 2024-07-21 13:00:25 -04:00
syeopite
7e680c692f Remove preferences and login link from footer 2024-07-21 13:00:25 -04:00
syeopite
1eb28edfb3 Add modified disclaimer to version tag 2024-07-21 13:00:25 -04:00
syeopite
780f9df7d3 Add config option for instance donation link
Co-authored-by: Arya K <arya@projectsegfau.lt>
2024-07-21 13:00:24 -04:00
syeopite
4d11c324b0 Add "Instance" section to footer 2024-07-21 13:00:24 -04:00