mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-27 03:08:31 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			928 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			928 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| #########################################
 | |
| #
 | |
| #  Database configuration
 | |
| #
 | |
| #########################################
 | |
| 
 | |
| ##
 | |
| ## Database configuration with separate parameters.
 | |
| ## This setting is MANDATORY, unless 'database_url' is used.
 | |
| ##
 | |
| db:
 | |
|   user: kemal
 | |
|   password: kemal
 | |
|   host: localhost
 | |
|   port: 5432
 | |
|   dbname: invidious
 | |
| 
 | |
| ##
 | |
| ## Database configuration using a single URI. This is an
 | |
| ## alternative to the 'db' parameter above. If both forms
 | |
| ## are used, then only database_url is used.
 | |
| ## This setting is MANDATORY, unless 'db' is used.
 | |
| ##
 | |
| ## Note: The 'database_url' setting allows the use of UNIX
 | |
| ## sockets. To do so, remove the IP address (or FQDN) and port
 | |
| ## and append the 'host' parameter. E.g:
 | |
| ##   postgres://kemal:kemal@/invidious?host=/var/run/postgresql
 | |
| ##
 | |
| ## Accepted values: a postgres:// URI
 | |
| ## Default: postgres://kemal:kemal@localhost:5432/invidious
 | |
| ##
 | |
| #database_url: postgres://kemal:kemal@localhost:5432/invidious
 | |
| 
 | |
| ##
 | |
| ## Enable automatic table integrity check. This will create
 | |
| ## the required tables and columns if anything is missing.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: false
 | |
| ##
 | |
| #check_tables: false
 | |
| 
 | |
| 
 | |
| 
 | |
| #########################################
 | |
| #
 | |
| #  Server config
 | |
| #
 | |
| #########################################
 | |
| 
 | |
| # -----------------------------
 | |
| #  Network (inbound)
 | |
| # -----------------------------
 | |
| 
 | |
| ##
 | |
| ## Port to listen on for incoming connections.
 | |
| ##
 | |
| ## Note: Ports lower than 1024 requires either root privileges
 | |
| ## (not recommended) or the "CAP_NET_BIND_SERVICE" capability
 | |
| ## (See https://stackoverflow.com/a/414258 and `man capabilities`)
 | |
| ##
 | |
| ## Accepted values: 1-65535
 | |
| ## Default: 3000
 | |
| ##
 | |
| #port: 3000
 | |
| 
 | |
| ##
 | |
| ## When the invidious instance is behind a proxy, and the proxy
 | |
| ## listens on a different port than the instance does, this lets
 | |
| ## invidious know about it. This is used to craft absolute URLs
 | |
| ## to the instance (e.g in the API).
 | |
| ##
 | |
| ## Note: This setting is MANDATORY if invidious is behind a
 | |
| ## reverse proxy.
 | |
| ##
 | |
| ## Accepted values: 1-65535
 | |
| ## Default: <none>
 | |
| ##
 | |
| #external_port:
 | |
| 
 | |
| ##
 | |
| ## Interface address to listen on for incoming connections.
 | |
| ##
 | |
| ## Accepted values: a valid IPv4 or IPv6 address.
 | |
| ## default: 0.0.0.0  (listen on all interfaces)
 | |
| ##
 | |
| #host_binding: 0.0.0.0
 | |
| 
 | |
| ##
 | |
| ## Domain name under which this instance is hosted. This is
 | |
| ## used to craft absolute URLs to the instance (e.g in the API).
 | |
| ## The domain MUST be defined if your instance is accessed from
 | |
| ## a domain name (like 'example.com').
 | |
| ##
 | |
| ## Accepted values: a fully qualified domain name (FQDN)
 | |
| ## Default: <none>
 | |
| ##
 | |
| domain:
 | |
| 
 | |
| ##
 | |
| ## Tell Invidious that it is behind a proxy that provides only
 | |
| ## HTTPS, so all links must use the https:// scheme. This
 | |
| ## setting MUST be set to true if invidious is behind a
 | |
| ## reverse proxy serving HTTPs.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: false
 | |
| ##
 | |
| https_only: false
 | |
| 
 | |
| ##
 | |
| ## Enable/Disable 'Strict-Transport-Security'. Make sure that
 | |
