I use Radicale as a calendar server, and my calendars are password protected with with a .htaccess file. For a calendar client to talk to this server, it needs to authenticate itself with HTTP Basic Authorization.
I tried setting ICS_URL
as the URL to my calendar, and supplying my user name and password in the URL as https://user:[email protected]
. This format works when downloading in a browser, but doesn't work with wget, which seems to be what's used by the downloader?
Normally with wget, I could use either of the following two methods to authenticate:
wget https://server.com --http-user='user' --http-password='password'
wget https://server.com --header 'Authorization: Basic XXX'
So I tried hacking the downloader a bit by injecting the credentials in ICS_URL
as wget options. I tried:
ICS_URL="https://server.com --http-user='user' --http-password='password'"
ICS_URL="https://server.com --header 'Authorization: Basic XXX'"
But your downloader binary seems to (probably wisely) encode the spaces to %20
in the background; I can see in the output that the options just end up as part of the URL:
--2021-11-18 18:14:52-- https://server.com%20--http-user='user'%20--http-password='password'
--2021-11-18 18:17:32-- https://server.com%20--header%20'Authorization:%20Basic%XXX'
Maybe some options could be added to the env file to enable authentication in situations like this? e.g., ICS_HTTP_USER
, ICS_HTTP_PASSWORD
, ICS_HTTP_BASIC_HEADER