Commit Graph

1079 Commits

Author SHA1 Message Date
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
É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 5c8b4eb379 Warn when po_token, visitor_data and/or inv-sig-helper is not configured (#5202)
* Warn when required configs for playback is missing

* Add link to documentation in warnings

* Direct users to /installation instead
2025-03-12 10:11:17 +01:00
Fijxu dd2e999402 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 19:47:22 -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
syeopite 05c5448bc1 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-01-29 11:49:45 -08:00
Caian Benedicto b4a6193642 Improve syntax
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
2025-01-05 09:56:00 +00: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
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
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
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
syeopite cff25a7b25 Refactor instance fetching logic into separate job 2024-05-22 13:22:00 -07:00
syeopite eb8fcc9e88 Add support for using HTTP proxies 2024-04-28 19:43:17 -07:00
Samantaz Fox 7b84bdb29b API: Add APIHandler back
This handler should no have been removed in 4276, as it adds the required CORS
header (Access-Control-Allow-Origin) for public acces to the API.

Thanks to iBicha for noticing this!
2024-02-13 21:05:26 +01:00
Samantaz Fox 9310d09f93 Kemal: remove APIHandler middleware 2023-11-23 18:30:37 +01:00
syeopite c5fe96e936 Remove lsquic from codebase 2023-07-26 07:19:12 -07:00
Samantaz Fox d7568ac45a Remove old warning code about unconfigured 'hmac_key' 2023-07-01 21:53:56 +02:00
Samantaz Fox 3444117818 User: Remove broken Google login (various constants) 2023-06-11 16:34:59 +02:00
Emilien Devos 372192eabc warn about hmac key deadline 2023-06-04 17:30:23 +02:00
Samantaz Fox c7876d564f Comments: add 'require' statement for a dedicated folder 2023-05-25 22:53:53 +02:00
Samantaz Fox 1af846e58c API: make /api/v1/videos respect the 'local' parameter 2023-01-15 17:18:34 +01:00
Samantaz Fox 8e8ca4fcc5 Prepare to create a 'Channel' module 2022-12-22 16:13:34 +01:00
Samantaz Fox 87a5d70062 videos: move API's JSON structure to a dedicated module 2022-10-31 20:09:04 +01:00
Samantaz Fox 88141c459c videos: move formats structure to a separate file/module 2022-10-31 20:09:04 +01:00
Samantaz Fox 3b39b8c772 Add table cleaning job (#3294) 2022-10-12 10:06:36 +02:00
Samantaz Fox 848a60aa9b routes: remove useless 'locale' variable in error 505 handler 2022-08-10 01:01:31 +02:00
Samantaz Fox 88ea794fdb routes: move error 404 logic to its own module 2022-08-10 01:00:44 +02:00
Samantaz Fox 870350fd61 routes: move before_all logic to its own module 2022-08-10 00:55:58 +02:00
Samantaz Fox 1e25894f7e routing: move the remaining routes registration to a wrapper function 2022-08-10 00:48:09 +02:00
Samantaz Fox 223e74569a routing: move feed routes registration to Invidious::Routing 2022-08-10 00:46:35 +02:00
Samantaz Fox 0a4d793556 routing: move search routes registration to Invidious::Routing 2022-08-10 00:31:15 +02:00
Samantaz Fox 5503914abe routing: move playlist routes registration to Invidious::Routing 2022-08-10 00:26:41 +02:00
Samantaz Fox 906466d7fb routing: move watch/embed routes registration to Invidious::Routing 2022-08-10 00:22:40 +02:00
Samantaz Fox e2532de766 routing: move image proxy routes registration to Invidious::Routing 2022-08-10 00:20:04 +02:00
Samantaz Fox 3ac4390d11 routing: move channel routes registration to Invidious::Routing 2022-08-10 00:14:26 +02:00
Samantaz Fox 389ae7a573 routing: register playback routes with a function, rather than a macro 2022-08-10 00:10:29 +02:00