| .\" ************************************************************************** |
| .\" * _ _ ____ _ |
| .\" * Project ___| | | | _ \| | |
| .\" * / __| | | | |_) | | |
| .\" * | (__| |_| | _ <| |___ |
| .\" * \___|\___/|_| \_\_____| |
| .\" * |
| .\" * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. |
| .\" * |
| .\" * This software is licensed as described in the file COPYING, which |
| .\" * you should have received as part of this distribution. The terms |
| .\" * are also available at https://curl.se/docs/copyright.html. |
| .\" * |
| .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
| .\" * copies of the Software, and permit persons to whom the Software is |
| .\" * furnished to do so, under the terms of the COPYING file. |
| .\" * |
| .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY |
| .\" * KIND, either express or implied. |
| .\" * |
| .\" * SPDX-License-Identifier: curl |
| .\" * |
| .\" ************************************************************************** |
| .TH libcurl-env 3 "20 January 2018" "libcurl 7.58.0" "libcurl environment variables" |
| .SH NAME |
| libcurl-env \- environment variables libcurl understands |
| .SH DESCRIPTION |
| libcurl reads and understands a set of environment variables that if set will |
| control and change behaviors. This is the full list of variables to set and |
| description of what they do. Also note that curl, the command line tool, |
| supports a set of additional environment variables independently of this. |
| .IP "[scheme]_proxy" |
| When libcurl is given a URL to use in a transfer, it first extracts the |
| "scheme" part from the URL and checks if there is a given proxy set for that |
| in its corresponding environment variable. A URL like "https://example.com" |
| will hence use the "http_proxy" variable, while a URL like "ftp://example.com" |
| will use the "ftp_proxy" variable. |
| |
| These proxy variables are also checked for in their uppercase versions, except |
| the "http_proxy" one which is only used lowercase. Note also that some systems |
| actually have a case insensitive handling of environment variables and then of |
| course "HTTP_PROXY" will still work... |
| .IP ALL_PROXY |
| This is a setting to set proxy for all URLs, independently of what scheme is |
| being used. Note that the scheme specific variables will override this one if |
| set. |
| .IP CURL_SSL_BACKEND |
| When libcurl is built to support multiple SSL backends, it will select a |
| specific backend at first use. If no selection is done by the program using |
| libcurl, this variable's selection will be used. Setting a name that is not a |
| built-in alternative will make libcurl stay with the default. |
| |
| SSL backend names (case-insensitive): BearSSL, GnuTLS, gskit, mbedTLS, |
| nss, OpenSSL, rustls, Schannel, Secure-Transport, wolfSSL |
| .IP HOME |
| When the netrc feature is used (\fICURLOPT_NETRC(3)\fP), this variable is |
| checked as the primary way to find the "current" home directory in which |
| the .netrc file is likely to exist. |
| .IP USERPROFILE |
| When the netrc feature is used (\fICURLOPT_NETRC(3)\fP), this variable is |
| checked as the secondary way to find the "current" home directory (on Windows |
| only) in which the .netrc file is likely to exist. |
| .IP LOGNAME |
| User name to use when invoking the \fIntlm-wb\fP tool, if \fINTLMUSER\fP was |
| not set. |
| .IP NO_PROXY |
| This has the same functionality as the \fICURLOPT_NOPROXY(3)\fP option: it |
| gives libcurl a comma-separated list of host name patterns for which libcurl |
| should not use a proxy. |
| .IP NTLMUSER |
| User name to use when invoking the \fIntlm-wb\fP tool. |
| .IP SSLKEYLOGFILE |
| When set and libcurl runs with a SSL backend that supports this feature, |
| libcurl will save SSL secrets into the given file name. Using those SSL |
| secrets, other tools (such as Wireshark) can decrypt the SSL communication and |
| analyze/view the traffic. |
| .IP SSL_DIR |
| When libcurl runs with the NSS backends for TLS features, this variable is |
| used to find the directory for NSS PKI database instead of the built-in. |
| .IP USER |
| User name to use when invoking the \fIntlm-wb\fP tool, if \fINTLMUSER\fP and |
| \fILOGNAME\fP were not set. |
| .SH "Debug Variables" |
| There's a set of variables only recognized and used if libcurl was built |
| "debug enabled", which should never be true for a library used in production. |
| .IP "CURL_GETHOSTNAME" |
| Debug-only variable. |
| .IP "CURL_FORCETIME" |
| Debug-only variable. |
| .IP "CURL_ENTROPY" |
| Debug-only variable. Used to set a fixed faked value to use instead of a |
| proper random number so that functions in libcurl that are otherwise getting |
| random outputs can be tested for what they generate. |
| .IP "CURL_TRACE" |
| Debug-only variable. Used for debugging the lib/ldap implementation. |
| .IP "CURL_NTLM_WB_FILE" |
| Debug-only variable. Used to set to a debug-version of the \fIntlm-wb\fP |
| executable. |
| .IP "CURL_OPENLDAP_TRACE" |
| Debug-only variable. Used for debugging the OpenLDAP implementation. |