Add option to disable easy to abuse API endpoints (#5630)

* Add option to disable easy to abuse API endpoints

The API endpoints that will be disabled when this option are:
 - /api/v1/videos
 - /api/v1/clips
 - /api/v1/transcripts

There is still API endponts that need some sort of validation or
connection/proxying to Invidious companion like
`/api/v1/captions` and `/api/v1/storyboards` since they also do a video
request to Invidious companion. I'm not sure if the `/next` API endpoint
could be used to gather that type of information, if so, that would be
better.

Closes #5599

* Rename configuration variable, add additional comment for the option
This commit is contained in:
Fijxu
2026-06-30 05:55:47 -04:00
committed by GitHub
parent d61dd7205c
commit 9c62c8b660
4 changed files with 39 additions and 13 deletions

View File

@@ -205,7 +205,6 @@ https_only: false
# path: /tmp/invidious.sock
# permissions: 777
# -----------------------------
# Network (outbound)
# -----------------------------
@@ -228,7 +227,6 @@ https_only: false
##
#pool_size: 100
##
## Additional cookies to be sent when requesting the youtube API.
##
@@ -263,7 +261,6 @@ https_only: false
# host:
# port:
##
## Use Innertube's transcripts API instead of timedtext for closed captions
##
@@ -344,7 +341,6 @@ https_only: false
##
#statistics_enabled: false
# -----------------------------
# Users and accounts
# -----------------------------
@@ -456,12 +452,25 @@ full_refresh: false
##
feed_threads: 1
##
## Setting to disable easy to abuse API endpoints that can
## be spammed and therefore blocking your Invidious instance.
##
## Useful for public instance maintainers.
##
## Notes: The following API endpoints will be disabled:
## - /api/v1/videos
## - /api/v1/clips
## - /api/v1/transcripts
##
## Accepted values: true, false
## Default: false
##
disable_abusable_api: false
jobs:
## Options for the database cleaning job
clear_expired_items:
## Enable/Disable job
##
## Accepted values: true, false
@@ -471,7 +480,6 @@ jobs:
## Options for the channels updater job
refresh_channels:
## Enable/Disable job
##
## Accepted values: true, false
@@ -481,7 +489,6 @@ jobs:
## Options for the RSS feeds updater job
refresh_feeds:
## Enable/Disable job
##
## Accepted values: true, false
@@ -489,7 +496,6 @@ jobs:
##
enable: true
# -----------------------------
# Miscellaneous
# -----------------------------
@@ -688,7 +694,6 @@ default_user_preferences:
##
#captions: ["", "", ""]
# -----------------------------
# Interface
# -----------------------------
@@ -790,7 +795,6 @@ default_user_preferences:
##
#related_videos: true
# -----------------------------
# Video player behavior
# -----------------------------
@@ -854,7 +858,6 @@ default_user_preferences:
##
#video_loop: false
# -----------------------------
# Video playback settings
# -----------------------------
@@ -966,7 +969,6 @@ default_user_preferences:
##
#sort: published
# -----------------------------
# Miscellaneous
# -----------------------------