Commit Graph

3421 Commits

Author SHA1 Message Date
Fijxu
4c8b02f5fa Merge 'Extract footer overhaul from #2215':
From https://github.com/iv-org/invidious/pull/4003

Squashed

commit 5bcc25b2da46e5b21ebc9d11a0963b4df8cd9402
Author: syeopite <syeopite@syeopite.dev>
Date:   Thu Nov 7 20:33:35 2024 -0800

    Reduce footer buffer height

commit 1341f67e85b27103514339c0ab4267dae7e7af09
Author: syeopite <syeopite@syeopite.dev>
Date:   Thu Nov 7 20:29:52 2024 -0800

    Rename project homepage to project website

commit d1b9769d8941e4ce7d95bc2f3a574586da47b3c9
Author: syeopite <syeopite@syeopite.dev>
Date:   Thu Nov 7 20:28:26 2024 -0800

    Add footer buffer only in necessary templates

commit 2c798c945215db683aa4be2e34747ea9f6bf1c8b
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:58:29 2024 -0700

    Remove preferences and login link from footer

commit d5571faec5435dff3a1c09d726c983fbc9836bb2
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:52:43 2024 -0700

    Add modified disclaimer to version tag

commit a41bedbe64152ce5c51589c2d645276b89f4060a
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:50:44 2024 -0700

    Typo

commit 87cdc3b286a80f0a404e4b2891a58febe3aacad7
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:48:06 2024 -0700

    Add config option for instance donation link

    Co-authored-by: Arya K <arya@projectsegfau.lt>

commit b5ae452bc5750e14f00d8e16d2fc8b708262fcc3
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:38:18 2024 -0700

    Add "Instance" section to footer

commit 001ba71b9101445243d194887adbd0b95852cc54
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:01:20 2024 -0700

    Add config to add custom text in the footer

    Co-authored-by: Aural Glow <125497673+auralglow@users.noreply.github.com>

commit 1da6933b8e41be43e0aa703d1f989869cabb56a2
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 13:55:49 2024 -0700

    Add new instance customization section in config

commit dc9697157bca50aab56450ea76aa0ac18da18448
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 13:35:39 2024 -0700

    Add Invidious version to footer

commit 629f95fcbead361f2e260a0a38e0839de7f1d735
Author: syeopite <70992037+syeopite@users.noreply.github.com>
Date:   Sat Sep 16 23:05:38 2023 +0000

    Use instances.invidious.io instead of redirect

    Co-authored-by: TheFrenchGhosty <47571719+TheFrenchGhosty@users.noreply.github.com>

commit 3f0ea875c16eb3a87050a9a73bec536be41dde48
Author: syeopite <70992037+syeopite@users.noreply.github.com>
Date:   Sun Jul 30 06:10:18 2023 +0000

    Update locales/en-US.json

    Co-authored-by: Samantaz Fox <coding@samantaz.fr>

commit e9639aaef8222a458c0d67d72c18764487ba9750
Author: syeopite <syeopite@syeopite.dev>
Date:   Mon Jul 24 15:11:45 2023 -0700

    Extract and implement footer overhaul from #2215
2025-05-09 22:29:53 -04:00
Fijxu
f52b91c28d Merge remote-tracking branch 'upstream/master'
Some checks are pending
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-05-09 17:13:45 -04:00
Fijxu
65bb1f5ebb chore: remove unused config options 2025-05-09 00:50:26 -04:00
Fijxu
af13d10730 Merge 'Show message when comments are turned off'
From https://github.com/iv-org/invidious/pull/4051
2025-05-09 00:16:07 -04:00
Fijxu
caa2273bf2 fix(backend switcher): pass referer in URL
Some checks are pending
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
Closes https://git.nadeko.net/Fijxu/invidious/issues/109