| ## the domain specified under 'domain' is served securely.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: true
 | |
| ##
 | |
| #hsts: true
 | |
| 
 | |
| 
 | |
| # -----------------------------
 | |
| #  Network (outbound)
 | |
| # -----------------------------
 | |
| 
 | |
| ##
 | |
| ## Disable proxying server-wide. Can be disable as a whole, or
 | |
| ## only for a single function.
 | |
| ##
 | |
| ## Accepted values: true, false, dash, livestreams, downloads, local
 | |
| ## Default: false
 | |
| ##
 | |
| #disable_proxy: false
 | |
| 
 | |
| ##
 | |
| ## Size of the HTTP pool used to connect to youtube. Each
 | |
| ## domain ('youtube.com', 'ytimg.com', ...) has its own pool.
 | |
| ##
 | |
| ## Accepted values: a positive integer
 | |
| ## Default: 100
 | |
| ##
 | |
| #pool_size: 100
 | |
| 
 | |
| ##
 | |
| ## Enable/Disable the use of QUIC (HTTP/3) when connecting
 | |
| ## to the youtube API and websites ('youtube.com', 'ytimg.com').
 | |
| ## QUIC's main advantages are its lower latency and lower bandwidth
 | |
| ## use, compared to its predecessors. However, the current version
 | |
| ## of QUIC used in invidious is still based on the IETF draft 31,
 | |
| ## meaning that the underlying library may still not be fully
 | |
| ## optimized. You can read more about QUIC at the link below:
 | |
| ## https://datatracker.ietf.org/doc/html/draft-ietf-quic-transport-31
 | |
| ##
 | |
| ## Note: you should try both options and see what is the best for your
 | |
| ## instance. In general QUIC is recommended for public instances. Your
 | |
| ## mileage may vary.
 | |
| ##
 | |
| ## Note 2: Using QUIC prevents some captcha challenges from appearing.
 | |
| ## See: https://github.com/iv-org/invidious/issues/957#issuecomment-576424042
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: false
 | |
| ##
 | |
| #use_quic: false
 | |
| 
 | |
| ##
 | |
| ## Additional cookies to be sent when requesting the youtube API.
 | |
| ##
 | |
| ## Accepted values: a string in the format "name1=value1; name2=value2..."
 | |
| ## Default: <none>
 | |
| ##
 | |
| #cookies:
 | |
| 
 | |
| ##
 | |
| ## Force connection to youtube over a specific IP family.
 | |
| ##
 | |
| ## Note: This may sometimes resolve issues involving rate-limiting.
 | |
| ## See https://github.com/ytdl-org/youtube-dl/issues/21729.
 | |
| ##
 | |
| ## Accepted values: ipv4, ipv6
 | |
| ## Default: <none>
 | |
| ##
 | |
| #force_resolve:
 | |
| 
 | |
| 
 | |
| # -----------------------------
 | |
| #  Logging
 | |
| # -----------------------------
 | |
| 
 | |
| ##
 | |
| ## Path to log file. Can be absolute or relative to the invidious
 | |
| ## binary. This is overridden if "-o OUTPUT" or "--output=OUTPUT"
 | |
| ## are passed on the command line.
 | |
| ##
 | |
| ## Accepted values: a filesystem path or 'STDOUT'
 | |
| ## Default: STDOUT
 | |
| ##
 | |
| #output: STDOUT
 | |
| 
 | |
| ##
 | |
| ## Logging Verbosity. This is overridden if "-l LEVEL" or
 | |
| ## "--log-level=LEVEL" are passed on the command line.
 | |
| ##
 | |
| ## Accepted values: All, Trace, Debug, Info, Warn, Error, Fatal, Off
 | |
| ## Default: Info
 | |
| ##
 | |
| #log_level: Info
 | |
| 
 | |
| 
 | |
| # -----------------------------
 | |
| #  Features
 | |
| # -----------------------------
 | |
| 
 | |
| ##
 | |
| ## Enable/Disable the "Popular" tab on the main page.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: true
 | |
| ##
 | |
| #popular_enabled: true
 | |
| 
 | |
| ##
 | |
| ## Enable/Disable statstics (available at /api/v1/stats).
 | |
| ## The following data is available:
 | |
