Go to file
Evan Fiordeliso aa0f47607f add nixos module to flake, add mainProgram option to package, and fix typo in readme 2024-04-16 09:59:09 -04:00
.forgejo/workflows rename .gitea to .forgejo 2024-04-16 00:51:59 -04:00
.vscode Change stderr in debug option from LevelError to LevelDebug 2023-05-23 19:13:48 -04:00
app Add collapse block with filtered out formats 2024-02-17 12:01:59 -05:00
cmd add nix flake with default package and add shell completions subcommand 2024-04-16 00:51:25 -04:00
config Add config dir env variable 2023-07-12 19:16:28 -04:00
nix add nixos module to flake, add mainProgram option to package, and fix typo in readme 2024-04-16 09:59:09 -04:00
pkg Rename server options struct and init func 2023-08-14 18:46:16 -04:00
version Update goreleaser config 2023-04-15 18:24:23 -04:00
.air.toml Fix proxied download by removing approx filesize 2024-02-17 11:05:49 -05:00
.dockerignore Update dockerignore 2023-05-23 20:24:05 -04:00
.envrc add nix flake with default package and add shell completions subcommand 2024-04-16 00:51:25 -04:00
.gitignore Add devenv, add env vars to README, and delete chart 2023-07-12 16:51:05 -04:00
.goreleaser.yaml Fix goreleaser hook and switch to semver for docker metadata action 2023-08-14 19:41:05 -04:00
CODE_OF_CONDUCT.md Update README and add license, contibuting, and code_of_conduct files 2023-04-15 19:43:21 -04:00
CONTRIBUTING.md Update README and add license, contibuting, and code_of_conduct files 2023-04-15 19:43:21 -04:00
Dockerfile Update devenv (including go version) 2024-02-17 11:09:31 -05:00
LICENSE.md Update README and add license, contibuting, and code_of_conduct files 2023-04-15 19:43:21 -04:00
README.md add nixos module to flake, add mainProgram option to package, and fix typo in readme 2024-04-16 09:59:09 -04:00
config.example.yaml Fix dockerfile and lint config.example.yaml 2023-08-14 23:11:10 -04:00
devenv.lock Update devenv (including go version) 2024-02-17 11:09:31 -05:00
devenv.yaml Add devenv, add env vars to README, and delete chart 2023-07-12 16:51:05 -04:00
flake.lock add nix flake with default package and add shell completions subcommand 2024-04-16 00:51:25 -04:00
flake.nix add nixos module to flake, add mainProgram option to package, and fix typo in readme 2024-04-16 09:59:09 -04:00
go.mod Update bootstrap, format html files, remove samber/lo dep 2024-02-17 11:19:10 -05:00
go.sum Update bootstrap, format html files, remove samber/lo dep 2024-02-17 11:19:10 -05:00
main.go add nix flake with default package and add shell completions subcommand 2024-04-16 00:51:25 -04:00

README.md

YTDL Web

Usage

ytdl-web [OPTIONS]

Available options:

  • -b, --base-path string the base path, used when behind reverse proxy
  • --config string config file (default is $XDG_CONFIG_HOME/ytdl-web/config.yml)
  • -h, --help help for ytdl-web
  • -l, --listen string address to listen on (default "127.0.0.1")
  • -p, --port int port to listen on (default 8080)
  • -y, --ytdlp-path string the path to the yt-dlp binary, used when it is not in $PATH (default "yt-dlp")

Configuration

Environment variables

You can configure the application using environment variables

Variable Name Description Default Value Accepted Values
YTDL_CONFIGDIR Add a custom config directory to search for the config file
YTDL_ENV The application environment Production Development, Staging, Production
YTDL_BINARYPATH The path to the yt-dlp binary yt-dlp
YTDL_HTTP_PORT The tcp port for the web server to listen on 8080
YTDL_HTTP_LISTEN The address for the web server to listen on 127.0.0.1 0.0.0.0, 127.0.0.1, etc.
YTDL_HTTP_BASEPATH The base path of the application, useful for reverse proxies /
YTDL_CACHE_TTL How long to keep cached metadata 1h 1h, 30s, 2m, etc.
YTDL_CACHE_DIRPATH The path to the directory of where to store the cache /tmp/ytdl-web
YTDL_COOKIES_ENABLED Whether to use cookies when using yt-dlp true true or false
YTDL_COOKIES_FILEPATH The path to the netscape format cookies file ./cookies.txt
YTDL_COOKIES_FROMBROWSER_BROWSER The name of the browser to load cookies from. (if specified, it disables YTDL_COOKIES_FILEPATH) brave, chrome, chromium, edge, firefox, opera, safari, vivaldi
YTDL_COOKIES_FROMBROWSER_KEYRING The name of the keyring for decrypting cookies for the chromium browser on linux basictext, gnomekeyring, kwallet
YTDL_COOKIES_FROMBROWSER_PROFILE The browser profile to load cookies from
YTDL_COOKIES_FROMBROWSER_CONTAINER The container name (if firefox) to load the cookies from

Building from source

Prerequisites:

Steps:

  1. Enter devenv shell
devenv shell
  1. Run the build script
build

Releasing

Prerequisites:

Steps:

  1. Ensure gitea access token is in ~/.config/goreleaser/gitea_token

  2. Enter devenv shell

devenv shell
  1. Run the release script
release

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use Semantic Versioning for versioning. For the versions available, see the tags on this repository.

Authors

  • Evan Fiordeliso - Initial project work - efiordeliso
  • Billie Thompson - Provided README Template - PurpleBooth

License

The project is licensed under the GPL v3 License - see the LICENSE.md file for details.