5798 Commits

Author SHA1 Message Date
Hosted Weblate
95190bc9bc
Update Alemannic translation
Update Alemannic translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
2026-01-26 23:02:15 +00:00
Hosted Weblate
8120e33946
Update Chinese (Simplified Han script) translation
Update Chinese (Simplified Han script) translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
2026-01-26 23:02:14 +00:00
Hosted Weblate
c5c9e961cb
Update Chinese (Traditional Han script) translation
Update Chinese (Traditional Han script) translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
2026-01-26 23:02:13 +00:00
Hosted Weblate
c11d064931
Update Slovenian translation
Co-authored-by: Damjan Gerl <damjan@damjan.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-01-26 23:02:13 +00:00
Hosted Weblate
b18e7364de
Update Korean translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: xrfmkrh <rF3nMd7sRKezjF2vcEQo@protonmail.com>
2026-01-26 23:02:12 +00:00
Hosted Weblate
27a52bfd04
Update translation files
Updated by "Remove blank strings" hook in Weblate.

Update Albanian translation

Update translation files

Updated by "Remove blank strings" hook in Weblate.

Update Albanian translation

Update Albanian translation

Update Albanian translation

Co-authored-by: Andrea Toska <toskaandrea@gmail.com>
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invidious/translations/
Translation: Invidious/Invidious Translations
2026-01-26 23:02:11 +00:00
Hosted Weblate
2b83194faa
Update Persian translation
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-01-26 23:02:10 +00:00
Hosted Weblate
bed56defe2
Update Swedish translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Joel A <joeax910@student.liu.se>
2026-01-26 23:02:10 +00:00
Hosted Weblate
27f4002087
Update French translation
Update French translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: John Kindle <idp-portal.suse.com.dwindle414@aleeas.com>
Co-authored-by: Tristan B <tristanb0@users.noreply.hosted.weblate.org>
2026-01-26 23:02:09 +00:00
Hosted Weblate
92448fb10e
Update Spanish translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nicolás Pérez <ccnicolasperez@gmail.com>
2026-01-26 23:02:09 +00:00
Hosted Weblate
c7ff9830fb
Update Dutch translation
Update Dutch translation

Co-authored-by: Dick Groskamp <dikgro@yahoo.co.uk>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-01-26 23:02:08 +00:00
Hosted Weblate
850df066da
Update Arabic translation
Update Arabic translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Rex_sa <rex.sa@pm.me>
2026-01-26 23:02:08 +00:00
Hosted Weblate
164bed5cb0
Update Italian translation
Update Italian translation

Update Italian translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
2026-01-26 23:02:07 +00:00
Hosted Weblate
eaa723dd34
Update Polish translation
Update Polish translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Matthaiks <kitynska@gmail.com>
2026-01-26 23:02:06 +00:00
Hosted Weblate
7c7b63a58b
Update Croatian translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Milo Ivir <mail@milotype.de>
2026-01-26 23:02:05 +00:00
Hosted Weblate
fb59f4d1f4
Update Icelandic translation
Update Icelandic translation

Update Icelandic translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
2026-01-26 23:02:04 +00:00
Hosted Weblate
a81315edcf
Update Czech translation
Update Czech translation

Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-01-26 23:02:04 +00:00
Hosted Weblate
60877fccc5
Update Catalan translation
Update Catalan translation

Co-authored-by: Ecron <ecron_89@hotmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Xusi Fons <xusi@keemail.me>
2026-01-26 23:02:03 +00:00
Hosted Weblate
bc0d197f3a
Update Japanese translation
Update Japanese translation

Co-authored-by: Himmel <himmel@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: maboroshin <maboroshin@users.noreply.hosted.weblate.org>
2026-01-26 23:02:03 +00:00
Hosted Weblate
e435e2b823
Update Ukrainian translation
Update Ukrainian translation

Co-authored-by: Denys Nykula <nykula@ukr.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-01-26 23:02:02 +00:00
Hosted Weblate
8991678278
Update Russian translation
Update Russian translation

Co-authored-by: Artyom Rybakov <rib.artem@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-01-26 23:02:01 +00:00
Hosted Weblate
47570bc022
Update Estonian translation
Update Estonian translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
2026-01-26 23:02:01 +00:00
Hosted Weblate
a1c9e5d265
Update Greek translation
Co-authored-by: AUGANOS <giannoskai@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-01-26 23:02:00 +00:00
Hosted Weblate
0bfc3ac990
Update German translation
Update German translation

