Fijxu
a4cb5f094c
fix: add missing check for c.youtube.com host
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-10 15:40:59 -03:00
Fijxu
01ccd55829
feat: add option to change username
...
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
fix: rename subscriptions materialized view of the user too
remove materialized views from username change
fix: downcase username and limit username lenght (from routes/login.cr)
Users that changed their username to something like `User`, were unable
to login because the username is downcased on routes/login.cr
2025-03-08 02:47:42 -03:00
Fijxu
8fe965419a
fix: use short_description as description if microformat is not available
2025-03-08 02:47:24 -03:00
Fijxu
fda823593e
fix: handle microformat as nil if is not present on innertube response.
...
Videos that return CONTENT_CHECK_REQUIRED do not include the
microformat JSON object literal on them. I think it's better to handle
microformat as nil instead of raising if microformat is not present.
2025-03-07 00:23:48 -03:00
Fijxu
24e66231df
chore: remove extra function call in check_backends
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-03-06 20:24:07 -03:00
Fijxu
1001a72297
feat: show status of the instance with a colored dot
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-02 16:35:44 -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
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
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
fe4fa0480a
Fix HLS being used for non-livestream videos ( #5189 )
...
Invidious does not currently support non-livestream hls playback
Originally, the HLS manifest check was essentially a boolean:
if the HLS manifest field was present, it was assumed to be a
livestream. Some videos include the HLS Manifest but aren't
livestreams.
In the case where they are livestreams, the video contains a videoType
field with the value "Livestream". In the case that they're normal
videos, the videoType is "Video". This is exposed via the
`video.live_now` property.
This commit just checks that `video.live_now` is true before treating
it as a livestream
2025-02-26 14:14:29 -08:00
syeopite
dbbcacc955
Images: fix typo in thumbnail logic
2025-02-26 14:13:58 -08:00
syeopite
58ad848d56
Channels: Support YouTube's change to from /community to /posts ( #5183 )
2025-02-26 14:13:22 -08:00
syeopite
6ac74f4362
Videos: Fix empty response when rv published field is nonexistent ( #5162 )
...
Fixes #5161 by checking recommended videos published field for presence
before attempting to parse it in api
2025-02-26 14:09:28 -08:00
syeopite
9fbe3944b0
Channels: Add Courses to channel page and channel API ( #5158 )
...
Closes #5144
2025-02-26 14:08:44 -08:00
syeopite
c5e9447f41
Pick a different instance upon redirect ( #5154 )
...
The automatic instance redirection has the potential to pick
the same instance the user is currently on. This is especially
prevalent when the instance list is limited in number like how it is
today.
This PR checks the domain of the instance and ensures that it is not
the same as the current instane before redirecting the user to it.
Otherwise, it just sends the user to rediret.invidious.io
2025-02-26 14:05:21 -08:00
syeopite
3e329410d1
Add the ability to listen on UNIX sockets ( #5112 )
2025-02-26 14:04:29 -08:00
syeopite
74dfda150e
i18n: Enable Tamil
2025-02-26 14:02:57 -08:00
syeopite
3d77635a5c
Add API endpoint for fetching transcripts from YouTube ( #4788 )
2025-02-26 13:56:39 -08:00
syeopite
4ea4878d1a
User: Batch notifications together
2025-02-26 13:55:25 -08:00
syeopite
1f0a89fb5f
RSS: Channel + Playlist improvements ( #4298 )
2025-02-26 13:55:01 -08:00
syeopite
f95f87e448
Frontend: Add a first page and previous page buttons for channel navigation ( #4123 )
2025-02-26 13:54: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
62cc10d2ca
chore: remove unused config properties
2025-02-24 13:32:19 -03:00
Fijxu
9f475c1f2a
feat(dev): add option to disable video cache on the database (for development purposes only)
2025-02-24 13:26:52 -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
d8ecfd9c04
feat(dev): add option to disable CSP (for development purposes only)
2025-02-21 14:09:16 -03:00
Alex Maras
49afbf2a14
Fix an issue with the HLS manifest check for livestream videos
...
Originally, the HLS manifest check was essentially a boolean: if the HLS
manifest field was present, it was assumed to be a livestream. Some
videos include the HLS Manifest but aren't livestreams.
In the case where they are livestreams, the video contains a videoType
field with the value "Livestream". In the case that they're normal
videos, the videoType is "Video". This is exposed via the video.live_now
method.
This commit just checks that video.live_now is true before treating it
as a livestream
2025-02-21 16:30:39 +08:00
Fijxu
99224b9f60
fix(storyboards): Add HOST_URL to CSP so clients are able to get the storyboards from alternative domains)
2025-02-19 01:10:47 -03:00
Fijxu
e0d4272070
Channels: Fix community tab
2025-02-19 01:10:47 -03:00
syeopite
d853b9f6dc
Typo
...
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2025-02-18 14:46:18 -08:00
Fijxu
d70681538a
Channels: Fix community tab
2025-02-18 19:20:55 -03:00
Fijxu
bbc5913b8d
feat(database): support for either Redis or PostgreSQL for video cache
2025-02-18 18:11:05 -03:00
Fijxu
1df1945849
fix(images.cr): use i.ytimg.com
instead of i9.ytimg.com
for thumbnails
2025-02-18 16:04:48 -03:00
Fijxu
b08f7ab7ac
chore(template.ecr): Add margin because it looks like shit without a banner
2025-02-18 02:54:49 -03: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
Drikanis
29219c46a1
fix 5161 by checking recommended videos published field for presence instead of just not nil
2025-01-28 19:40:15 -07:00
epicsam123
a77f083a0a
remove ! on reject
2025-01-26 16:42:59 -05:00
ChunkyProgrammer
eaf47385c5
Add Courses to channel page and channel API
2025-01-25 14:43:39 -05: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
Fijxu
f68d7bcbc7
Revert "Videos: Fix audio tracks language."
...
Reverting this commit before merging https://github.com/iv-org/invidious/pull/5149 from upstream
This reverts commit c61b2963ac
.
2025-01-25 11:44:27 -03:00
epicsam123
0fd480bae2
lint edits, refactor
2025-01-25 03:24:38 -05:00
epicsam123
afb0aad7d3
moved comments
2025-01-24 21:54:10 -05:00
epicsam123
6816ded0fa
add missing end statement
2025-01-23 22:17:46 -05:00
epicsam123
0546a73bfa
Pick a different instance upon redirect
2025-01-22 17:33:54 -05:00
syeopite
164d764d55
API: Add a 'published' video parameter for related videos ( #4149 )
2025-01-22 11:38:12 -08:00
syeopite
4a31da4000
User: Ensure IO is properly closed when importing NewPipe subscriptions ( #4346 )
2025-01-22 11:36:58 -08:00
syeopite
831017f403
Frontend: Carry over audio-only mode in playlist links ( #4784 )
2025-01-22 11:35:33 -08:00
syeopite
52daafe047
Videos: Fix missing host parameter on playback URLs when local=true
( #4992 )
2025-01-22 11:34:46 -08:00
syeopite
dca130ca6f
Routes: Clean ajax actions handlers ( #5036 )
2025-01-22 11:33:51 -08:00
syeopite
086c6209ab
Remove stdlib override for proxy initialization ( #5065 )
2025-01-22 11:33:20 -08:00
syeopite
0d398c9d1a
API: Add support for author thumbnails in search api for videos ( #5072 )
2025-01-22 11:32:21 -08:00
syeopite
dc38bcdf17
Kemal: Skip route if response was closed by handlers ( #5073 )
2025-01-22 11:30:45 -08:00
syeopite
d5442d45bc
API: Fix video thumbnails in mixes ( #5116 )
2025-01-22 11:29:12 -08:00
syeopite
eae3c42dab
Videos: Set language for dash audio streams and sort ( #5149 )
2025-01-22 11:25:39 -08:00
Giuliano Macedo
6e3ec10d76
feat(manifset): improved adaptationset label
2025-01-22 11:01:37 -08:00
GTechAlpha
d95ae7e6a5
Add audio track info to dash manifest, if present
...
- language id
- language display name
- main/default track
Sort audio formats so that main/default is first (for clients not using dash)
* Note: this should be a non-breaking change; if audio track info is not availablle, the behavior does not change from current
2025-01-22 11:01:37 -08:00
syeopite
5d9ed95ffd
Warn when any top-level config is "CHANGE_ME!!"
2025-01-22 10:34:04 -08:00
Fijxu
7d02c1827a
feat(views): Add icon for embed youtube video on thumbnails
Build and release container directly from master / release (push) Has been cancelled
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (nightly, false) (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-docker (push) Has been cancelled
Invidious CI / build-docker-arm64 (push) Has been cancelled
Invidious CI / lint (push) Has been cancelled
2025-01-21 23:54:21 -03:00
Fijxu
842473dd37
feat(errors): add embed link on error pages
...
Build and release container directly from master / release (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.10.1, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.11.2, true) (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 }} (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/73
2025-01-20 23:54:13 -03:00
syeopite
e1378702af
Apply upcoming formatting rules from Crystal 1.15
2025-01-20 16:15:13 -08:00
Fijxu
43aa7e7303
refactor: use reverse! and uniq! to modify the array in place
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
2025-01-13 11:18:26 -03:00
Fijxu
a08fafd852
style: format code
2025-01-13 11:16:06 -03:00
Fijxu
b0141d87fa
chore: remove unused code
2025-01-13 11:10:54 -03:00
Fijxu
61106da689
Revert "Videos: Completly disable annotations due to archive.org being down"
...
This reverts commit cf5028d09a
.
2025-01-13 11:07:40 -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
25c3153f4c
fixup! fix(hls): add missing scheme to m3u8 list
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
Stale issue handler / stale (push) Has been cancelled
2025-01-01 02:31:20 -03:00
Fijxu
4a8fffac26
fix(hls): revert changes made on fb3ecdad9a
2025-01-01 02:17:33 -03:00
Fijxu
ebd89acf79
fix(hls): add missing scheme to m3u8 list
2025-01-01 02:16:40 -03:00
Fijxu
3bb7924181
replace the old useless HOST_URL by env.request.headers["Host"]
2025-01-01 01:00:41 -03: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
391659780d
companion: move invidious-companion url CSP
2024-12-30 18:41:22 -03: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
525dea1e2a
Add checks for socket path and permissions
2024-12-27 20:58:44 -03:00
Fijxu
df94f1c0b8
support pubsub notifications without making a request to innertube
...
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
Stale issue handler / stale (push) Has been cancelled
Closes https://git.nadeko.net/Fijxu/invidious/issues/56
2024-12-18 21:57:42 -03:00
Brahim Hadriche
047ead8080
Fix video thumbnails in mixes
2024-12-16 16:54:04 -05:00
Fijxu
83256b2af1
support for numbered backends
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
2024-12-14 19:12:00 -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
Fijxu
a63300e284
remove unused config properties
2024-12-14 15:06:34 -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
ChunkyProgrammer
04b0742293
remove icon element from channel rss feed
2024-11-17 13:14:39 -05:00
ChunkyProgrammer
1838ac4c99
do a sanity check on the provided ucid
...
Co-Authored-By: absidue <48293849+absidue@users.noreply.github.com>
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2024-11-17 13:14:39 -05:00
ChunkyProgrammer
8729f01075
Channel RSS: deprecate author thumbnail, make less requests to youtube
2024-11-17 13:14:39 -05:00
ChunkyProgrammer
6dd89bd401
RSS: return 404 if youtube playlist doesnt exist
2024-11-17 13:14:39 -05:00
ChunkyProgrammer
bba1769f4b
Use a find instead of an each loop
2024-11-17 13:12:56 -05:00
ChunkyProgrammer
6b0e4e6817
Put temp.delete inside ensure block
2024-11-17 13:12:56 -05:00
ChunkyProgrammer
6abee5de99
Ensure IO is properly closed when importing NewPipe subscriptions
2024-11-17 13:12:56 -05:00
Fijxu
47ef5dfe4c
Overwirte CONFIG.po_token and CONFIG.visitor_data by the tokens stored
...
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
on redis
This approach is better to prevent conflicts with the upstream
repository.
2024-11-16 12:27:10 -03:00
Fijxu
13e00e674b
Remove server side generated tokens ( 448007e5ba
)
2024-11-16 12:10:51 -03:00
Fijxu
3615bbd893
Remove user supplied po_token and visitor_data
2024-11-16 12:07:05 -03:00
Fijxu
9b9efc6841
Merge remote-tracking branch 'upstream/master'
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.11.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.10.1, 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
2024-11-13 21:14:26 -03:00
Samantaz Fox
3ac8978e96
VideoProxy: Handle 302 redirects in chunked section
2024-11-10 18:15:24 +01:00
Samantaz Fox
e7a93fcc18
API: Replace any URL in HLS manifests
2024-11-10 18:13:30 +01:00
Samantaz Fox
aa33d9b7ec
Videos: Fix missing host parameter on playback URLs when local=true
2024-11-10 18:13:30 +01:00
Samantaz Fox
d42561d74a
API: Add "sort_by" parameter to channels/shorts endpoint ( #5071 )
...
Small follow up to PR 5059
No related issue
2024-11-10 17:50:00 +01:00
Samantaz Fox
d7c35e6e3d
Videos: Stop using TVHTML5_SIMPLY_EMBEDDED_PLAYER ( #5063 )
...
The age restriction bypass does not work anymore with this client.
See: https://github.com/iv-org/invidious/issues/2189#issuecomment-2437740627
Related to 2189
2024-11-10 17:45:58 +01:00
Samantaz Fox
bc86fb8a82
Routing: Deprecate old channel API routes ( #5045 )
...
Deprecate the following routes:
* /api/v1/channels/videos/:ucid
* /api/v1/channels/latest/:ucid
* /api/v1/channels/playlists/:ucid
* /api/v1/channels/community/:ucid
* /api/v1/channels/search/:ucid
in favor of:
* /api/v1/channels/:ucid/videos
* /api/v1/channels/:ucid/latest
* /api/v1/channels/:ucid/playlists
* /api/v1/channels/:ucid/community
* /api/v1/channels/:ucid/search
No related issue
2024-11-10 17:44:45 +01:00
Samantaz Fox
ec82c2f539
Videos: use WEB client instead of WEB CREATOR ( #4984 )
...
Use the WEB client when a potoken is configured, otherwise try with Android
test suite if there is no potoken configured.
This PR reverts some of the changes made in 4928
Related to 4734
2024-11-10 17:41:54 +01:00
Samantaz Fox
4b363e32fa
Parsers: Fix parsing live_now and premiere_timestamp ( #4934 )
...
This pull request fixes the parsing for the 'live_now' and 'premiere_timestamp'
variables so that they work without the 'microformat' data being present.
Related to 4929
2024-11-10 17:36:49 +01:00
syeopite
7a15318fbc
Skip route if resp got closed by before handlers
2024-11-10 05:45:06 +00:00
ChunkyProgrammer
5fa87cc27c
Add support for author thumbnails in search api for videos
2024-11-09 22:31:41 -05:00
Fijxu
c27a703544
Merge remote-tracking branch 'upstream/master'
2024-11-09 23:42:52 -03:00
Fijxu
5a75ef7f94
Remove old code that is done on the Openresty side
2024-11-09 23:37:58 -03:00
Fijxu
91c9cd45a4
Update CI
2024-11-09 23:37:58 -03:00
Fijxu
b953dc1ce7
Videos: Add support for OpenGraph videos
...
To support OpenGraph clients like Discord and other platforms able to
pull the video from the OpenGraph metadata.
2024-11-09 23:37:58 -03:00
Brahim Hadriche
d2123b4682
Sort channel shorts API
2024-11-09 17:49:06 -05:00
Émilien (perso)
0f8f32bca8
remove explicit usage of WEB
2024-11-09 22:21:09 +01:00
Emilien
f3e93ca83d
revert back to www.youtube.com when client_config.screen embed
2024-11-09 22:21:09 +01:00
Emilien
82b1506ccc
remove usage of WebEmbeddedPlayer
2024-11-09 22:21:09 +01:00
Emilien
b9ad9bd723
use WEB when po_token + android test suite when no po_token
2024-11-09 22:21:09 +01:00
syeopite
401a4fc62d
Lint
2024-11-08 16:46:54 -08:00
syeopite
c6e14e51bc
Change order of commentsEnabled in parse results
2024-11-08 16:46:53 -08:00
syeopite
f1785170f0
Request Reddit comm when yt disabled during nojs=1
2024-11-08 16:46:53 -08:00
syeopite
e0807139eb
Use button instead of anchor for try reddit link
2024-11-08 16:46:53 -08:00
syeopite
b2dc4eb0dd
Improve locale keys for comments disabled messages
...
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2024-11-08 16:46:53 -08:00
syeopite
f73ec76f11
Use short syntax for comment entry-point detection
...
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2024-11-08 16:46:53 -08:00
syeopite
78446a37e8
Update comment detection to not use msg renderer
2024-11-08 16:46:53 -08:00
syeopite
5baa39b8bd
Bump Video struct schema version
2024-11-08 16:46:53 -08:00
syeopite
48f3702255
Escape warning messages for disabled comments
2024-11-08 16:46:53 -08:00
syeopite
a025645f06
Add btn to try reddit comments when yt is disabled
2024-11-08 16:46:53 -08:00
syeopite
d0fecd2bc0
Add error message when comments are disabled
2024-11-08 16:46:52 -08:00
syeopite
1333fed26c
Remove stdlib override for proxy initialization
...
HTTP Proxy is now initialized in the make_client function
2024-11-08 15:28:12 -08:00
Samantaz Fox
1480e0089f
Channels: Fix "Youtube API returned error 400" ( #5059 )
...
This PR also adds sort option to the channel "shorts" tab.
Thanks to iBicha for the original fix of the "livestreams" tab.
Closes 4029, 5021 and 5029
2024-11-08 23:40:34 +01:00
Samantaz Fox
a5fb78bba5
Locales: Add Bulgarian, Welsh and Lombard to the list ( #5046 )
...
No related issue
2024-11-08 23:33:36 +01:00
Samantaz Fox
09f5485889
Shards: Update database dependencies ( #5034 )
...
No related issue
2024-11-08 23:32:25 +01: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
4f7a18a630
Fix named arg syntax when passing force_resolve ( #4754 )
...
No related issue
2024-11-08 23:27:22 +01:00
Samantaz Fox
42da2547e3
Use make_client instead of calling HTTP::Client ( #4709 )
...
No related issue
2024-11-08 23:26:32 +01:00
Émilien (perso)
09ccea1d31
remove usage of TVHTML5_SIMPLY_EMBEDDED_PLAYER
2024-11-08 22:01:23 +01:00
Samantaz Fox
2a19dbb1fe
Channels: Use the same structure as in the other ctoken functions
...
Change explanation, courtesy of iBicha:
The \n is basically a decimal 10, which is 1010 binary. That is a field number
1, and a wire type 2 (length-delimited). Then the $ is a decimal 36, which is
exactly the length of 00000000-0000-0000-0000-000000000000.
So both objects end up being encoded into the same data.
2024-11-08 18:28:58 +01:00
Samantaz Fox
6dd662a5b8
Channels: lockupViewModel is also used in the "playlists" tab
2024-11-08 17:44:36 +01:00
Samantaz Fox
301aeffa78
Channels: Multiple small fixes
...
Fix the "newest" link not being bold when 'sort_by' uses the default value
Show 60 videos per page, rather than 30
2024-11-08 14:00:35 +01:00
Samantaz Fox
d27a5e7fae
Channels: Rename ctoken generator functions as requested
2024-11-08 14:00:35 +01:00
Samantaz Fox
afc5b27d83
Extractors: Add support for shortsLockupViewModel
...
The 'shortsLockupViewModel' structure is used in the channel "shorts" tab
2024-11-08 14:00:30 +01:00
Samantaz Fox
1a5047aad9
Extractors: Add support for lockupViewModel
...
The 'lockupViewModel' structure is used in the channel "podcasts" tab
2024-11-08 14:00:16 +01:00
Samantaz Fox
82248fad02
Channels: Add sort options to shorts
2024-11-07 23:08:36 +01:00
Samantaz Fox
cbc546f032
Channels: Add function to generate the new ctoken objects
2024-11-07 23:08:31 +01:00
Émilien (perso)
ac6e796c73
checking the status code returned by youtube ( #5052 )
...
* checking the status code returned by youtube
* add documentation link
* Update src/invidious/yt_backend/youtube_api.cr
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
---------
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
2024-11-07 14:04:43 +01:00
Fijxu
70dc1a9f11
Tokens: Better logging
Build and release container directly from master / release (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.10.1, true) (push) Waiting to run
Invidious CI / build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }} (1.11.2, true) (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 }} (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 / ameba_lint (push) Waiting to run
2024-10-31 21:38:59 -03:00
Fijxu
fc910b43ba
External Proxies: Adapt it to use a NamedTuple
2024-10-31 21:38:40 -03:00
Fijxu
67998d1f36
Revert "External Proxies: Rotate between proxies with balance
enabled"
...
This reverts commit 26bee068eb
.
It's broken and it doesn't work when a proxy comes back up.
2024-10-31 21:26:03 -03:00
Fijxu
e2276ace1b
Merge remote-tracking branch 'upstream/master' into master
2024-10-31 20:25:33 -03:00