#!/bin/bash # AI generated urlencode() { local LANG=C i x for (( i = 0; i < ${#1}; i++ )); do x="${1:i:1}" [[ "$x" =~ [a-zA-Z0-9.~_-] ]] && echo -n "$x" || printf '%%%02X' "'$x" done echo } if [[ ! -z ${CURL_CONFIG_IDS} ]]; then mkdir -p ${CURL_CONFIG_DIR:-/opt/etc/curl} for CURL_CONFIG_PAIR in ${CURL_CONFIG_IDS}; do if [[ ${CURL_CONFIG_PAIR} =~ ^([^:]+):(.+)$ ]]; then CURL_CONFIG_ID=${BASH_REMATCH[1]} CURL_CONFIG_ENVVAR_KEY=${BASH_REMATCH[2]} CURL_CONFIG_ENVVAR_USERNAME="CURL_CONFIG_${CURL_CONFIG_ENVVAR_KEY}_USERNAME" CURL_CONFIG_ENVVAR_PASSWORD="CURL_CONFIG_${CURL_CONFIG_ENVVAR_KEY}_PASSWORD" CURL_CONFIG_USERNAME=`urlencode ${!CURL_CONFIG_ENVVAR_USERNAME}` CURL_CONFIG_PASSWORD=`urlencode ${!CURL_CONFIG_ENVVAR_PASSWORD}` if [[ -z ${CURL_CONFIG_USERNAME} ]]; then echo "The curl configuration '${CURL_CONFIG_ID}' has no corresponding environment variable: ${CURL_CONFIG_ENVVAR_USERNAME}; ignoring" elif [[ -z ${CURL_CONFIG_PASSWORD} ]]; then echo "The curl configuration '${CURL_CONFIG_ID}' has no corresponding environment variable: ${CURL_CONFIG_ENVVAR_PASSWORD}; ignoring" else CURL_CONFIG_FILE=${CURL_CONFIG_DIR:-/opt/etc/curl}/${CURL_CONFIG_ID}.cfg echo "user = ${CURL_CONFIG_USERNAME}:${CURL_CONFIG_PASSWORD}" > ${CURL_CONFIG_FILE} echo "Added CURL configuration file: ${CURL_CONFIG_FILE}" fi else echo "The curl configuration format in 'CURL_CONFIG_IDS' is invalid: ${CURL_CONFIG_PAIR}" exit 1 fi done fi