Update German translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Lenny Angst <lenny@familie-angst.ch>
Co-authored-by: Milo Ivir <mail@milotype.de>
2026-01-26 23:01:59 +00:00
Hosted Weblate
8fbcef6f64
Update Portuguese (Brazil) translation
Update Portuguese (Brazil) translation

Update Portuguese (Brazil) translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: joaooliva <joaooliva@protonmail.com>
2026-01-26 23:01:59 +00:00
Hosted Weblate
0bcde02f31
Update Tamil translation
Update Tamil translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com>
2026-01-26 23:01:58 +00:00
Hosted Weblate
27ed470ea3
Update Turkmen translation
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Perhat Kishikov <deadshoot205410@gmail.com>
2026-01-26 23:01:58 +00:00
Hosted Weblate
50dc1cc8c4
Update Turkish translation
Update Turkish translation

Update Turkish translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
2026-01-26 23:01:57 +00:00
Hosted Weblate
d69c3f07bf
Update Galician translation
Update Galician translation

Update Galician translation

Add Galician translation

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ninjum <ninhum@gmx.com>
2026-01-26 23:01:56 +00:00
Kiril Isakov
d51a7a44ad
Fix commit command in README instructions, as per #5606 (#5607) 2026-01-23 13:18:41 +01:00
Émilien (perso)
7e36cfb667
Revert "Bump crystallang/crystal from 1.16.3-alpine to 1.19.0-alpine in /dock…" (#5604)
This reverts commit d25cc9570c9738f16e15437bcc69a12ab2095738.
2026-01-19 23:39:01 +01:00
dependabot[bot]
d25cc9570c
Bump crystallang/crystal from 1.16.3-alpine to 1.19.0-alpine in /docker (#5603)
Bumps crystallang/crystal from 1.16.3-alpine to 1.19.0-alpine.

---
updated-dependencies:
- dependency-name: crystallang/crystal
  dependency-version: 1.19.0-alpine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-19 22:59:44 +01:00
Émilien (perso)
66c67f4c7a
doc: Update HTTP proxy configuration comments (#5586)
* doc: Update HTTP proxy configuration comments

Added information about proxy configuration for YouTube streams.

* Document supported proxy types in config.example.yml

Added note about supported proxy types in configuration.
2026-01-17 00:15:32 +01:00
Fijxu
344bc2d8e9
Strip unwanted headers from response headers in images and videoplayback (#5595)
Image responses contained the following unwanted headers that should not
be passed to the clients:

```
"Cross-Origin-Resource-Policy"
["cross-origin"]
"Cross-Origin-Opener-Policy-Report-Only"
["same-origin; report-to=\"youtube\""]
"Report-To"
["{\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}"]
"Timing-Allow-Origin"
["*"]
```
2026-01-16 19:39:44 -03:00
Fijxu
5f84a5b353
Generate companion check id one time and add missing companion check id on captions (#5575)
* Only generate companion check id one time

* Add missing check id for companion captions
2025-12-22 17:14:59 +01:00
Fijxu
9603f5151d
Downgrade Crystal to 1.16.3 in OCI (#5577)
* downgrade to 1.16.3

* Downgrade Alpine base image from 3.23 to 3.22

---------

Co-authored-by: Émilien (perso) <4016501+unixfox@users.noreply.github.com>
2025-12-22 11:19:13 +01:00
Fijxu
f7a31aa3de
fix lint 2025-12-21 00:50:37 -03:00
Jeroen Boersma
dbbaf51f1f
Allow downloading via companion (#5561)
* Allow downloading via companion

* post request where not proxied for the download companion which made
  it impossible to download with the companion enabled

* Re-apply Channel to Channels rename which was pulled in

* Update src/invidious/routes/companion.cr

* doc: better comments for each route

---------

Co-authored-by: Fijxu <fijxu@nadeko.net>
Co-authored-by: Émilien (perso) <4016501+unixfox@users.noreply.github.com>
2025-12-19 15:09:22 +01:00
Émilien (perso)
7a4b901846
chore: update crystal 1.18.2 + alpine 3.23 (#5574) 2025-12-19 15:08:07 +01:00
Fijxu
bf17d53068
Replace deprecated blocking property of Socket (#5538)
* Replace deprecated `blocking` property of `Socket`

This replaces the deprecated argument `blocking` and uses
`Socket.set_blocking(fd, value)` instead.

Fixes a warning in the compiler

https://github.com/crystal-lang/crystal/pull/16033

* Upgrade to upstream

* chore: only Socket.set_blocking for > 1.18

---------

Co-authored-by: Emilien <4016501+unixfox@users.noreply.github.com>
2025-12-19 14:59:42 +01:00
syeopite
1f5685ef92 Reduce indent in StaticAssetsHandler#serve_file 2025-12-19 12:35:00 +01:00
syeopite
21049518d6 Improve cache size check to be more performant
Summing the sizes of each cached file every time is very inefficient.
Instead we can simply store the cache size in an constant and increase
it everytime a file is added into the cache.
2025-12-19 12:35:00 +01:00
syeopite
7f9cfe1aa2 Refactor logic for updating temp files in tests 2025-12-19 12:35:00 +01:00
syeopite
89a0761a19 Fix Ameba Lint/UselessAssign 2025-12-19 12:35:00 +01:00
syeopite
7749ea1956 Isolate static assets handler spec from others
Running `crystal spec` without a file argument essentially produces one
big program that combines every single spec file, their imports, and
the files that those imports themselves depend on. Most of the types
within this combined program will get ignored by the compiler due to a
lack of any calls to them from the spec files.

But for some types, partially the HTTP module ones, using them within
the spec files will suddenly make the compiler enable a bunch of
previously ignored code. And those code will suddenly require the
presence of additional types, constants, etc. This not only make it
annoying for getting the specs working but also makes it difficult to
isolate behaviors for testing.

The `static_assets_handler_spec.cr` causes this issue and so will be
marked as an isolated spec for now. In the future all of the tests
should be organized into independent groupings similar to how the
Crystal compiler splits their tests into std, compiler, primitives and
interpreter.
2025-12-19 12:35:00 +01:00
syeopite
9e482b4807 Add specs for the new StaticAssetsHandler 2025-12-19 12:35:00 +01:00
syeopite
6fd1cb3585 Compare against 1.17.0-dev until full release 2025-12-19 12:35:00 +01:00
syeopite
ddfbed68f7 Simplify StaticAssetsHandler implementation
Overriding `#call` or patching out `serve_file_compressed` provides
only minimal benefits over the ease of maintenance granted by only
overriding what we need to for the caching behavior.
2025-12-19 12:35:00 +01:00
syeopite
d2be57a454 Replace Kemal::StaticFileHandler on Crystal < 1.17.0
Kemal's subclass of the stdlib `HTTP::StaticFileHandler` is not as
maintained as its parent, and so misses out on many enhancements and bug
fixes from upstream, which unfortunately also includes the patches for
security vulnerabilities...

Though this isn't necessarily Kemal's fault since the bulk of the stdlib
handler's logic was done in a single big method, making any changes hard
to maintain. This was fixed in Crystal 1.17.0 where the handler
was refactored into many private methods, making it easier for an
inheriting type to implement custom behaviors while still leveraging
much of the pre-existing code.

Since we don't actually use any of the Kemal specific features added by
`Kemal::StaticFileHandler`, there really isn't a reason to not just
create a new handler based upon the stdlib implementation instead which
will address the problems mentioned above.

This PR implements a new handler which inherits from the stdlib variant
and overrides the helper methods added in Crystal 1.17.0 to add the
caching behavior with minimal code changes. Since this new handler
depends on the code in Crystal 1.17.0, it will only be applied on
versions greater than or equal to 1.17.0. On older versions we'll
fallback to the current monkey patched `Kemal::StaticFileHandler`
2025-12-19 12:35:00 +01:00
Fijxu
eed8f25a3d
dockerfile: compile openssl instead of using the one bundled on the crystal alpine image. (#5441)
* dockerfile: compile openssl instead of using the one bundled on the crystal alpine image.

* fix formatting

* CI: add --no-cache to openssl-builder

* CI: add Dockerfile.arm64 version

* add comment why we compile openssl ourselves

* fix wrong position of comment

* oopsie

* verify openssl checksums

* set nproc for openssl make

* use ARG for openssl sha256 checksum
2025-12-18 10:16:15 +01:00