| ##   - Software name ("invidious") and version+branch (same data as
 | |
| ##     displayed in the footer, e.g: "2021.05.13-75e5b49" / "master")
 | |
| ##   - The value of the 'registration_enabled' config (true/false)
 | |
| ##   - Number of currently registered users
 | |
| ##   - Number of registered users who connected in the last month
 | |
| ##   - Number of registered users who connected in the last 6 months
 | |
| ##   - Timestamp of the last server restart
 | |
| ##   - Timestamp of the last "Channel Refresh" job execution
 | |
| ##
 | |
| ## Warning: This setting MUST be set to true if you plan to run
 | |
| ## a public instance. It is used by api.invidious.io to refresh
 | |
| ## your instance's status.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: false
 | |
| ##
 | |
| #statistics_enabled: false
 | |
| 
 | |
| 
 | |
| # -----------------------------
 | |
| #  Users and accounts
 | |
| # -----------------------------
 | |
| 
 | |
| ##
 | |
| ## Allow/Forbid Invidious (local) account creation. Invidious
 | |
| ## accounts allow users to subscribe to channels and to create
 | |
| ## playlists without a Google account.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: true
 | |
| ##
 | |
| #registration_enabled: true
 | |
| 
 | |
| ##
 | |
| ## Allow/Forbid users to log-in. This setting affects the ability
 | |
| ## to connect with BOTH Google and Invidious (local) accounts.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: true
 | |
| ##
 | |
| #login_enabled: true
 | |
| 
 | |
| ##
 | |
| ## Enable/Disable the captcha challenge on the login page.
 | |
| ##
 | |
| ## Note: this is a basic captcha challenge that doesn't
 | |
| ## depend on any third parties.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: true
 | |
| ##
 | |
| #captcha_enabled: true
 | |
| 
 | |
| ##
 | |
| ## List of usernames that will be granted administrator rights.
 | |
| ## A user with administrator rights will be able to change the
 | |
| ## server configuration options listed below in /preferences,
 | |
| ## in addition to the usual user preferences.
 | |
| ##
 | |
| ## Server-wide settings:
 | |
| ##   - popular_enabled
 | |
| ##   - captcha_enabled
 | |
| ##   - login_enabled
 | |
| ##   - registration_enabled
 | |
| ##   - statistics_enabled
 | |
| ## Default user preferences:
 | |
| ##   - default_home
 | |
| ##   - feed_menu
 | |
| ##
 | |
| ## Accepted values: an array of strings
 | |
| ## Default: [""]
 | |
| ##
 | |
| #admins: [""]
 | |
| 
 | |
| ##
 | |
| ## Enable/Disable the user notifications for all users
 | |
| ##
 | |
| ## Note: On large instances, it is recommended to set this option to 'false'
 | |
| ## in order to reduce the amount of data written to the database, and hence
 | |
| ## improve the overall performance of the instance.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: true
 | |
| ##
 | |
| #enable_user_notifications: true
 | |
| 
 | |
| # -----------------------------
 | |
| #  Background jobs
 | |
| # -----------------------------
 | |
| 
 | |
| ##
 | |
| ## Number of threads to use when crawling channel videos (during
 | |
| ## subscriptions update).
 | |
| ##
 | |
| ## Notes: This setting is overridden if either "-c THREADS" or
 | |
| ## "--channel-threads=THREADS" is passed on the command line.
 | |
| ##
 | |
| ## Accepted values: a positive integer
 | |
| ## Default: 1
 | |
| ##
 | |
| channel_threads: 1
 | |
| 
 | |
| ##
 | |
| ## Time interval between two executions of the job that crawls
 | |
| ## channel videos (subscriptions update).
 | |
| ##
 | |
| ## Accepted values: a valid time interval (like 1h30m or 90m)
 | |
| ## Default: 30m
 | |
| ##
 | |
| #channel_refresh_interval: 30m
 | |
| 
 | |
| ##
 | |
| ## Forcefully dump and re-download the entire list of uploaded
 | |
| ## videos when crawling channel (during subscriptions update).
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: false
 | |
| ##
 | |
| full_refresh: false
 | |
| 
 | |
| ##
 | |
| ## Number of threads to use when updating RSS feeds.
 | |
| ##
 | |
