Fijxu
bbec111997
feat(experimental): minify js files using esbuild
Build and release container directly from master / release (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.12.1, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.13.2, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.14.0, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.15.0, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (nightly, false) (push) Waiting to run
Invidious CI / build-docker (push) Waiting to run
Invidious CI / build-docker-arm64 (push) Waiting to run
Invidious CI / lint (push) Waiting to run
2025-04-05 03:03:04 -03:00
Fijxu
ce052103e7
deprecate support for external video playback proxy
2025-04-03 03:12:36 -03:00
Fijxu
fd8c40e0da
fix: fix wrong invidious companion logic on backends
...
do not change to another companion if request fails
2025-04-03 03:12:36 -03:00
Fijxu
ddf6802d76
chore: add message if checkbackend job is disabled
2025-03-30 19:19:47 -03:00
Fijxu
7aba1f7ba3
Revert "Merge branch 'add-prometheus-metrics-endpoint'"
...
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
This reverts commit e5c0f15398 due to
https://github.com/iv-org/invidious/pull/3576#issuecomment-2727898574
, reversing changes made to ecacbab2a5 .
2025-03-16 23:51:16 -03:00
Fijxu
e5c0f15398
Merge branch 'add-prometheus-metrics-endpoint'
...
From https://github.com/iv-org/invidious/pull/3576
2025-03-01 03:39:21 -03:00
Fijxu
bceb7a61ef
feat: Detect videoplayback proxy from invidious-companion and add it to the CSP header
2025-02-28 20:06:09 -03:00
syeopite
f3d982a885
Update Kemal to 1.6.0 and remove Kilt
...
Kilt is unmaintained and the ECR templating logic has been
natively integrated into Kemal with the issues previously seen
having been resolved.
This commit is mostly a precursor to support the next Kemal
release which will add the ability to create error handlers for
raised exceptions.
See https://github.com/kemalcr/kemal/pull/688
2025-02-28 20:04:42 -03:00
Fijxu
27fecf3879
require base_job before the other jobs
...
The crystal compiler seems to evaluate `require` in an alphabetical way,
so if anyone in the future, wants to add another job and that job is
above `base_job.cr` in alphabetical order, the compiler is going to fail
with `Error: undefined constant: Invidious::Jobs::BaseJob`.
This doesn't fix anything, but it will prevent a future headache.
2025-02-28 20:04:28 -03:00
Fijxu
50fa7de901
Merge remote-tracking branch 'upstream/master'
2025-02-27 02:02:47 -03:00
syeopite
adcdb8cb92
Fix lint and formatting
2025-02-26 14:18:50 -08:00
syeopite
3e329410d1
Add the ability to listen on UNIX sockets ( #5112 )
2025-02-26 14:04:29 -08:00
syeopite
4ea4878d1a
User: Batch notifications together
2025-02-26 13:55:25 -08:00
Fijxu
e76867aaba
feat(Database::Videos): built-in video cache and support for multiple caching backends
...
I did this to get rid of Redis compatible DBs and for speed purposes.
This is considered experimental, but everything works fine from
what I have tested.
Here are some benchmarks using the built-in benchmark library of
crystal:
\# built-in release
cache get 19.79M ( 50.54ns) (± 4.12%) 32.0B/op fastest
cache insert 7.88k (126.86µs) (± 2.20%) 65.5kB/op fastest
cache get 4.31k (232.11µs) (± 5.50%) 104kB/op fastest
\# redis release
cache get 22.27k ( 44.90µs) (± 6.40%) 264B/op fastest
cache insert 4.74k (211.01µs) (± 4.72%) 65.7kB/op fastest
cache get 2.51k (399.11µs) (±13.15%) 129kB/op fastest
---
OP/s are way higher, and memory usage per call is lower, so it's a win
win.
2025-02-26 17:51:54 -03:00
Fijxu
b3e24c703d
feat(invidious-companion): use connection pool
...
From
https://github.com/iv-org/invidious/pull/4985#discussion_r1889356705
Thanks syeopite!
2025-02-21 14:12:03 -03:00
Fijxu
bbc5913b8d
feat(database): support for either Redis or PostgreSQL for video cache
2025-02-18 18:11:05 -03:00
Caian Benedicto
b4a6193642
Improve syntax
...
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com >
2025-01-05 09:56:00 +00:00
Fijxu
30c0b5059d
refactor CSP and fix non proxied videoplayback due to CSP
...
Build and release container directly from master / release (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.10.1, true) (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.11.2, true) (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 }} (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
Probably fixes https://git.nadeko.net/Fijxu/invidious/issues/65
2024-12-30 19:57:22 -03:00
Fijxu
31219ce196
external proxies: Add more information about the job
2024-12-14 17:18:23 -03:00
Fijxu
a01c8c63d3
tokens: rename Tokens to SessionTokens
2024-12-14 17:17:27 -03:00
Fijxu
58c4d8c951
tokens: use http instead of redis to get the tokens
...
It should be compatible with github.com/iv-org/youtube-trusted-session-generator
2024-12-14 17:15:17 -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
b4e930f3bc
Change bind_unix to socket_binding, add socket_permissions and config example
2024-12-13 21:50:02 -03:00
Caian Benedicto
d7f5cdc2f9
Merge branch 'master' into unix-sockets
2024-12-13 20:26: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
9957da28dc
Proxy: Use connection pools for images ( #4326 )
...
Theoretically this should improve memory usage and performance by quite a bit
as we aren't creating a new HTTP::Client and in a turn a new connection for
every image we request from YouTube.
Closes issue 4009
2024-10-30 13:55:28 +01: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
486c5845cd
Config: Also reload env variables
2024-10-30 01:57:06 -03:00
Fijxu
67d7b78ac9
Config: Reload configuration on modification
...
It detects changes on the config.yml automtically if invidious is
running on linux. If not, the configuration can be reloaded using
`kill -s HUP $(pidof invidious)` or any other tool that sends a SIGHUP
signal to the invidious process.
Closes #16
2024-10-28 13:37:06 -03:00
Fijxu
3cc0dbca01
PubSub: Use external domain for pubsub feeds
2024-10-17 17:02:12 -03:00
Fijxu
eb2670fe49
Tokens: Refresh po_token and visitor_data every 5 seconds
...
Closes #11
2024-10-13 15:57:51 -03:00
Fijxu
65f3bbcb10
External Proxies: Use list of external videoplayback proxies
2024-10-11 13:50:42 -03:00
Fijxu
8dc0a67be3
Feat: User supplied po_token and visitor_data
2024-10-11 16:50:21 -03:00
Fijxu
eff8673efc
Feat: Experimental support for external videoplayback proxies
2024-10-08 18:59:01 -03:00
Fijxu
b1f25a69ad
Logger: Add color support for different log levels
2024-10-08 18:59:01 -03:00
Samantaz Fox
7c79ee7cc2
Performance: Improve speed of automatic instance redirection ( #4193 )
...
The automatic instance redirection implemented in #1940 fetches a new list of
instances each time someone queries the /redirect endpoint. This is extremely
inefficient...
This PR optimizes all that into a background job that only fetches a single
list every 30 minutes. This should performance quite a bit.
No related issue was opened.
2024-10-08 17:31:20 +02:00
Fijxu
f8ec312328
Logger: Add color support for different log levels
2024-09-19 21:35:52 -03:00
Sophie Tauchert
5d0149844f
Batch user notifications together
2024-08-26 21:24:27 +02:00
syeopite
4bc77b81bf
Move YTIMG_POOLS to connection_pool.cr
2024-08-24 19:47:40 -07:00
syeopite
480e073fa9
Use HTTP pools for image requests to YouTube
2024-08-24 19:45:52 -07:00
Fijxu
4a2877f28b
Merge remote-tracking branch 'upstream/limit-feeds-materialized-views'
2024-08-19 18:29:25 -04:00
Emilien Devos
e476dbe25b
limit feeds and delete materialized views
2024-08-14 19:38:54 +02:00
Fijxu
6c2626cf05
Remove old DECRYPT_FUNCTION var
2024-08-10 16:28:31 -04:00
Fijxu
b7430c5a5a
Merge branch 'sig_helper'
2024-08-10 16:17:09 -04:00
Samantaz Fox
7798faf234
SigHelper: Make signature server optional and configurable
2024-08-07 23:25:35 +02:00
Samantaz Fox
ec8b7916fa
Videos: Make use of the video decoding
2024-07-25 22:13:08 +02:00
Samantaz Fox
a845752fff
Jobs: Remove the signature function update job
2024-07-25 22:13:08 +02:00
Emilien Devos
8665a69fee
limit feeds and delete materialized views
2024-07-21 13:00:26 -04:00