This will allow browsers that by default set the referer to the same
page to tracking via the referer header. IceCat browser does this.
2025-05-08 20:27:40 -04:00
Fijxu
4e2f59ba37 feat(routes): redirect to the backend selected at the time of downloading 2025-05-08 17:24:54 -04:00
Émilien (perso)
9e3c0dfd85 fix: fallback first with TVHTML then MWEB
fixes #5273
2025-05-08 19:55:22 +02:00
Fijxu
b9114cbb9d feat(frontend): config option to disable video downloads 2025-05-08 00:31:03 -04:00
Fijxu
ea587758a5 Merge branch 'graceful-parse-errors'
Some checks failed
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
From: https://github.com/iv-org/invidious/pull/5196
2025-05-04 15:32:37 -04:00
Fijxu
3c5d37810d Merge remote-tracking branch 'upstream/master' 2025-05-04 14:17:11 -04:00
Fijxu
2d49601066 feat: option to increase the number of videos shown on the popular page 2025-05-04 14:10:37 -04:00
absidue
2c1400c41e Fix proxying live DASH streams (#4589) 2025-05-03 20:28:19 +00:00
Alex Maras
8fd0b82c38 feat: route to invidious companion on downloads (#5224) 2025-05-03 01:28:18 +02:00
Émilien (perso)
7579adc3a3 fix: fallback other yt clients no url found for adaptive formats (#5262) 2025-05-02 16:57:02 +02:00
Fijxu
ad95f0e2c0 feat(backends): redirect to another backend if one is unavailable
Only works with cookies for now. Support for numbered backends will be
added later since it requires some black magic.
2025-04-14 16:53:09 -04:00
Fijxu
e13800e859 fix: support for I2P backends! (again!)
Some checks are pending
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-13 18:35:00 -04:00
Fijxu
69e351770d chore(backends): change logic used to detect if the user accessed via a numbered backend or main domain
Numbered backends will only work if the domain has a number at the end, for example:

inv1.nadeko.net will redirect to backend 1
inv2.nadeko.net will redirect to backend 2
2inv.nadeko.net will use cookies
nadeko1.net will redirect to backend 1

The number of the backend in the domain should be always on the end of it to be able to use numbered backends.
2025-04-13 18:18:06 -04:00
Fijxu
3e33c9b70f redis: update library and use the recently added #ping method 2025-04-13 15:53:54 -04:00
Fijxu
0ce17d91eb chore(config): change server_id cookie name 2025-04-13 15:53:54 -04: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
Fijxu
7b072200f6 add support for i2p backends and onion numbered backends
Some checks failed
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
2025-04-06 01:33:08 -04:00
syeopite
6c063436d4 Fix issues raised by code review
Remove explicit `self.` from #process of parsers

Remove explicit return tuple in get_issue_template

Fix formatting

Move inline issue template style to stylesheet

Use @id in ProblematicTimelineItem xml repr

Fix naming
2025-04-05 12:40:38 -07:00
Fijxu
bbec111997 feat(experimental): minify js files using esbuild
Some checks are pending
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
e3d60a0517 fix missing scheme on meta elements
move scheme logic
2025-04-05 03:03:00 -03:00
Émilien (perso)
0c07e9d27a chore: set dash by default (#5216) 2025-04-04 14:00:29 +02:00
Fijxu
ce052103e7 deprecate support for external video playback proxy 2025-04-03 03:12:36 -03:00
Fijxu
c57a4f4920 add CSP based on backend selected by the user
xd
2025-04-03 03:12:36 -03:00
Fijxu
426e7bfbdb use Host header on img-src 'self' data: CSP 2025-04-03 03:12:36 -03:00
Fijxu
3d85519ec9 Only show embed link on error pages if v query param is present 2025-04-03 03:12:36 -03:00
Fijxu
a74d89b6d9 Safely handle missing current_companion just in case 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
5f1944925b remove unused Content-Security-Policy generated on every request to watch end embed 2025-04-01 18:51:13 -03:00
Fijxu
015c9ec5d1 support for numbered backends
Some checks are pending
Build and release container directly from master / release (push) Waiting to run
Invidious CI / build-docker (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-arm64 (push) Waiting to run
Invidious CI / lint (push) Waiting to run
2025-03-31 19:26:33 -03:00
Fijxu
be9a3794e9 cookies: remove port number from domain if it exists
Some checks are pending
Invidious CI / lint (push) Waiting to run
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
2025-03-31 01:42:25 -03:00
Fijxu
642b2e8bf0 cookies: replace alternative domains and backend domains by Host header instead 2025-03-31 01:42:25 -03:00
Fijxu
ce97a41301 views/template.ecr: remove trailing | character on backend switcher 2025-03-31 01:42:25 -03:00
Fijxu
b29f5b39de add note to backend 2025-03-31 00:04:52 -03:00
Fijxu
895745934b generate CSP each time the backend checker runs instead of each request made to invidious 2025-03-31 00:03:40 -03:00
Fijxu
d47aa3dd6a feat: do all the backend balancing on the invidious side
This will make invidious easier to maintain and escalate without the need of an overcomplicated reverse proxy configuration and multiple invidious instances with each one with a different configuration (in this case, invidious companion)
2025-03-30 20:08:15 -03:00
Fijxu
ddf6802d76 chore: add message if checkbackend job is disabled 2025-03-30 19:19:47 -03:00
Fijxu
626fb2d1a8 add option to disable livestreams since they don't work right now
Some checks failed
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
2025-03-29 02:50:19 -03:00
Fijxu
56f309d6bb Merge remote-tracking branch 'upstream/master' 2025-03-28 21:46:32 -03:00
Émilien (perso)
23ff6135bb chore: enforce 16 characters for invidious_companion_key (#5220) 2025-03-26 15:27:59 +01:00
Fijxu
7c9f79e1f1 feat: add option to force proxying of videos
Some checks failed
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.13.2, true) (push) Has been cancelled
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.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
2025-03-24 21:15:38 -03:00
syeopite
7b27585454 Support ProblematicTimelineItem in trending feed 2025-03-19 23:50:41 -07:00
syeopite
f7810ba007 Use ProblematicTimelineItem as needed in playlists 2025-03-19 23:32:46 -07:00
syeopite
c288005bfd Make "show technical details" btn translatable 2025-03-19 22:52:04 -07:00
syeopite
aae5ba01c2 Fix formatting 2025-03-19 22:52:04 -07:00
syeopite
0e0a95430a Improve JSON repr of ProblematicTimelineItem 2025-03-19 22:52:03 -07:00
syeopite
9de69c0052 Improve design of placeholder item
Also makes it show the error backtrace
2025-03-19 22:52:03 -07:00