libcurl-env.3 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. .\" generated by cd2nroff 0.1 from libcurl-env.md
  2. .TH libcurl-env 3 "2025-01-17" libcurl
  3. .SH NAME
  4. libcurl\-env \- environment variables libcurl understands
  5. .SH DESCRIPTION
  6. libcurl reads and understands a set of environment variables that if set
  7. controls and changes behaviors. This is the full list of variables to set and
  8. description of what they do. Also note that curl, the command line tool,
  9. supports a set of additional environment variables independently of this.
  10. .IP [scheme]_proxy
  11. When libcurl is given a URL to use in a transfer, it first extracts the scheme
  12. part from the URL and checks if there is a given proxy set for that in its
  13. corresponding environment variable. A URL like https://example.com makes
  14. libcurl use the \fBhttp_proxy\fP variable, while a URL like ftp://example.com
  15. uses the \fBftp_proxy\fP variable.
  16. These proxy variables are also checked for in their uppercase versions, except
  17. the \fBhttp_proxy\fP one which is only used lowercase. Note also that some
  18. systems actually have a case insensitive handling of environment variables and
  19. then of course \fBHTTP_PROXY\fP still works.
  20. An exception exists for the WebSocket \fBws\fP and \fBwss\fP URL schemes, where
  21. libcurl first checks \fBws_proxy\fP or \fBwss_proxy\fP but if they are not set, it
  22. falls back and tries the http and https versions instead if set.
  23. .IP ALL_PROXY
  24. This is a setting to set proxy for all URLs, independently of what scheme is
  25. being used. Note that the scheme specific variables overrides this one if set.
  26. .IP CURL_SSL_BACKEND
  27. When libcurl is built to support multiple SSL backends, it selects a specific
  28. backend at first use. If no selection is done by the program using libcurl,
  29. this variable\(aqs selection is used. Setting a name that is not a built\-in
  30. alternative makes libcurl stay with the default.
  31. SSL backend names (case\-insensitive): BearSSL, GnuTLS, mbedTLS,
  32. nss, OpenSSL, rustls, Schannel, Secure\-Transport, wolfSSL
  33. .IP HOME
  34. When the netrc feature is used (\fICURLOPT_NETRC(3)\fP), this variable is
  35. checked as the primary way to find the "current" home directory in which
  36. the .netrc file is likely to exist.
  37. .IP USERPROFILE
  38. When the netrc feature is used (\fICURLOPT_NETRC(3)\fP), this variable is
  39. checked as the secondary way to find the "current" home directory (on Windows
  40. only) in which the .netrc file is likely to exist.
  41. .IP LOGNAME
  42. Username to use when invoking the \fIntlm\-wb\fP tool, if \fINTLMUSER\fP was
  43. not set.
  44. .IP NO_PROXY
  45. This has the same functionality as the \fICURLOPT_NOPROXY(3)\fP option: it
  46. gives libcurl a comma\-separated list of hostname patterns for which libcurl
  47. should not use a proxy.
  48. .IP NTLMUSER
  49. Username to use when invoking the \fIntlm\-wb\fP tool.
  50. .IP SSLKEYLOGFILE
  51. When set and libcurl runs with a SSL backend that supports this feature,
  52. libcurl saves SSL secrets into the given filename. Using those SSL secrets,
  53. other tools (such as Wireshark) can decrypt the SSL communication and
  54. analyze/view the traffic.
  55. These secrets and this file might be sensitive. Users are advised to take
  56. precautions so that they are not stolen or otherwise inadvertently revealed.
  57. .IP USER
  58. Username to use when invoking the \fIntlm\-wb\fP tool, if \fINTLMUSER\fP and \fILOGNAME\fP
  59. were not set.
  60. .SH Debug Variables
  61. Debug variables are intended for internal use and are documented in
  62. \fIlibcurl\-env\-dbg(3)\fP.
  63. .SH SEE ALSO
  64. .BR libcurl-env-dbg (3)