| ## Notes: This setting is overridden if either "-f THREADS" or
 | |
| ## "--feed-threads=THREADS" is passed on the command line.
 | |
| ##
 | |
| ## Accepted values: a positive integer
 | |
| ## Default: 1
 | |
| ##
 | |
| feed_threads: 1
 | |
| 
 | |
| ##
 | |
| ## Enable/Disable the polling job that keeps the decryption
 | |
| ## function (for "secured" videos) up to date.
 | |
| ##
 | |
| ## Note: This part of the code generate a small amount of data every minute.
 | |
| ## This may not be desired if you have bandwidth limits set by your ISP.
 | |
| ##
 | |
| ## Note 2: This part of the code is currently broken, so changing
 | |
| ## this setting has no impact.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: false
 | |
| ##
 | |
| #decrypt_polling: false
 | |
| 
 | |
| 
 | |
| jobs:
 | |
| 
 | |
|   ## Options for the database cleaning job
 | |
|   clear_expired_items:
 | |
| 
 | |
|     ## Enable/Disable job
 | |
|     ##
 | |
|     ## Accepted values: true, false
 | |
|     ## Default: true
 | |
|     ##
 | |
|     enable: true
 | |
| 
 | |
|   ## Options for the channels updater job
 | |
|   refresh_channels:
 | |
| 
 | |
|     ## Enable/Disable job
 | |
|     ##
 | |
|     ## Accepted values: true, false
 | |
|     ## Default: true
 | |
|     ##
 | |
|     enable: true
 | |
| 
 | |
|   ## Options for the RSS feeds updater job
 | |
|   refresh_feeds:
 | |
| 
 | |
|     ## Enable/Disable job
 | |
|     ##
 | |
|     ## Accepted values: true, false
 | |
|     ## Default: true
 | |
|     ##
 | |
|     enable: true
 | |
| 
 | |
| 
 | |
| # -----------------------------
 | |
| #  Captcha API
 | |
| # -----------------------------
 | |
| 
 | |
| ##
 | |
| ## URL of the captcha solving service.
 | |
| ##
 | |
| ## Accepted values: any URL
 | |
| ## Default: https://api.anti-captcha.com
 | |
| ##
 | |
| #captcha_api_url: https://api.anti-captcha.com
 | |
| 
 | |
| ##
 | |
| ## API key for the captcha solving service.
 | |
| ##
 | |
| ## Accepted values: a string
 | |
| ## Default: <none>
 | |
| ##
 | |
| #captcha_key:
 | |
| 
 | |
| 
 | |
| # -----------------------------
 | |
| #  Miscellaneous
 | |
| # -----------------------------
 | |
| 
 | |
| ##
 | |
| ## custom banner displayed at the top of every page. This can
 | |
| ## used for instance announcements, e.g.
 | |
| ##
 | |
| ## Accepted values: any string. HTML is accepted.
 | |
| ## Default: <none>
 | |
| ##
 | |
| #banner:
 | |
| 
 | |
| ##
 | |
| ## Subscribe to channels using PubSubHub (Google PubSubHubbub service).
 | |
| ## PubSubHub allows Invidious to be instantly notified when a new video
 | |
| ## is published on any subscribed channels. When PubSubHub is not used,
 | |
| ## Invidious will check for new videos every minute.
 | |
| ##
 | |
| ## Note: This setting is recommended for public instances.
 | |
| ##
 | |
| ## Note 2:
 | |
| ##  - Requires a public instance (it uses /feed/webhook/v1)
 | |
| ##  - Requires 'domain' and 'hmac_key' to be set.
 | |
| ##  - Setting this parameter to any number greater than zero will
 | |
| ##    enable channel subscriptions via PubSubHub, but will limit the
 | |
| ##    amount of concurrent subscriptions.
 | |
| ##
 | |
| ## Accepted values: true, false, a positive integer
 | |
| ## Default: false
 | |
| ##
 | |
| #use_pubsub_feeds: false
 | |
| 
 | |
| ##
 | |
| ## HMAC signing key used for CSRF tokens and pubsub
 | |
| ## subscriptions verification.
 | |
| ##
 | |
| ## Accepted values: a string
 | |
| ## Default: <none>
 | |
| ##
 | |
| #hmac_key:
 | |
