mirror of
https://github.com/curl/curl.git
synced 2024-12-09 06:30:06 +08:00
ba8c5c49a3
- Move documentation of libcurl environment variables used only in debug builds from libcurl-env into a separate document libcurl-env-dbg. - Document more debug environment variables. Previously undocumented or missing a description: CURL_ALTSVC_HTTP, CURL_DBG_SOCK_WBLOCK, CURL_DBG_SOCK_WPARTIAL, CURL_DBG_QUIC_WBLOCK, CURL_DEBUG, CURL_DEBUG_SIZE, CURL_GETHOSTNAME, CURL_HSTS_HTTP, CURL_FORCETIME, CURL_SMALLREQSEND, CURL_SMALLSENDS, CURL_TIME. Closes https://github.com/curl/curl/pull/11811
93 lines
4.4 KiB
Groff
93 lines
4.4 KiB
Groff
.\" **************************************************************************
|
|
.\" * _ _ ____ _
|
|
.\" * 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" "libcurl"
|
|
.SH NAME
|
|
libcurl-env \- environment variables libcurl understands
|
|
.SH DESCRIPTION
|
|
libcurl reads and understands a set of environment variables that if set
|
|
controls and changes 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.
|
|
.RS
|
|
.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 makes
|
|
libcurl use the \fBhttp_proxy\fP variable, while a URL like ftp://example.com
|
|
uses the \fBftp_proxy\fP variable.
|
|
|
|
These proxy variables are also checked for in their uppercase versions, except
|
|
the \fBhttp_proxy\fP one which is only used lowercase. Note also that some
|
|
systems actually have a case insensitive handling of environment variables and
|
|
then of course \fBHTTP_PROXY\fP still works.
|
|
|
|
An exception exists for the WebSocket \fBws\fP and \fBwss\fP URL schemes,
|
|
where libcurl first checks \fBws_proxy\fP or \fBwss_proxy\fP but if they are
|
|
not set, it will fall back and try the http and https versions instead if set.
|
|
.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 overrides this one if set.
|
|
.IP CURL_SSL_BACKEND
|
|
When libcurl is built to support multiple SSL backends, it selects a specific
|
|
backend at first use. If no selection is done by the program using libcurl,
|
|
this variable's selection is used. Setting a name that is not a built-in
|
|
alternative makes libcurl stay with the default.
|
|
|
|
SSL backend names (case-insensitive): BearSSL, GnuTLS, 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 saves 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.
|
|
|
|
These secrets and this file might be sensitive. Users are advised to take
|
|
precautions so that they are not stolen or otherwise inadvertently revealed.
|
|
.IP USER
|
|
User name to use when invoking the \fIntlm-wb\fP tool, if \fINTLMUSER\fP and
|
|
\fILOGNAME\fP were not set.
|
|
.RE
|
|
.SH "Debug Variables"
|
|
Debug variables are intended for internal use and are documented in
|
|
\fIlibcurl-env-dbg(3)\fP.
|
|
.SH "SEE ALSO"
|
|
.BR libcurl-env-dbg (3)
|