Commit graph

116 commits

Author SHA1 Message Date
Samantaz Fox
82ac9a8609
Preferences: Add option to control preloading of video data (#4122)
This PR adds a configuration option to control the preloading of video data on
page load with the HTML5 'preload'[1] attribute on the `<video>` element.

The option is enabled by default, meaning that the `preload` attribute's value
will be 'auto'. If users want to prevent preloading of video data, they
can disable the option, which will set the attribute value to 'none'.

[1](https://www.w3schools.com/tags/att_video_preload.asp)

Closes issue 4110
2024-10-08 17:38:06 +02:00
Thomas Lange
f247b2f862
Update config/config.example.yml
Accept suggested change from @SamantazFox.

Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2024-08-30 19:52:33 +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
ec1bb5db87
SigHelper: Add support for PLAYER_UPDATE_TIMESTAMP opcode 2024-08-07 23:25:32 +02:00
Samantaz Fox
a845752fff
Jobs: Remove the signature function update job 2024-07-25 22:13:08 +02:00
Emilien Devos
53223f99b0 Add ability to set po_token and visitordata ID 2024-07-24 19:28:47 +02:00
Samantaz Fox
7e363fa3c8
Config: Remove anti-captcha related configs 2023-11-20 17:39:51 +01:00
Thomas Lange
bf470704a5 Add option to control preloading of video data
Fix #4110 by adding an option to control the preloading of video data on
page load. If disabled ("false"), the browser will not preload any video
data until the user explicitly hits the "Play" button.

If enabled ("true"), the default behavior will be used, which means the
browser decides how much of the video will be preloaded.
2023-09-26 22:21:12 +02:00
Samantaz Fox
842e9fade5
Captions: Add ability to use Innertube's transcripts API (#4001) 2023-09-18 23:31:56 +02:00
syeopite
eabcea6f4a
Remove trailing whitespace in config documentation
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-08-29 06:18:35 +00:00
syeopite
c5fe96e936
Remove lsquic from codebase 2023-07-26 07:19:12 -07:00
syeopite
e4942b188f
Integrate transcript captions into captions API 2023-07-23 14:40:09 -07:00
Jason Thatcher
4a92dce449
config.example.yml: Fix typo in pwgen command (#3965)
`pwdgen` -> `pwgen`.
2023-07-04 08:18:30 +02:00
Samantaz Fox
f64e311dcd
Config: Update example config documentation 2023-07-01 19:29:40 +02:00
Samantaz Fox
b06c87ff8d
User: Remove broken Google login (various comments) 2023-06-11 16:34:59 +02:00
Émilien Devos (perso)
36f7c99cfb
Update config.example.yml
Document save playback position in the config.example.yml
2023-05-07 17:49:43 +02:00
Émilien Devos
98301a2237
Add ability to disable all user notifications (#3473) 2023-01-05 23:08:05 +00:00
PrivacyDevel
4fc5d43374
Update config.example.yml 2022-11-22 17:22:46 +00:00
PrivacyDevel
9656067296
Add "light" and "auto" as accepted values for dark_mode 2022-11-22 17:08:32 +00:00
PrivacyDevel
9eb2ad367e
Correct config.example.yml dark_mode comment 2022-11-22 15:51:14 +00:00
Samantaz Fox
3b39b8c772
Add table cleaning job (#3294) 2022-10-12 10:06:36 +02:00
Jakub Filo
7c45026383 Fix playlist limit 2022-09-28 12:21:23 +02:00
Jakub Filo
4818b89ab1 Allow to set maximum custom playlist length via a config variable. 2022-08-27 22:36:07 +02:00
Émilien Devos
3d77642a1e
Disable decrypt_polling by default + add comment (#3244) 2022-08-06 17:09:10 +00:00
Émilien Devos
644ba46945
Remove mentions that decrypt_polling is broken
And add notice about bandwidth usage, related to https://github.com/iv-org/invidious/issues/3234
2022-08-06 10:09:45 +00:00
Samantaz Fox
7f445f6167
Merge pull request #2915 from MathiusD/RefreshChannelsJob-frenquency
Allow configuration of the time between 2 RefreshChannelsJob
2022-02-25 00:04:48 +01:00
Samantaz Fox
d8bb75be63
Document 'extend_desc' in config.example.yml
Thanks to "Le Jester" on Matrix for noticing that it was missing!
2022-02-23 21:50:30 +01:00
Féry Mathieu (Mathius)
e60a1836fe
Lint config.example.yml and config.cr
Follow lint indications :
- https://github.com/iv-org/invidious/pull/2915#discussion_r812396203
- https://github.com/iv-org/invidious/pull/2915#discussion_r812396807
2022-02-22 23:19:59 +01:00
Féry Mathieu (Mathius)
fd0ac3a671
Update management of channel_refresh_interval
Follow indications:
https://github.com/iv-org/invidious/pull/2915#discussion_r811373503
2022-02-22 01:35:35 +01:00
Féry Mathieu (Mathius)
dfab62ce48
Rename new property to channel_refresh_interval
Follow indications :
https://github.com/iv-org/invidious/pull/2915#discussion_r811373503
2022-02-22 00:46:26 +01:00
Féry Mathieu (Mathius)
18197e7e3e
Lint description of channel_refresh_time 2022-02-21 11:13:24 +01:00
Féry Mathieu (Mathius)
f75a81c9ee
Make configurable time between each RefreshChannelsJob 2022-02-21 10:53:20 +01:00
Dimitris Apostolou
7e4690e43c
Fix typos 2022-02-07 14:57:14 +02:00
Samantaz Fox
e00f9a869d
config: remove note about QUIC disabled at Google
The situation is back to normal.
2022-01-25 13:53:46 +01:00
Tony Finn
cdc007c83c
Specify the public schema for public videos
Unlike the other migrations, this one uses a bare table name to specify the table. This means it looks in the default search path. Unfortunately, the out of box search path is:

1. Schema with the same name as the user
2. Public

Because of this, if a schema exists with the same name as the DB user, the playlist_videos table will get created in _that_ schema, rather than the public schema, and then the grant statement will fail with an error like below if check_table is enabled as it keeps trying to create the table but failing on the grant statement:

```
2022-01-22 02:27:42 UTC [info] check_table: check_table: CREATE TABLE playlist_videos
Unhandled exception: relation "public.playlist_videos" does not exist (PQ::PQError)
  from /usr/share/crystal/src/primitives.cr:266:3 in 'handle_error'
  from lib/pg/src/pq/connection.cr:184:9 in 'handle_async_frames'
  from lib/pg/src/pq/connection.cr:162:7 in 'read'
  from lib/pg/src/pq/query.cr:53:14 in 'exec_all'
  from lib/db/src/db/database.cr:126:9 in '__crystal_main'
  from /usr/share/crystal/src/crystal/main.cr:110:5 in 'main'
  from src/env/__libc_start_main.c:94:2 in 'libc_start_main_stage2'
2022-01-22 02:27:43 UTC [info] check_table: check_table: CREATE TABLE playlist_videos
Unhandled exception: relation "public.playlist_videos" does not exist (PQ::PQError)
  from /usr/share/crystal/src/primitives.cr:266:3 in 'handle_error'
  from lib/pg/src/pq/connection.cr:184:9 in 'handle_async_frames'
  from lib/pg/src/pq/connection.cr:162:7 in 'read'
  from lib/pg/src/pq/query.cr:53:14 in 'exec_all'
  from lib/db/src/db/database.cr:126:9 in '__crystal_main'
  from /usr/share/crystal/src/crystal/main.cr:110:5 in 'main'
  from src/env/__libc_start_main.c:94:2 in 'libc_start_main_stage2'
```
2022-01-22 02:32:13 +00:00
Émilien Devos
7b9f5d74dc Create videos caching table as UNLOGGED 2022-01-09 16:58:29 +00:00
Samantaz Fox
4940759627
Example config: Change 'use_quic' default value
Related to commit a120f143d7
Also point towards the Github issue.
2021-11-12 18:53:51 +01:00
Samantaz Fox
a12571e748
Fix minor error in config.example.yml
Update the "note" for `locale`
2021-11-12 02:32:15 +01:00
Dmitry Sandalov
ea0b1fdf44
Feature Request: Localization for trending (reword region doc) 2021-10-21 22:37:43 +03:00
Dmitry Sandalov
d9c58c4837
Feature Request: Localization for trending iv-org#331 2021-10-21 14:54:15 +03:00
JuniorJPDJ
df968d1919
variable postgres username and database name (#2451) 2021-10-11 19:16:56 +00:00
Samantaz Fox
adc12addfa
Add config option to display source code URL in footer (#2450) 2021-10-07 13:53:12 +02:00
syeopite
347c189f3f
Merge pull request #1678 from Rjevski/idempotent-database-migrations
Make DB migrations idempotent.
2021-10-03 18:53:35 +00:00
Samantaz Fox
9f5f5da894
config_example.yaml: document all possible options (#2083)
Fixes https://github.com/iv-org/documentation/issues/46
2021-07-16 20:34:40 +02:00
Andre Borie
79e99908de Allow providing 12-Factor-style Database URL in config 2021-01-30 19:33:58 +00:00
Andre Borie
ffa9e5dfab Make migrations (mostly) idempotent. 2021-01-17 14:20:34 +00:00
saltycrys
b566c4ba1a
Untrack config.yml (#1557)
* Untrack config.yml

`config/config.yml` has been untracked and moved to `config/config.example.yml`.

The Dockerfile has been updated to copy all `config/config.*` files and to try
to move `config/config.example.yml` to `config/config.yml`. If a user supplied
`config/config.yml` exists it is not overwritten.

* Update Dockerfile to use `shard.lock`

* Fix tests
2020-12-10 08:18:30 +01:00
Omar Roth
074497b0f6
Add migration script for polymer redesign 2020-06-15 18:20:31 -05:00
Omar Roth
1eca969cf6
Add support for polymer redesign 2020-06-15 18:18:04 -05:00
Omar Roth
61150c74d2
Move privacy type into playlists.sql 2020-04-14 18:09:48 -05:00