| 
 | |
| ##
 | |
| ## List of video IDs where the "download" widget must be
 | |
| ## disabled, in order to comply with DMCA requests.
 | |
| ##
 | |
| ## Accepted values: an array of string
 | |
| ## Default: <none>
 | |
| ##
 | |
| #dmca_content:
 | |
| 
 | |
| ##
 | |
| ## Cache video annotations in the database.
 | |
| ##
 | |
| ## Warning: empty annotations or annotations that only contain
 | |
| ## cards won't be cached.
 | |
| ##
 | |
| ## Accepted values: true, false
 | |
| ## Default: false
 | |
| ##
 | |
| #cache_annotations: false
 | |
| 
 | |
| ##
 | |
| ## Source code URL. If your instance is running a modified source
 | |
| ## code, you MUST publish it somewhere and set this option.
 | |
| ##
 | |
| ## Accepted values: a string
 | |
| ## Default: <none>
 | |
| ##
 | |
| #modified_source_code_url: ""
 | |
| 
 | |
| ##
 | |
| ## Maximum custom playlist length limit.
 | |
| ##
 | |
| ## Accepted values: Integer
 | |
| ## Default: 500
 | |
| ##
 | |
| #playlist_length_limit: 500
 | |
| 
 | |
| #########################################
 | |
| #
 | |
| #  Default user preferences
 | |
| #
 | |
| #########################################
 | |
| 
 | |
| ##
 | |
| ## NOTE: All the settings below define the default user
 | |
| ## preferences. They will apply to ALL users connecting
 | |
| ## without a preferences cookie (so either on the first
 | |
| ## connection to the instance or after clearing the
 | |
| ## browser's cookies).
 | |
| ##
 | |
| 
 | |
| default_user_preferences:
 | |
| 
 | |
|   # -----------------------------
 | |
|   #  Internationalization
 | |
|   # -----------------------------
 | |
| 
 | |
|   ##
 | |
|   ## Default user interface language (locale).
 | |
|   ##
 | |
|   ## Note: When hosting a public instance, overriding the
 | |
|   ## default (english) is not recommended, as it may
 | |
|   ## people using other languages.
 | |
|   ##
 | |
|   ## Accepted values:
 | |
|   ##   ar      (Arabic)
 | |
|   ##   da      (Danish)
 | |
|   ##   de      (German)
 | |
|   ##   en-US   (english, US)
 | |
|   ##   el      (Greek)
 | |
|   ##   eo      (Esperanto)
 | |
|   ##   es      (Spanish)
 | |
|   ##   fa      (Persian)
 | |
|   ##   fi      (Finnish)
 | |
|   ##   fr      (French)
 | |
|   ##   he      (Hebrew)
 | |
|   ##   hr      (Hungarian)
 | |
|   ##   id      (Indonesian)
 | |
|   ##   is      (Icelandic)
 | |
|   ##   it      (Italian)
 | |
|   ##   ja      (Japanese)
 | |
|   ##   nb-NO   (Norwegian, Bokmål)
 | |
|   ##   nl      (Dutch)
 | |
|   ##   pl      (Polish)
 | |
|   ##   pt-BR   (Portuguese, Brazil)
 | |
|   ##   pt-PT   (Portuguese, Portugal)
 | |
|   ##   ro      (Romanian)
 | |
|   ##   ru      (Russian)
 | |
|   ##   sv      (Swedish)
 | |
|   ##   tr      (Turkish)
 | |
|   ##   uk      (Ukrainian)
 | |
|   ##   zh-CN   (Chinese, China)  (a.k.a "Simplified Chinese")
 | |
|   ##   zh-TW   (Chinese, Taiwan) (a.k.a "Traditional Chinese")
 | |
|   ##
 | |
|   ## Default: en-US
 | |
|   ##
 | |
|   #locale: en-US
 | |
| 
 | |
|   ##
 | |
|   ## Default geographical location for content.
 | |
|   ##
 | |
|   ## Accepted values:
 | |
|   ##   AE, AR, AT, AU, AZ, BA, BD, BE, BG, BH, BO, BR, BY, CA, CH, CL, CO, CR,
 | |
|   ##   CY, CZ, DE, DK, DO, DZ, EC, EE, EG, ES, FI, FR, GB, GE, GH, GR, GT, HK,
 | |
