Commit Graph

90 Commits

Author SHA1 Message Date
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
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
Émilien (perso) 9e3c0dfd85 fix: fallback first with TVHTML then MWEB
fixes #5273
2025-05-08 19:55:22 +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
Émilien (perso) 70ff463cc6 Add invidious companion support (#4985)
* add support for invidious companion

* redirect latest_version and dash manifest to invidious companion

* fix Shadowing outer local variable `response`

* fixing condition for Content-Security-Policy

* throw error if inv_sig_helper and invidious_companion used same time

* Use sample instead of Random.rand

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

* Remove debug puts functions

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

* modify the description for config.example.yaml about invidious companion

* move config checks for invidious companion

* separate invidious_companion logic + better config.yaml config

* fixing "end" misplacement

* fix linting + use .empty?

* crystal handle decompression already by itself

* fix download function when invidious companion used

* fix linting

* invidious companion always used so always add CSP and redirect latest_version

* apply all the suggestions + rework invidious_companion parameter

* format watch.cr

* fix ameba Redundant use of `Object#to_s` in interpolation

* add ability for invidious companion to check request from invidious

* Better document private_url and public_url

* Better doc for invidious_companion_key

* !empty? to present?

* skip proxy for invidious companion

* fixing format

* missing ,

* add companion pooling http

* fix: don't use http proxy when sending requests to companion

* fix: logic where we want to have the invidious logic if companion is not used

* chore: remove baseurl usage from invidious companion

* chore: change from inv-sig-helper to companion for required playback

* fix: use puts + add warning for inv-sig-helper deprecated

---------

Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
2025-03-13 16:44:00 +01:00
syeopite 164d764d55 API: Add a 'published' video parameter for related videos (#4149) 2025-01-22 11:38:12 -08:00
Samantaz Fox d7c35e6e3d Videos: Stop using TVHTML5_SIMPLY_EMBEDDED_PLAYER (#5063)
The age restriction bypass does not work anymore with this client.
See: https://github.com/iv-org/invidious/issues/2189#issuecomment-2437740627

Related to 2189
2024-11-10 17:45:58 +01:00
Samantaz Fox ec82c2f539 Videos: use WEB client instead of WEB CREATOR (#4984)
Use the WEB client when a potoken is configured, otherwise try with Android
test suite if there is no potoken configured.

This PR reverts some of the changes made in 4928

Related to 4734
2024-11-10 17:41:54 +01:00
Samantaz Fox 4b363e32fa Parsers: Fix parsing live_now and premiere_timestamp (#4934)
This pull request fixes the parsing for the 'live_now' and 'premiere_timestamp'
variables so that they work without the 'microformat' data being present.

Related to 4929
2024-11-10 17:36:49 +01:00
Émilien (perso) 0f8f32bca8 remove explicit usage of WEB 2024-11-09 22:21:09 +01:00
Emilien 82b1506ccc remove usage of WebEmbeddedPlayer 2024-11-09 22:21:09 +01:00
Emilien b9ad9bd723 use WEB when po_token + android test suite when no po_token 2024-11-09 22:21:09 +01:00
Émilien (perso) 09ccea1d31 remove usage of TVHTML5_SIMPLY_EMBEDDED_PLAYER 2024-11-08 22:01:23 +01:00
Samantaz Fox 3cfcc16403 Videos: Convert URL before putting result into cache (#4850)
Closes issue 4837
2024-10-08 17:52:34 +02:00
absidue b2a83991d1 Fix parsing live_now and premiere_timestamp 2024-09-20 18:46:00 +02: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 b2133c6b2c Videos: Convert URL before putting result into cache 2024-08-24 18:01:56 +02:00
RadoslavL b526f48120 Changed Unix time to Rfc3339 time and removed NaN message 2024-08-16 23:57:49 +03:00
RadoslavL e8cd631b2d Formatting 2024-08-16 14:13:05 +03:00
RadoslavL 69ff6def5f Removed useless variable 2024-08-16 14:11:28 +03:00
RadoslavL cab02d4959 Corrected usage of publishedText variable throughout the code 2024-08-16 13:54:27 +03:00
Emilien Devos 53223f99b0 Add ability to set po_token and visitordata ID 2024-07-24 19:28:47 +02:00
meatball 248df785d7 Update spec and rollback to last commits changes 2024-06-18 20:55:14 +02:00
meatball 04ca64691b Make solution complaint with spec 2024-05-30 22:37:55 +02:00
meatball 5957523624 Improve code quallity 2024-05-30 22:13:30 +02:00
meatball 629599f940 Fix change in parser file 2024-05-30 21:57:15 +02:00
meatball 31ad708206 fix: Handle nil value for genreUcid in Video struct 2024-05-30 21:56:33 +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 c94c6f4b83 Remove legacy proxy code (#4570)
Also fixes the build on nightly as the offending code was removed.

Related to
https://github.com/iv-org/invidious/pull/4270#issuecomment-1858876952
2024-04-26 23:44:47 +02:00
Samantaz Fox f1fd197cbc API: convey info "is post live" from Youtube response (#4569)
Returns the 'isPostLiveDvr' field in the videos API when the video
is a post-live DVR (= ended livestream that hasn't been reprocessed
into VOD yet).

Example taken 10 minutes after that livestream ended:
/api/v1/videos/euqnWk-uP6M

{
  ...
  "isPostLiveDvr": true,
  ...
}

Partially fixes 4421
2024-04-26 23:44:30 +02:00
Samantaz Fox 48ad864572 Videos: Add support for new likes format (#4462)
YouTube added a new format for like data in December 2023.
This PR adds support for parsing saod new format.

Related: LuanRT/YouTube.js issue 557

Closes 4419
2024-04-26 23:30:30 +02:00
Samantaz Fox 33f316c864 Videos: Remove AndroidScreenEmbed client 2024-04-26 23:15:34 +02:00
Samantaz Fox be291e8f0f Videos: Copy captions over between responses 2024-04-26 22:33:08 +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
ChunkyProgrammer bfd9c9876e Parse if video is post live dvr and include it in API 2024-04-07 10:26:33 -04:00
Brahim Hadriche 1a2d408d38 Update shorts params 2024-03-31 11:37:13 -04:00
ChunkyProgrammer 5ceeefa236 add support for new likes format 2024-03-01 23:45:29 -05:00
RadoslavL 6861148290 Moved code around and fixed a problem 2023-11-24 11:24:56 +02:00
RadoslavL 03f9962a47 This should work 2023-11-14 10:00:18 +02:00
RadoslavL d098e5ae9b I hope it works at this point 2023-11-14 09:58:37 +02:00
RadoslavL 4c486634e2 Another attempt at fixing the issue 2023-11-14 09:56:06 +02:00
RadoslavL 3bced4e12b Fixed another issue 2023-11-14 09:51:12 +02:00
RadoslavL 0d22af6564 Moved methods around 2023-11-14 09:47:16 +02:00