[FEATURE] Ability to provide streaming service authentication creds as environment variables/password commands
Is the feature request related to a problem. Please describe it.
Thanks for streamrip! It's been really easy to use, and I appreciate all the thought that went into it, especially around all of the configuration options.
One thing that I've noticed after using streamrip across multiple computers is that it would be nice to be able to provide streaming service authentication credentials outside of the configuration file, so that I can track this file in my dotfiles repository without needing to worry about my authentication credentials being exposed or needing to encrypt this file so that it can be safely tracked (and decrypting it once I've downloaded it).
In other words, since the configuration file also includes things like auth tokens, this makes it difficult to share configurations across multiple computers in a secure way. Furthermore, since this configuration file includes a lot of settings, it makes keeping all the settings in sync across multiple computers tedious.
Describe the solution you would like.
I think it would be nice if streamrip would check for authentication credentials (ex., tidal.access_token, tidal.refresh_token) in:
- Environment variables (ex.,
STREAMRIP_TIDAL_ACCESS_TOKEN,STREAMRIP_TIDAL_REFRESH_TOKEN) OR - Password commands (ex.,
tidal.access_token_command = "op read op://MyVault/streamrip/access-token") OR - A separate file altogether (ex.,
~/.config/streamrip/auth.toml)
Any of these options would allow me to store my shared settings in ~/.config/streamrip/config.toml without authentication credentials included, so I could easily track changes to these settings across multiple computers without needing to worry about accidentally exposing my authentication credentials.
Describe alternatives you've considered.
I've thought about:
- Tracking an encrypted version of the
config.tomlfile in my dotfiles repository, but this seems like overkill. - Setting up an initialization script to create an initial
~/.config/streamrip/config.tomlfile on new computers, that has all of my settings configured except for the authentication credentials- The downside to this is that once I authenticate with my streaming service provider, the config contains these credentials, so tracking further updates is difficult if not impossible.