|   ##   HN, HR, HU, ID, IE, IL, IN, IQ, IS, IT, JM, JO, JP, KE, KR, KW, KZ, LB,
 | |
|   ##   LI, LK, LT, LU, LV, LY, MA, ME, MK, MT, MX, MY, NG, NI, NL, NO, NP, NZ,
 | |
|   ##   OM, PA, PE, PG, PH, PK, PL, PR, PT, PY, QA, RO, RS, RU, SA, SE, SG, SI,
 | |
|   ##   SK, SN, SV, TH, TN, TR, TW, TZ, UA, UG, US, UY, VE, VN, YE, ZA, ZW
 | |
|   ##
 | |
|   ## Default: US
 | |
|   ##
 | |
|   #region: US
 | |
| 
 | |
|   ##
 | |
|   ## Top 3 preferred languages for video captions.
 | |
|   ##
 | |
|   ## Note: overriding the default (no preferred
 | |
|   ## caption language) is not recommended, in order
 | |
|   ## to not penalize people using other languages.
 | |
|   ##
 | |
|   ## Accepted values: a three-entries array.
 | |
|   ## Each entry can be one of:
 | |
|   ##   "English", "English (auto-generated)",
 | |
|   ##   "Afrikaans", "Albanian", "Amharic", "Arabic",
 | |
|   ##   "Armenian", "Azerbaijani", "Bangla", "Basque",
 | |
|   ##   "Belarusian", "Bosnian", "Bulgarian", "Burmese",
 | |
|   ##   "Catalan", "Cebuano", "Chinese (Simplified)",
 | |
|   ##   "Chinese (Traditional)", "Corsican", "Croatian",
 | |
|   ##   "Czech", "Danish", "Dutch", "Esperanto", "Estonian",
 | |
|   ##   "Filipino", "Finnish", "French", "Galician", "Georgian",
 | |
|   ##   "German", "Greek", "Gujarati", "Haitian Creole", "Hausa",
 | |
|   ##   "Hawaiian", "Hebrew", "Hindi", "Hmong", "Hungarian",
 | |
|   ##   "Icelandic", "Igbo", "Indonesian", "Irish", "Italian",
 | |
|   ##   "Japanese", "Javanese", "Kannada", "Kazakh", "Khmer",
 | |
|   ##   "Korean", "Kurdish", "Kyrgyz", "Lao", "Latin", "Latvian",
 | |
|   ##   "Lithuanian", "Luxembourgish", "Macedonian",
 | |
|   ##   "Malagasy", "Malay", "Malayalam", "Maltese", "Maori",
 | |
|   ##   "Marathi", "Mongolian", "Nepali", "Norwegian Bokmål",
 | |
|   ##   "Nyanja", "Pashto", "Persian", "Polish", "Portuguese",
 | |
|   ##   "Punjabi", "Romanian", "Russian", "Samoan",
 | |
|   ##   "Scottish Gaelic", "Serbian", "Shona", "Sindhi",
 | |
|   ##   "Sinhala", "Slovak", "Slovenian", "Somali",
 | |
|   ##   "Southern Sotho", "Spanish", "Spanish (Latin America)",
 | |
|   ##   "Sundanese",  "Swahili", "Swedish", "Tajik", "Tamil",
 | |
|   ##   "Telugu", "Thai", "Turkish", "Ukrainian", "Urdu",
 | |
|   ##   "Uzbek", "Vietnamese", "Welsh", "Western Frisian",
 | |
|   ##   "Xhosa", "Yiddish", "Yoruba", "Zulu"
 | |
|   ##
 | |
|   ## Default: ["", "", ""]
 | |
|   ##
 | |
|   #captions: ["", "", ""]
 | |
| 
 | |
| 
 | |
|   # -----------------------------
 | |
|   #  Interface
 | |
|   # -----------------------------
 | |
| 
 | |
|   ##
 | |
|   ## Enable/Disable dark mode.
 | |
|   ##
 | |
|   ## Accepted values: "dark", "light", "auto"
 | |
|   ## Default: "auto"
 | |
|   ##
 | |
|   #dark_mode: "auto"
 | |
| 
 | |
|   ##
 | |
