3289 Commits

Author SHA1 Message Date
syeopite
0308acb624
Videos: Add fallback to TvSimply client (#5345) 2025-08-23 03:18:41 -07:00
syeopite
cac2397494
YTAPI: Add TvSimply client (#5344) 2025-08-23 03:17:28 -07:00
syeopite
cf640d808e
YtAPI: Bump client versions (#5325) 2025-08-23 03:16:55 -07:00
Fijxu
d51e1cb051
remove fallback to TV client 2025-06-15 17:45:53 -04:00
Fijxu
cf0a68bd77
store adaptiveFormats data into a variable 2025-06-15 17:43:07 -04:00
Fijxu
01cdb384e0
add suggestions from syeopite 2025-06-12 17:25:19 -04:00
Fijxu
b1e7e0c45e
replace url by signatureCipher if url is not present 2025-06-12 16:18:01 -04:00
Fijxu
0c96e0977f
check for signatureCipher too 2025-06-12 16:07:58 -04:00
Fijxu
37be513e14
Add fallback to TvSimply client 2025-06-12 01:25:59 -04:00
Fijxu
4daf1f0818
Add TvSimply client
Data taken from: 8cf658151f, 689fb0b90e and b15f623dab
2025-06-12 01:24:45 -04:00
syeopite
df8839d1f0
Make base-Invidious video info extraction more resilient (#5312)
Try next fallback client if one raises

Convert `dig` to `dig?`

Optimize companionless stream retrieval
2025-05-28 20:18:51 +00:00
Fijxu
4b37d47ebb
Add missing xml.text on "title" element for channels RSS (#5320) 2025-05-22 20:12:54 -04:00
Fijxu
09d342b84d
Update src/invidious/yt_backend/youtube_api.cr
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
2025-05-22 17:55:46 -04:00
Fijxu
3a8d4f333f
update IOS_APP_VERSION 2025-05-22 17:17:01 -04:00
Fijxu
97354adf0f
Update src/invidious/yt_backend/youtube_api.cr
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
2025-05-22 17:15:45 -04:00
Fijxu
6497e1c418
YtAPI: Bump client versions 2025-05-22 16:06:13 -04:00
syeopite
2c857b5ab6
Remove text captchas from Invidious (#5308)
textcaptcha.com seems to be down since April and it does not appear that
service will be restored.

Text captchas can be easily automated using free LLMs, so keeping the
text captcha is more like a gate to create accounts in mass on public
Invidious instances.

It also gives headaches like bots automating account creation to modify
the videos that appear popular page of each instance (since the popular
page is based on the subscriptions of the registered users).
2025-05-17 16:37:55 -07:00
syeopite
475bf7448a
Add Javascript licence information automatically (#5297) 2025-05-17 16:20:38 -07:00
syeopite
50e0a4361b
Add missing javascript licenses (#5292) 2025-05-17 16:19:21 -07:00
syeopite
6bfb61e9b4
fix: safely access "label" key (#5282) 2025-05-17 16:18:58 -07:00
syeopite
ef07c542dc
fix: pass user to query.process if present (#5277) 2025-05-17 16:18:37 -07:00
syeopite
a9180aa6c1
fix: do not strip '+' character from referer (#5276) 2025-05-17 16:18:15 -07:00
syeopite
4b2f9ffffc
fix: set CSP header after setting preferences of registered users (#5275) 2025-05-17 16:17:43 -07:00
syeopite
64ad97f308
fix(typo): 'Salect' -> 'Select' (#5242) 2025-05-17 16:17:08 -07:00
syeopite
d5cb653fd1
Handle parse errors gracefully on timeline items (#5196) 2025-05-17 16:16:20 -07:00
syeopite
0b23dd12e1
require base_job before the other jobs (#5194) 2025-05-17 16:15:32 -07:00
syeopite
df41cb9588
Update Kemal to 1.6.0 and remove Kilt (#5120) 2025-05-17 16:14:40 -07:00
Fijxu
6376fd55db
Remove text captcha due to textcaptcha.com being down
Fixes https://github.com/iv-org/invidious/issues/5295

textcaptcha.com seems to be down since April and it does not appear that service will be restored.

Text captchas can be easily automated using free LLMs, so keeping the text captcha is more like a gate to create accounts in mass on public Invidious instances.

It also gives headaches like bots automating account creation to modify the videos that appear popular page of each instance (since the popular page is based on the subscriptions of the registered users).
2025-05-17 13:17:26 -04:00
Fijxu
6fe21a7523
Revert "Update src/invidious/routes/before_all.cr"
This reverts commit aab6ff4bb6e4d3174ab812e5a2cdeec841d2358e.
2025-05-10 23:08:48 -04:00
Fijxu
aab6ff4bb6
Update src/invidious/routes/before_all.cr
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
2025-05-10 23:02:34 -04:00
syeopite
20cf913a4e
Add Javascript licence information automatically
This commit automates the process of documenting the licenses of
Invidious Javascript files through a compile time macro in the
licenses.ecr template file.

This should hopefully help keep the license documentation up-to-date
and allow extensions like LibreJS to always be able to load the latest
Javascript files of Invidious.

Currently only Invidious's first-party Javascript files are supported.
In the future it should be possible to leverage videojs-dependencies.yml
to automatically document the Javascript licenses for
VideoJS and co. as well.
2025-05-10 18:44:53 -07:00
Fijxu
1492453c60
update comment 2025-05-10 16:31:14 -04:00
Fijxu
401bc110d6
fix: set CSP header after setting preferences of registered users
Fixes https://github.com/iv-org/invidious/issues/5142

add reason why extra_media_csp is after reading user preferences from the database and cookies

set media-src after loading database user preferences
2025-05-10 13:26:30 -04:00
Fijxu
30ae222bf2
Add missing javascript licenses 2025-05-09 23:02:19 -04:00
Fijxu
b120abdcc5
fix: safely access "label" key
Fixes https://github.com/iv-org/invidious/issues/5095

On some videos, `label` is missing from the video information. Invidious
assumed that the `label` key existed.

Videos with label have this inside `metadataBadgeRenderer`:

```
{"style" => "BADGE_STYLE_TYPE_SIMPLE",
 "label" => "4K",
 "trackingParams" => "COMDENwwGAoiEwiCrebe6JWNAxWIxz8EHSQRFTU="}
```

but other videos, for some reason, look like this:

```
{"icon" => {"iconType" => "PERSON_RADAR"},
 "style" => "BADGE_STYLE_TYPE_SIMPLE",
 "trackingParams" => "CM4DENwwGAsiEwiCrebe6JWNAxWIxz8EHSQRFTU="}
```
2025-05-09 02:58:29 -04:00
Émilien (perso)
9e3c0dfd85
fix: fallback first with TVHTML then MWEB
fixes #5273
2025-05-08 19:55:22 +02:00
Fijxu
25eade589f
fix: pass user to query.process if present.
Fixes https://github.com/iv-org/invidious/issues/5097
2025-05-08 03:12:00 -04:00
Fijxu
35896d086b
fix: do not strip '+' character from referer
Fix that a user of my instance (https://inv.nadeko.net) sent me by email.
2025-05-08 01:00:46 -04:00
absidue
2c1400c41e
Fix proxying live DASH streams (#4589) 2025-05-03 20:28:19 +00:00
Alex Maras
8fd0b82c38
feat: route to invidious companion on downloads (#5224) 2025-05-03 01:28:18 +02:00
Émilien (perso)
7579adc3a3
fix: fallback other yt clients no url found for adaptive formats (#5262) 2025-05-02 16:57:02 +02:00
Fijxu
05b99df49a
fix(typo): 'Salect' -> 'Select' 2025-04-17 16:55:30 -04:00
syeopite
6c063436d4
Fix issues raised by code review
Remove explicit `self.` from #process of parsers

Remove explicit return tuple in get_issue_template

Fix formatting

Move inline issue template style to stylesheet

Use @id in ProblematicTimelineItem xml repr

Fix naming
2025-04-05 12:40:38 -07:00
Émilien (perso)
0c07e9d27a
chore: set dash by default (#5216) 2025-04-04 14:00:29 +02:00
Émilien (perso)
23ff6135bb
chore: enforce 16 characters for invidious_companion_key (#5220) 2025-03-26 15:27:59 +01:00
syeopite
7b27585454
Support ProblematicTimelineItem in trending feed 2025-03-19 23:50:41 -07:00
syeopite
f7810ba007
Use ProblematicTimelineItem as needed in playlists 2025-03-19 23:32:46 -07:00
syeopite
c288005bfd
Make "show technical details" btn translatable 2025-03-19 22:52:04 -07:00
syeopite
aae5ba01c2
Fix formatting 2025-03-19 22:52:04 -07:00
syeopite
0e0a95430a
Improve JSON repr of ProblematicTimelineItem 2025-03-19 22:52:03 -07:00