Commit Graph

3298 Commits

Author SHA1 Message Date
syeopite 41e0e77d33 HTML: Add Missing Noreferrers (#5368) 2025-08-23 03:23:05 -07:00
syeopite 9ebc76462f Channels: Fix fetching of individual community posts (#5361) 2025-08-23 03:20:04 -07:00
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
ChunkyProgrammer 803311713d make sort_by code more legible 2025-06-27 11:38:08 -04:00
epicsam123 64ac3b5203 add missing noreferrers 2025-06-26 18:40:06 -04:00
ChunkyProgrammer f8febbe2b2 format changes 2025-06-25 23:53:07 -04:00
ChunkyProgrammer 436f955e0f update fetch_community_post_comments protobuf to match currently used protobuf, add sort_by option 2025-06-25 23:34:30 -04:00
ChunkyProgrammer 4155f15bf7 update resolve_url api to better support new post endpoint 2025-06-25 23:33:28 -04:00
ChunkyProgrammer b9171d9dab Update protobuf for individual community post 2025-06-25 22:35:16 -04:00
ChunkyProgrammer f3f6937ffc Fix community tab not loading 2025-06-25 22:22:30 -04: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: https://github.com/LuanRT/YouTube.js/commit/8cf658151fc4e4266fadfb7e53dd5db3db693355, https://github.com/LuanRT/YouTube.js/commit/689fb0b90edab6f0e4326a35144541d68f72fe01 and https://github.com/LuanRT/YouTube.js/commit/b15f623dab3acb44eaef33175df2d22d35be2979
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 aab6ff4bb6.
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