|   ## Enable/Disable thin mode (no video thumbnails).
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #thin_mode: false
 | |
| 
 | |
|   ##
 | |
|   ## List of feeds available on the home page.
 | |
|   ##
 | |
|   ## Note: "Subscriptions" and "Playlists" are only visible
 | |
|   ## when the user is logged in.
 | |
|   ##
 | |
|   ## Accepted values: A list of strings
 | |
|   ## Each entry can be one of: "Popular", "Trending",
 | |
|   ##    "Subscriptions", "Playlists"
 | |
|   ##
 | |
|   ## Default: ["Popular", "Trending", "Subscriptions", "Playlists"]  (show all feeds)
 | |
|   ##
 | |
|   #feed_menu: ["Popular", "Trending", "Subscriptions", "Playlists"]
 | |
| 
 | |
|   ##
 | |
|   ## Default feed to display on the home page.
 | |
|   ##
 | |
|   ## Note: setting this option to "Popular" has no
 | |
|   ## effect when 'popular_enabled' is set to false.
 | |
|   ##
 | |
|   ## Accepted values: Popular, Trending, Subscriptions, Playlists, <none>
 | |
|   ## Default: Popular
 | |
|   ##
 | |
|   #default_home: Popular
 | |
| 
 | |
|   ##
 | |
|   ## Default number of results to display per page.
 | |
|   ##
 | |
|   ## Note: this affects invidious-generated pages only, such
 | |
|   ## as watch history and subscription feeds. Playlists, search
 | |
|   ## results and channel videos depend on the data returned by
 | |
|   ## the Youtube API.
 | |
|   ##
 | |
|   ## Accepted values: any positive integer
 | |
|   ## Default: 40
 | |
|   ##
 | |
|   #max_results: 40
 | |
| 
 | |
|   ##
 | |
|   ## Show/hide annotations.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #annotations: false
 | |
| 
 | |
|   ##
 | |
|   ## Show/hide annotation.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #annotations_subscribed: false
 | |
| 
 | |
|   ##
 | |
|   ## Type of comments to display below video.
 | |
|   ##
 | |
|   ## Accepted values: a two-entries array.
 | |
|   ## Each entry can be one of: "youtube", "reddit", ""
 | |
|   ##
 | |
|   ## Default: ["youtube", ""]
 | |
|   ##
 | |
|   #comments: ["youtube", ""]
 | |
| 
 | |
|   ##
 | |
|   ## Default player style.
 | |
|   ##
 | |
|   ## Accepted values: invidious, youtube
 | |
|   ## Default: invidious
 | |
|   ##
 | |
|   #player_style: invidious
 | |
| 
 | |
|   ##
 | |
|   ## Show/Hide the "related videos" sidebar when
 | |
|   ## watching a video.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: true
 | |
|   ##
 | |
|   #related_videos: true
 | |
| 
 | |
| 
 | |
|   # -----------------------------
 | |
|   #  Video player behavior
 | |
|   # -----------------------------
 | |
| 
 | |
|   ##
 | |
|   ## Automatically play videos on page load.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #autoplay: false
 | |
| 
 | |
|   ##
 | |
|   ## Automatically load the "next" video (either next in
 | |
|   ## playlist or proposed) when the current video ends.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #continue: false
 | |
| 
 | |
|   ##
 | |
|   ## Autoplay next video by default.
 | |
|   ##
 | |
|   ## Note: Only effective if 'continue' is set to true.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: true
 | |
|   ##
 | |
|   #continue_autoplay: true
 | |
| 
 | |
|   ##
 | |
|   ## Play videos in Audio-only mode by default.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #listen: false
 | |
| 
 | |
|   ##
 | |
|   ## Loop videos automatically.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #video_loop: false
 | |
| 
 | |
| 
 | |
|   # -----------------------------
 | |
|   #  Video playback settings
 | |
|   # -----------------------------
 | |
| 
 | |
|   ##
 | |
|   ## Default video quality.
 | |
|   ##
 | |
|   ## Accepted values: dash, hd720, medium, small
 | |
|   ## Default: hd720
 | |
|   ##
 | |
|   #quality: hd720
 | |
| 
 | |
|   ##
 | |
|   ## Default dash video quality.
 | |
|   ##
 | |
