quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

libcurl-env.md (3123B)


      1 ---
      2 c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
      3 SPDX-License-Identifier: curl
      4 Title: libcurl-env
      5 Section: 3
      6 Source: libcurl
      7 See-also:
      8   - libcurl-env-dbg (3)
      9 Protocol:
     10   - All
     11 Added-in: n/a
     12 ---
     13 
     14 # NAME
     15 
     16 libcurl-env - environment variables libcurl understands
     17 
     18 # DESCRIPTION
     19 
     20 libcurl reads and understands a set of environment variables that if set
     21 controls and changes behaviors. This is the full list of variables to set and
     22 description of what they do. Also note that curl, the command line tool,
     23 supports a set of additional environment variables independently of this.
     24 
     25 ## `[scheme]_proxy`
     26 
     27 When libcurl is given a URL to use in a transfer, it first extracts the scheme
     28 part from the URL and checks if there is a given proxy set for that in its
     29 corresponding environment variable. A URL like https://example.com makes
     30 libcurl use the **http_proxy** variable, while a URL like ftp://example.com
     31 uses the **ftp_proxy** variable.
     32 
     33 These proxy variables are also checked for in their uppercase versions, except
     34 the **http_proxy** one which is only used lowercase. Note also that some
     35 systems actually have a case insensitive handling of environment variables and
     36 then of course **HTTP_PROXY** still works.
     37 
     38 An exception exists for the WebSocket **ws** and **wss** URL schemes, where
     39 libcurl first checks **ws_proxy** or **wss_proxy** but if they are not set, it
     40 falls back and tries the http and https versions instead if set.
     41 
     42 ## `ALL_PROXY`
     43 
     44 This is a setting to set proxy for all URLs, independently of what scheme is
     45 being used. Note that the scheme specific variables overrides this one if set.
     46 
     47 ## `CURL_SSL_BACKEND`
     48 
     49 When libcurl is built to support multiple SSL backends, it selects a specific
     50 backend at first use. If no selection is done by the program using libcurl,
     51 this variable's selection is used. Setting a name that is not a built-in
     52 alternative makes libcurl stay with the default.
     53 
     54 SSL backend names (case-insensitive): GnuTLS, mbedTLS, OpenSSL, Rustls,
     55 Schannel, wolfSSL
     56 
     57 ## `HOME`
     58 
     59 When the netrc feature is used (CURLOPT_NETRC(3)), this variable is
     60 checked as the primary way to find the "current" home directory in which
     61 the .netrc file is likely to exist.
     62 
     63 ## `USERPROFILE`
     64 
     65 When the netrc feature is used (CURLOPT_NETRC(3)), this variable is
     66 checked as the secondary way to find the "current" home directory (on Windows
     67 only) in which the .netrc file is likely to exist.
     68 
     69 ## `NO_PROXY`
     70 
     71 This has the same functionality as the CURLOPT_NOPROXY(3) option: it
     72 gives libcurl a comma-separated list of hostname patterns for which libcurl
     73 should not use a proxy.
     74 
     75 ## `SSLKEYLOGFILE`
     76 
     77 When set and libcurl runs with an SSL backend that supports this feature,
     78 libcurl saves SSL secrets into the given filename. Using those SSL secrets,
     79 other tools (such as Wireshark) can decrypt the SSL communication and
     80 analyze/view the traffic.
     81 
     82 These secrets and this file might be sensitive. Users are advised to take
     83 precautions so that they are not stolen or otherwise inadvertently revealed.
     84 
     85 # Debug Variables
     86 
     87 Debug variables are intended for internal use and are documented in
     88 libcurl-env-dbg(3).