Go to file
Evan Fiordeliso 5eae3f7f18 Fix goreleaser hook and switch to semver for docker metadata action 2023-08-14 19:41:05 -04:00
.gitea/workflows Fix goreleaser hook and switch to semver for docker metadata action 2023-08-14 19:41:05 -04:00
.trunk Add devenv, add env vars to README, and delete chart 2023-07-12 16:51:05 -04:00
.vscode Change stderr in debug option from LevelError to LevelDebug 2023-05-23 19:13:48 -04:00
app Move utils and ytdl packages to pkg dir 2023-08-14 18:16:42 -04:00
cmd Add docker release job 2023-08-14 19:26:48 -04:00
config Add config dir env variable 2023-07-12 19:16:28 -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 Add devenv, add env vars to README, and delete chart 2023-07-12 16:51:05 -04:00
.dockerignore Update dockerignore 2023-05-23 20:24:05 -04:00
.envrc Add devenv, add env vars to README, and delete chart 2023-07-12 16:51:05 -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 Add docker release job 2023-08-14 19:26:48 -04: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 config dir env variable 2023-07-12 19:16:28 -04:00
config.example.yaml Add cache dir config and add some config env vars to helm chart 2023-05-23 20:07:48 -04:00
devenv.lock Add devenv, add env vars to README, and delete chart 2023-07-12 16:51:05 -04:00
devenv.nix Add docker release job 2023-08-14 19:26:48 -04:00
devenv.yaml Add devenv, add env vars to README, and delete chart 2023-07-12 16:51:05 -04:00
go.mod Convert fiber to chi 2023-08-12 23:27:11 -04:00
go.sum Convert fiber to chi 2023-08-12 23:27:11 -04:00
main.go Initial commit with server 2023-04-14 11:58:32 -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) top 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.