Evan Fiordeliso 63556e2983 | ||
---|---|---|
.forgejo/workflows | ||
.vscode | ||
app | ||
cmd | ||
config | ||
nix | ||
pkg | ||
version | ||
.air.toml | ||
.dockerignore | ||
.envrc | ||
.gitignore | ||
.goreleaser.yaml | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE.md | ||
README.md | ||
config.example.yaml | ||
devenv.lock | ||
devenv.yaml | ||
flake.lock | ||
flake.nix | ||
go.mod | ||
go.sum | ||
main.go |
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:
- Enter devenv shell
devenv shell
- Run the build script
build
Releasing
Prerequisites:
Steps:
-
Ensure gitea access token is in
~/.config/goreleaser/gitea_token
-
Enter devenv shell
devenv shell
- 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.