Fijxu
aa8b5cfd4b
feat: Add Video Cache compression
...
Video information from youtube always weight about ~60KB uncompressed.
When using Deflate to compress that information, it gets compressed down
to ~15KB, so now you will be able to store up to 4x entries more with
caching enabled.
For context, nadeko.net Invidious instance stores 54.7k keys, since we
also store the `time` in a different key associated to the video ID, the
real count of videos cached would be 27.3k. With compression enabled,
the Redis database will be able to store up to 4 times more videos in
cache, which is 109.2k videos cached.
Pretty cool huh.
2025-10-16 17:20:01 -03:00
Fijxu
ae5de9e015
feat: add customizable video buffer lenghts
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.13.3, true) (push) Has been cancelled
Build and release container directly from master / release (docker/Dockerfile, AMD64, ubuntu-latest, linux/amd64, ) (push) Has been cancelled
Build and release container directly from master / release (docker/Dockerfile.arm64, ARM64, ubuntu-24.04-arm, linux/arm64/v8, -arm64) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.12.2, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.14.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.15.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.16.3, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (nightly, false) (push) Has been cancelled
Invidious CI / Test ${{ matrix.name }} Docker build (AMD64, ubuntu-latest) (push) Has been cancelled
Invidious CI / Test ${{ matrix.name }} Docker build (ARM64, ubuntu-24.04-arm) (push) Has been cancelled
Invidious CI / lint (push) Has been cancelled
2025-10-05 18:16:41 -03:00
Fijxu
9fe12350e4
Improve config.example.yml
2025-10-05 17:45:41 -03:00
Fijxu
452d62d289
Merge remote-tracking branch 'upstream/master'
2025-09-12 23:36:58 -03:00
Émilien (perso)
14a629a4e8
Better documentation for the specific case public_url with companion
2025-09-11 11:19:40 +02:00
Emilien
cba2adc6ef
fix csp + progress proxy + allow omit public_url
2025-09-08 21:34:47 +02:00
Emilien
324a416fd4
initial support for base_url with invidious companion + proxy invidious_companion
2025-09-08 21:34:47 +02:00
Fijxu
acedcb7303
Merge remote-tracking branch 'upstream/master'
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.13.3, true) (push) Has been cancelled
Build and release container directly from master / release (docker/Dockerfile, AMD64, ubuntu-latest, linux/amd64, ) (push) Has been cancelled
Build and release container directly from master / release (docker/Dockerfile.arm64, ARM64, ubuntu-24.04-arm, linux/arm64/v8, -arm64) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.12.2, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.14.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.15.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.16.3, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (nightly, false) (push) Has been cancelled
Invidious CI / Test ${{ matrix.name }} Docker build (AMD64, ubuntu-latest) (push) Has been cancelled
Invidious CI / Test ${{ matrix.name }} Docker build (ARM64, ubuntu-24.04-arm) (push) Has been cancelled
Invidious CI / lint (push) Has been cancelled
2025-09-01 22:06:23 -04:00
Nami Sunami
227c041b86
fix(config.example.yml): Fix typo (effet -> effect)
2025-06-28 11:38:31 +02:00
Fijxu
3c5d37810d
Merge remote-tracking branch 'upstream/master'
2025-05-04 14:17:11 -04:00
Vyquos
1f028fee0f
Reflect companion secret character limit in example config comment ( #5269 )
...
Update the comments in the example config to show that the companion secret key must be exactly 16 characters long as per https://github.com/iv-org/invidious-companion/pull/81#issuecomment-2750675405 .
2025-05-04 07:47:42 +00:00
Fijxu
b4e146fb60
redis: replace lib by jgaskins/redis
...
https://github.com/jgaskins/redis
It's faster and in active development, old one gave me this using a TCP
connection:
test 5.94k (168.34µs) (±56.73%) 144B/op fastest
test 5.11k (195.76µs) (±58.89%) 144B/op fastest
test 5.48k (182.33µs) (±73.39%) 144B/op fastest
test 3.42k (292.56µs) (±66.19%) 144B/op fastest
meanwhile, the jgaskins/redis one gives:
test 6.96k (143.66µs) (±58.73%) 96.0B/op fastest
test 6.36k (157.16µs) (±55.95%) 96.0B/op fastest
test 7.06k (141.65µs) (±57.03%) 96.0B/op fastest
2025-04-13 02:30:37 -04:00
Émilien (perso)
0c07e9d27a
chore: set dash by default ( #5216 )
2025-04-04 14:00:29 +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
Fijxu
50fa7de901
Merge remote-tracking branch 'upstream/master'
2025-02-27 02:02:47 -03:00
syeopite
3e329410d1
Add the ability to listen on UNIX sockets ( #5112 )
2025-02-26 14:04:29 -08:00
Fijxu
d75d860888
Merge remote-tracking branch 'upstream/master'
Build and release container directly from master / release (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.12.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.13.2, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.14.0, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.15.0, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (nightly, false) (push) Has been cancelled
Invidious CI / build-docker (push) Has been cancelled
Invidious CI / build-docker-arm64 (push) Has been cancelled
Invidious CI / lint (push) Has been cancelled
Stale issue handler / stale (push) Has been cancelled
2025-01-25 11:51:05 -03:00
syeopite
033e42a981
Comment out http_proxy in example config
2025-01-22 10:33:34 -08:00
Fijxu
f248024b65
Merge squash 'unixfox:invidious-companion':
...
commit a5acddefa92c454fced4a9176df10dc85efdb516
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Mon Dec 30 22:25:13 2024 +0100
missing ,
commit 84b87bedadbd4d35190b1f4d6b3e4fc1abf2440a
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Mon Dec 30 22:19:45 2024 +0100
fixing format
commit bfaf72b3038c3c8cad6d5e68f9f2ad3a49c2a9fc
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Mon Dec 30 21:52:34 2024 +0100
skip proxy for invidious companion
commit f550359ae941d84cdaee0a966ed332354ef18f42
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Mon Dec 30 21:52:07 2024 +0100
!empty? to present?
commit e9c354d5a34df636306b1819dd17fff9e01b1a1e
Author: Émilien (perso) <4016501+unixfox@users.noreply.github.com >
Date: Tue Dec 24 17:43:54 2024 +0000
Better doc for invidious_companion_key
commit 0dba7675a2c1d51988b3f2911a9fb3a1f91bae52
Author: Émilien (perso) <4016501+unixfox@users.noreply.github.com >
Date: Tue Dec 24 16:18:58 2024 +0000
Better document private_url and public_url
commit 1de20546182421e1280ec2b68c6d347abead7c54
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Fri Dec 13 20:08:57 2024 +0100
add ability for invidious companion to check request from invidious
commit ab72bbad7afb7d143883a7d0610145f68c06bac8
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Sun Dec 8 22:24:57 2024 +0100
fix ameba Redundant use of `Object#to_s` in interpolation
commit a571eeaa381523f5efb29dea0f5fe097f4f1252c
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Sun Dec 8 22:22:08 2024 +0100
format watch.cr
commit f710dd37bf4327748b43067d75025cc915b5639c
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Sun Dec 8 22:21:10 2024 +0100
apply all the suggestions + rework invidious_companion parameter
commit 7a070fa710b7807cdda061d413ca9369a0962353
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Mon Nov 18 12:30:37 2024 +0100
invidious companion always used so always add CSP and redirect latest_version
commit 1f51edd0b915ca64df7f195aa271f74c7ef093cb
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Mon Nov 18 12:22:23 2024 +0100
fix linting
commit 734e72503f88f9741279ab385e86f5d2b340c71b
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Sun Nov 17 19:18:29 2024 +0100
fix download function when invidious companion used
commit bb2e3b2a3e5f53610b9dd602f8507303ec641450
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Sun Nov 17 12:26:35 2024 +0100
crystal handle decompression already by itself
commit b51770dbdbdcca04d04849d37e5f11ce20948c73
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Sat Nov 16 23:00:48 2024 +0100
fix linting + use .empty?
commit 9f846127aea9b4f392acb062d662fff2cc58d1d0
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Sat Nov 16 22:38:00 2024 +0100
fixing "end" misplacement
commit 1aa154b9787eddcdee960d06aed4c1c91f17c1c3
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Sat Nov 16 22:33:28 2024 +0100
separate invidious_companion logic + better config.yaml config
commit ff3305d52175c517b035d79b3c0c6a84809cbd0f
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Fri Nov 8 21:05:17 2024 +0100
move config checks for invidious companion
commit 409df4cff3cc69c5565a12feb307441eed36f937
Author: Émilien (perso) <4016501+unixfox@users.noreply.github.com >
Date: Tue Nov 5 15:50:59 2024 +0100
modify the description for config.example.yaml about invidious companion
commit 27b24f51abcccd1c68f4dc1c29c0c62ca26e604c
Author: Émilien (perso) <4016501+unixfox@users.noreply.github.com >
Date: Tue Nov 5 15:31:45 2024 +0100
Remove debug puts functions
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com >
commit 1c9f5b0a2b38ad94fb8972764ffae98df1e41dc9
Author: Émilien (perso) <4016501+unixfox@users.noreply.github.com >
Date: Tue Nov 5 15:31:21 2024 +0100
Use sample instead of Random.rand
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com >
commit 2cc204a0457665f8e334970d7e54b1843a667ab6
Author: Emilien <4016501+unixfox@users.noreply.github.com >
Date: Fri Nov 1 21:30:58 2024 +0100
throw error if inv_sig_helper and invidious_companion used same time
commit c612423a4d64f0adbef135074fc55dcc1c362f84
Author: Emilien Devos <4016501+unixfox@users.noreply.github.com >
Date: Mon Oct 21 01:20:16 2024 +0200
fixing condition for Content-Security-Policy
commit 195446337159d2cb92b48510af7311fe0cc0f5bb
Author: Emilien Devos <4016501+unixfox@users.noreply.github.com >
Date: Sun Oct 20 23:53:08 2024 +0200
fix Shadowing outer local variable `response`
commit 73c84baf9fa6eaf9c5d4981bc199f81306ebe5a2
Author: Emilien Devos <4016501+unixfox@users.noreply.github.com >
Date: Sun Oct 20 23:51:00 2024 +0200
redirect latest_version and dash manifest to invidious companion
commit 3dff7a76cf9f64ec70aac0a057a3b0bfa1edfc82
Author: Emilien Devos <4016501+unixfox@users.noreply.github.com >
Date: Sun Oct 20 02:10:55 2024 +0200
add support for invidious companion
2024-12-30 18:31:52 -03:00
Caian Benedicto
f9885cca8e
Revert changes made to other parameters
2024-12-27 15:19:13 -03:00
Caian Benedicto
275318dae2
Change socket_binding to a nested configuration in YAML
2024-12-14 15:18:25 -03:00
Caian Benedicto
48d2250024
Unify socket_binding and socket_permissions
2024-12-14 06:53:30 -03:00
Caian Benedicto
5f8130fd03
Leave socket_binding disabled by default in the configuration example
2024-12-14 05:39:03 -03:00
Caian Benedicto
b4e930f3bc
Change bind_unix to socket_binding, add socket_permissions and config example
2024-12-13 21:50:02 -03:00
Fijxu
c27a703544
Merge remote-tracking branch 'upstream/master'
2024-11-09 23:42:52 -03:00
Samantaz Fox
a760b69cb6
Logger: Add color support for different log levels ( #4931 )
...
No related issue
2024-11-08 23:28:51 +01:00
Fijxu
e2276ace1b
Merge remote-tracking branch 'upstream/master' into master
2024-10-31 20:25:33 -03:00
Samantaz Fox
f326bcf8db
Add support for using Invidious through a HTTP Proxy ( #4270 )
...
Partially addresses issue 301
2024-10-30 13:46:49 +01:00
Fijxu
2f5a555ea7
Merge remote-tracking branch 'upstream/master'
2024-10-08 19:22:53 -03:00
Fijxu
b1f25a69ad
Logger: Add color support for different log levels
2024-10-08 18:59:01 -03:00
Fijxu
d2edd4b63f
fixup! Logger: Add color support for different log levels
2024-10-08 18:36:50 -03:00
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
Fijxu
17b525f2a6
Logger: colorize_logs false by default
2024-09-27 18:08:21 -03:00
Fijxu
d77afdcf00
Logger: Make colorize_logs true by default
2024-09-20 00:32:27 -03:00
Fijxu
f8ec312328
Logger: Add color support for different log levels
2024-09-19 21:35:52 -03: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
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
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
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
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
syeopite
57f8bfb965
Add config to add custom text in the footer
...
Co-authored-by: Aural Glow <125497673+auralglow@users.noreply.github.com >
2024-07-21 13:00:24 -04:00
syeopite
6acabc5bff
Add new instance customization section in config
2024-07-21 13:00:24 -04:00
syeopite
e98aafa4b5
Extract and implement footer overhaul from #2215
2024-07-21 13:00:24 -04:00
syeopite
eb8fcc9e88
Add support for using HTTP proxies
2024-04-28 19:43:17 -07:00