|   ## Note: this setting only takes effet if the
 | |
|   ## 'quality' parameter is set to "dash".
 | |
|   ##
 | |
|   ## Accepted values:
 | |
|   ##    auto, best, 4320p, 2160p, 1440p, 1080p,
 | |
|   ##    720p, 480p, 360p, 240p, 144p, worst
 | |
|   ## Default: auto
 | |
|   ##
 | |
|   #quality_dash: auto
 | |
| 
 | |
|   ##
 | |
|   ## Default video playback speed.
 | |
|   ##
 | |
|   ## Accepted values: 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0
 | |
|   ## Default: 1.0
 | |
|   ##
 | |
|   #speed: 1.0
 | |
| 
 | |
|   ##
 | |
|   ## Default volume.
 | |
|   ##
 | |
|   ## Accepted values: 0-100
 | |
|   ## Default: 100
 | |
|   ##
 | |
|   #volume: 100
 | |
| 
 | |
|   ##
 | |
|   ## Allow 360° videos to be played.
 | |
|   ##
 | |
|   ## Note: This feature requires a WebGL-enabled browser.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: true
 | |
|   ##
 | |
|   #vr_mode: true
 | |
|   
 | |
|   ##
 | |
|   ## Save the playback position
 | |
|   ## Allow to continue watching at the previous position when
 | |
|   ## watching the same video.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #save_player_pos: false
 | |
| 
 | |
|   # -----------------------------
 | |
|   #  Subscription feed
 | |
|   # -----------------------------
 | |
| 
 | |
|   ##
 | |
|   ## In the "Subscription" feed, only show the latest video
 | |
|   ## of each channel the user is subscribed to.
 | |
|   ##
 | |
|   ## Note: when combined with 'unseen_only', the latest unseen
 | |
|   ## video of each channel will be displayed instead of the
 | |
|   ## latest by date.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #latest_only: false
 | |
| 
 | |
|   ##
 | |
|   ## Enable/Disable user subscriptions desktop notifications.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #notifications_only: false
 | |
| 
 | |
|   ##
 | |
|   ## In the "Subscription" feed, Only show the videos that the
 | |
|   ## user haven't watched yet (i.e which are not in their watch
 | |
|   ## history).
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #unseen_only: false
 | |
| 
 | |
|   ##
 | |
|   ## Default sorting parameter for subscription feeds.
 | |
|   ##
 | |
|   ## Accepted values:
 | |
|   ##   'alphabetically'
 | |
|   ##   'alphabetically - reverse'
 | |
|   ##   'channel name'
 | |
|   ##   'channel name - reverse'
 | |
|   ##   'published'
 | |
|   ##   'published - reverse'
 | |
|   ##
 | |
|   ## Default: published
 | |
|   ##
 | |
|   #sort: published
 | |
| 
 | |
| 
 | |
|   # -----------------------------
 | |
|   #  Miscellaneous
 | |
|   # -----------------------------
 | |
| 
 | |
|   ##
 | |
|   ## Proxy videos through instance by default.
 | |
|   ##
 | |
|   ## Warning: As most users won't change this setting in their
 | |
|   ## preferences, defaulting  to true will significantly
 | |
|   ## increase the instance's network usage, so make sure that
 | |
|   ## your server's connection can handle it.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #local: false
 | |
| 
 | |
|   ##
 | |
|   ## Show the connected user's nick at the top right.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: true
 | |
|   ##
 | |
|   #show_nick: true
 | |
| 
 | |
|   ##
 | |
|   ## Automatically redirect to a random instance when the user uses
 | |
|   ## any "switch invidious instance" link (For videos, it's the plane
 | |
|   ## icon, next to "watch on youtube" and "listen"). When set to false,
 | |
|   ## the user is sent to https://redirect.invidious.io instead, where
 | |
|   ## they can manually select an instance.
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #automatic_instance_redirect: false
 | |
| 
 | |
|   ##
 | |
|   ## Show the entire video description by default (when set to 'false',
 | |
|   ## only the first few lines of the description are shown and a
 | |
|   ## "show more" button allows to expand it).
 | |
|   ##
 | |
|   ## Accepted values: true, false
 | |
|   ## Default: false
 | |
|   ##
 | |
|   #extend_desc: false
 |