commit 57ae00d
hovercats
·
2024-06-17 10:39:42 +0000 UTC
parent 441d601
curl: 8.8.0
7 files changed,
+705,
-660
+1,
-1
1@@ -1,3 +1,3 @@
2-/curl-8.7.1.tar.gz
3+/curl-8.8.0.tar.xz
4 /curl.1.gz
5 /src
+687,
-643
1@@ -24,7 +24,7 @@
2 .\"
3 .\" DO NOT EDIT. Generated by the curl project managen man page generator.
4 .\"
5-.TH curl 1 "March 28 2024" "curl 8.7.1" "curl Manual"
6+.TH curl 1 "2024-06-17" "curl 8.8.0" "curl Manual"
7 .SH NAME
8 curl \- transfer a URL
9 .SH SYNOPSIS
10@@ -242,7 +242,7 @@ If you prefer a progress bar instead of the regular meter, \fI\-#, \-\-progress\
11 your friend. You can also disable the progress meter completely with the
12 \fI\-s, \-\-silent\fP option.
13 .SH VERSION
14-This man page describes curl 8.7.1. If you use a later version, chances
15+This man page describes curl 8.8.0. If you use a later version, chances
16 are this man page does not fully document it. If you use an earlier version,
17 this document tries to include version information about which specific
18 version that introduced changes.
19@@ -456,41 +456,6 @@ Example:
20 .fi
21
22 See also \fI\-\-cacert\fP and \fI-k, \-\-insecure\fP.
23-.IP "\-\-cert\-status"
24-(TLS) Verify the status of the server certificate by using the Certificate Status
25-Request (aka. OCSP stapling) TLS extension.
26-
27-If this option is enabled and the server sends an invalid (e.g. expired)
28-response, if the response suggests that the server certificate has been
29-revoked, or no response at all is received, the verification fails.
30-
31-This support is currently only implemented in the OpenSSL and GnuTLS backends.
32-
33-Providing --cert-status multiple times has no extra effect.
34-Disable it again with \-\-no-cert-status.
35-
36-Example:
37-.nf
38- curl --cert-status https://example.com
39-.fi
40-
41-See also \fI\-\-pinnedpubkey\fP.
42-.IP "\-\-cert\-type <type>"
43-(TLS) Set type of the provided client certificate. PEM, DER, ENG and P12 are
44-recognized types.
45-
46-The default type depends on the TLS backend and is usually PEM, however for
47-Secure Transport and Schannel it is P12. If \fI\-E, \-\-cert\fP is a pkcs11: URI then ENG is
48-the default type.
49-
50-If --cert-type is provided several times, the last set value is used.
51-
52-Example:
53-.nf
54- curl --cert-type PEM --cert file https://example.com
55-.fi
56-
57-See also \fI-E, \-\-cert\fP, \fI\-\-key\fP and \fI\-\-key\-type\fP.
58 .IP "\-E, \-\-cert <certificate[:password]>"
59 (TLS) Use the specified client certificate file when getting a file with HTTPS, FTPS
60 or another SSL\-based protocol. The certificate must be in PKCS#12 format if
61@@ -536,6 +501,41 @@ Example:
62 .fi
63
64 See also \fI\-\-cert\-type\fP, \fI\-\-key\fP and \fI\-\-key\-type\fP.
65+.IP "\-\-cert\-status"
66+(TLS) Verify the status of the server certificate by using the Certificate Status
67+Request (aka. OCSP stapling) TLS extension.
68+
69+If this option is enabled and the server sends an invalid (e.g. expired)
70+response, if the response suggests that the server certificate has been
71+revoked, or no response at all is received, the verification fails.
72+
73+This support is currently only implemented in the OpenSSL and GnuTLS backends.
74+
75+Providing --cert-status multiple times has no extra effect.
76+Disable it again with \-\-no-cert-status.
77+
78+Example:
79+.nf
80+ curl --cert-status https://example.com
81+.fi
82+
83+See also \fI\-\-pinnedpubkey\fP.
84+.IP "\-\-cert\-type <type>"
85+(TLS) Set type of the provided client certificate. PEM, DER, ENG and P12 are
86+recognized types.
87+
88+The default type depends on the TLS backend and is usually PEM, however for
89+Secure Transport and Schannel it is P12. If \fI\-E, \-\-cert\fP is a pkcs11: URI then ENG is
90+the default type.
91+
92+If --cert-type is provided several times, the last set value is used.
93+
94+Example:
95+.nf
96+ curl --cert-type PEM --cert file https://example.com
97+.fi
98+
99+See also \fI-E, \-\-cert\fP, \fI\-\-key\fP and \fI\-\-key\-type\fP.
100 .IP "\-\-ciphers <list of ciphers>"
101 (TLS) Specifies which ciphers to use in the connection. The list of ciphers must
102 specify valid ciphers. Read up on SSL cipher list details on this URL:
103@@ -550,19 +550,6 @@ Example:
104 .fi
105
106 See also \fI\-\-tlsv1.3\fP, \fI\-\-tls13\-ciphers\fP and \fI\-\-proxy\-ciphers\fP.
107-.IP "\-\-compressed\-ssh"
108-(SCP SFTP) Enables built\-in SSH compression. This is a request, not an order; the server
109-may or may not do it.
110-
111-Providing --compressed-ssh multiple times has no extra effect.
112-Disable it again with \-\-no-compressed-ssh.
113-
114-Example:
115-.nf
116- curl --compressed-ssh sftp://example.com/
117-.fi
118-
119-See also \fI\-\-compressed\fP. Added in 7.56.0.
120 .IP "\-\-compressed"
121 (HTTP) Request a compressed response using one of the algorithms curl supports, and
122 automatically decompress the content.
123@@ -584,6 +571,19 @@ Example:
124 .fi
125
126 See also \fI\-\-compressed\-ssh\fP.
127+.IP "\-\-compressed\-ssh"
128+(SCP SFTP) Enables built\-in SSH compression. This is a request, not an order; the server
129+may or may not do it.
130+
131+Providing --compressed-ssh multiple times has no extra effect.
132+Disable it again with \-\-no-compressed-ssh.
133+
134+Example:
135+.nf
136+ curl --compressed-ssh sftp://example.com/
137+.fi
138+
139+See also \fI\-\-compressed\fP. Added in 7.56.0.
140 .IP "\-K, \-\-config <file>"
141 Specify a text file to read curl arguments from. The command line arguments
142 found in the text file are used as if they were provided on the command
143@@ -723,35 +723,6 @@ Examples:
144 .fi
145
146 See also \fI-r, \-\-range\fP.
147-.IP "\-c, \-\-cookie\-jar <filename>"
148-(HTTP) Specify to which file you want curl to write all cookies after a completed
149-operation. Curl writes all cookies from its in\-memory cookie storage to the
150-given file at the end of operations. Even if no cookies are known, a file is
151-created so that it removes any formerly existing cookies from the file. The
152-file uses the Netscape cookie file format. If you set the filename to a single
153-minus, "\-", the cookies are written to stdout.
154-
155-The file specified with \fI\-c, \-\-cookie\-jar\fP is only used for output. No cookies are
156-read from the file. To read cookies, use the \fI\-b, \-\-cookie\fP option. Both options
157-can specify the same file.
158-
159-This command line option activates the cookie engine that makes curl record
160-and use cookies. The \fI\-b, \-\-cookie\fP option also activates it.
161-
162-If the cookie jar cannot be created or written to, the whole curl operation
163-does not fail or even report an error clearly. Using \fI\-v, \-\-verbose\fP gets a warning
164-displayed, but that is the only visible feedback you get about this possibly
165-lethal situation.
166-
167-If --cookie-jar is provided several times, the last set value is used.
168-
169-Examples:
170-.nf
171- curl -c store-here.txt https://example.com
172- curl -c store-here.txt -b read-these https://example.com
173-.fi
174-
175-See also \fI-b, \-\-cookie\fP.
176 .IP "\-b, \-\-cookie <data|filename>"
177 (HTTP) Pass the data to the HTTP server in the Cookie header. It is supposedly the
178 data previously received from the server in a "Set\-Cookie:" line. The data
179@@ -803,6 +774,35 @@ Examples:
180 .fi
181
182 See also \fI-c, \-\-cookie\-jar\fP and \fI-j, \-\-junk\-session\-cookies\fP.
183+.IP "\-c, \-\-cookie\-jar <filename>"
184+(HTTP) Specify to which file you want curl to write all cookies after a completed
185+operation. Curl writes all cookies from its in\-memory cookie storage to the
186+given file at the end of operations. Even if no cookies are known, a file is
187+created so that it removes any formerly existing cookies from the file. The
188+file uses the Netscape cookie file format. If you set the filename to a single
189+minus, "\-", the cookies are written to stdout.
190+
191+The file specified with \fI\-c, \-\-cookie\-jar\fP is only used for output. No cookies are
192+read from the file. To read cookies, use the \fI\-b, \-\-cookie\fP option. Both options
193+can specify the same file.
194+
195+This command line option activates the cookie engine that makes curl record
196+and use cookies. The \fI\-b, \-\-cookie\fP option also activates it.
197+
198+If the cookie jar cannot be created or written to, the whole curl operation
199+does not fail or even report an error clearly. Using \fI\-v, \-\-verbose\fP gets a warning
200+displayed, but that is the only visible feedback you get about this possibly
201+lethal situation.
202+
203+If --cookie-jar is provided several times, the last set value is used.
204+
205+Examples:
206+.nf
207+ curl -c store-here.txt https://example.com
208+ curl -c store-here.txt -b read-these https://example.com
209+.fi
210+
211+See also \fI-b, \-\-cookie\fP.
212 .IP "\-\-create\-dirs"
213 When used in conjunction with the \fI\-o, \-\-output\fP option, curl creates the necessary
214 local directory hierarchy as needed. This option creates the directories
215@@ -885,6 +885,43 @@ Example:
216 .fi
217
218 See also \fI\-\-ciphers\fP. Added in 7.73.0.
219+.IP "\-d, \-\-data <data>"
220+(HTTP MQTT) Sends the specified data in a POST request to the HTTP server, in the same way
221+that a browser does when a user has filled in an HTML form and presses the
222+submit button. This option makes curl pass the data to the server using the
223+content\-type application/x\-www\-form\-urlencoded. Compare to \fI\-F, \-\-form\fP.
224+
225+\fI\-\-data\-raw\fP is almost the same but does not have a special interpretation of
226+the @ character. To post data purely binary, you should instead use the
227+\fI\-\-data\-binary\fP option. To URL\-encode the value of a form field you may use
228+\fI\-\-data\-urlencode\fP.
229+
230+If any of these options is used more than once on the same command line, the
231+data pieces specified are merged with a separating &\-symbol. Thus, using
232+\(aq\-d name=daniel \-d skill=lousy\(aq would generate a post chunk that looks like
233+\(aqname=daniel&skill=lousy\(aq.
234+
235+If you start the data with the letter @, the rest should be a filename to read
236+the data from, or \- if you want curl to read the data from stdin. Posting data
237+from a file named \(aqfoobar\(aq would thus be done with \fI\-d, \-\-data\fP @foobar. When \fI\-d, \-\-data\fP
238+is told to read from a file like that, carriage returns, newlines and null
239+bytes are stripped out. If you do not want the @ character to have a special
240+interpretation use \fI\-\-data\-raw\fP instead.
241+
242+The data for this option is passed on to the server exactly as provided on the
243+command line. curl does not convert, change or improve it. It is up to the
244+user to provide the data in the correct form.
245+
246+--data can be used several times in a command line
247+
248+Examples:
249+.nf
250+ curl -d "name=curl" https://example.com
251+ curl -d "name=curl" -d "tool=cmdline" https://example.com
252+ curl -d @filename https://example.com
253+.fi
254+
255+See also \fI\-\-data\-binary\fP, \fI\-\-data\-urlencode\fP and \fI\-\-data\-raw\fP. This option is mutually exclusive to \fI-F, \-\-form\fP and \fI-I, \-\-head\fP and \fI-T, \-\-upload\-file\fP.
256 .IP "\-\-data\-ascii <data>"
257 (HTTP) This option is just an alias for \fI\-d, \-\-data\fP.
258
259@@ -972,43 +1009,6 @@ Examples:
260 .fi
261
262 See also \fI-d, \-\-data\fP and \fI\-\-data\-raw\fP.
263-.IP "\-d, \-\-data <data>"
264-(HTTP MQTT) Sends the specified data in a POST request to the HTTP server, in the same way
265-that a browser does when a user has filled in an HTML form and presses the
266-submit button. This option makes curl pass the data to the server using the
267-content\-type application/x\-www\-form\-urlencoded. Compare to \fI\-F, \-\-form\fP.
268-
269-\fI\-\-data\-raw\fP is almost the same but does not have a special interpretation of
270-the @ character. To post data purely binary, you should instead use the
271-\fI\-\-data\-binary\fP option. To URL\-encode the value of a form field you may use
272-\fI\-\-data\-urlencode\fP.
273-
274-If any of these options is used more than once on the same command line, the
275-data pieces specified are merged with a separating &\-symbol. Thus, using
276-\(aq\-d name=daniel \-d skill=lousy\(aq would generate a post chunk that looks like
277-\(aqname=daniel&skill=lousy\(aq.
278-
279-If you start the data with the letter @, the rest should be a filename to read
280-the data from, or \- if you want curl to read the data from stdin. Posting data
281-from a file named \(aqfoobar\(aq would thus be done with \fI\-d, \-\-data\fP @foobar. When \fI\-d, \-\-data\fP
282-is told to read from a file like that, carriage returns, newlines and null
283-bytes are stripped out. If you do not want the @ character to have a special
284-interpretation use \fI\-\-data\-raw\fP instead.
285-
286-The data for this option is passed on to the server exactly as provided on the
287-command line. curl does not convert, change or improve it. It is up to the
288-user to provide the data in the correct form.
289-
290---data can be used several times in a command line
291-
292-Examples:
293-.nf
294- curl -d "name=curl" https://example.com
295- curl -d "name=curl" -d "tool=cmdline" https://example.com
296- curl -d @filename https://example.com
297-.fi
298-
299-See also \fI\-\-data\-binary\fP, \fI\-\-data\-urlencode\fP and \fI\-\-data\-raw\fP. This option is mutually exclusive to \fI-F, \-\-form\fP and \fI-I, \-\-head\fP and \fI-T, \-\-upload\-file\fP.
300 .IP "\-\-delegation <LEVEL>"
301 (GSS/kerberos) Set LEVEL what curl is allowed to delegate when it comes to user credentials.
302 .RS
303@@ -1044,6 +1044,23 @@ Example:
304 .fi
305
306 See also \fI-u, \-\-user\fP, \fI\-\-proxy\-digest\fP and \fI\-\-anyauth\fP. This option is mutually exclusive to \fI\-\-basic\fP and \fI\-\-ntlm\fP and \fI\-\-negotiate\fP.
307+.IP "\-q, \-\-disable"
308+If used as the \fBfirst\fP parameter on the command line, the \fIcurlrc\fP config
309+file is not read or used. See the \fI\-K, \-\-config\fP for details on the default config
310+file search path.
311+
312+Prior to 7.50.0 curl supported the short option name \fIq\fP but not the long
313+option name \fIdisable\fP.
314+
315+Providing --disable multiple times has no extra effect.
316+Disable it again with \-\-no-disable.
317+
318+Example:
319+.nf
320+ curl -q https://example.com
321+.fi
322+
323+See also \fI-K, \-\-config\fP.
324 .IP "\-\-disable\-eprt"
325 (FTP) Disable the use of the EPRT and LPRT commands when doing active FTP transfers.
326 Curl normally first attempts to use EPRT before using PORT, but with this
327@@ -1092,23 +1109,6 @@ Example:
328 .fi
329
330 See also \fI\-\-disable\-eprt\fP and \fI-P, \-\-ftp\-port\fP.
331-.IP "\-q, \-\-disable"
332-If used as the \fBfirst\fP parameter on the command line, the \fIcurlrc\fP config
333-file is not read or used. See the \fI\-K, \-\-config\fP for details on the default config
334-file search path.
335-
336-Prior to 7.50.0 curl supported the short option name \fIq\fP but not the long
337-option name \fIdisable\fP.
338-
339-Providing --disable multiple times has no extra effect.
340-Disable it again with \-\-no-disable.
341-
342-Example:
343-.nf
344- curl -q https://example.com
345-.fi
346-
347-See also \fI-K, \-\-config\fP.
348 .IP "\-\-disallow\-username\-in\-url"
349 Exit with error if passed a URL containing a username. Probably most useful
350 when the URL is being provided at runtime or similar.
351@@ -1246,6 +1246,41 @@ Example:
352 .fi
353
354 See also \fI-o, \-\-output\fP.
355+.IP "\-\-ech <config>"
356+(HTTPS) Specifies how to do ECH (Encrypted Client Hello).
357+
358+The values allowed for <config> can be:
359+.RS
360+.IP false
361+Do not attempt ECH
362+.IP grease
363+Send a GREASE ECH extension
364+.IP true
365+Attempt ECH if possible, but do not fail if ECH is not attempted.
366+(The connection fails if ECH is attempted but fails.)
367+.IP hard
368+Attempt ECH and fail if that is not possible.
369+ECH only works with TLS 1.3 and also requires using
370+DoH or providing an ECHConfigList on the command line.
371+.IP ecl:<b64val>
372+A base64 encoded ECHConfigList that is used for ECH.
373+.IP pn:<name>
374+A name to use to over\-ride the "public_name" field of an ECHConfigList
375+(only available with OpenSSL TLS support)
376+.IP Errors
377+Most errors cause error
378+\fICURLE_ECH_REQUIRED\fP (101).
379+.RE
380+.IP
381+
382+If --ech is provided several times, the last set value is used.
383+
384+Example:
385+.nf
386+ curl --ech true https://example.com
387+.fi
388+
389+See also \fI\-\-doh\-url\fP. Added in 8.8.0.
390 .IP "\-\-egd\-file <file>"
391 (TLS) Deprecated option (added in 7.84.0). Prior to that it only had an effect on
392 curl if built to use old versions of OpenSSL.
393@@ -1323,6 +1358,26 @@ Example:
394 .fi
395
396 See also \fI\-\-connect\-timeout\fP.
397+.IP "\-f, \-\-fail"
398+(HTTP) Fail fast with no output at all on server errors. This is useful to enable
399+scripts and users to better deal with failed attempts. In normal cases when an
400+HTTP server fails to deliver a document, it returns an HTML document stating
401+so (which often also describes why and more). This command line option
402+prevents curl from outputting that and return error 22.
403+
404+This method is not fail\-safe and there are occasions where non\-successful
405+response codes slip through, especially when authentication is involved
406+(response codes 401 and 407).
407+
408+Providing --fail multiple times has no extra effect.
409+Disable it again with \-\-no-fail.
410+
411+Example:
412+.nf
413+ curl --fail https://example.com
414+.fi
415+
416+See also \fI\-\-fail\-with\-body\fP and \fI\-\-fail\-early\fP. This option is mutually exclusive to \fI\-\-fail\-with\-body\fP.
417 .IP "\-\-fail\-early"
418 Fail and exit on the first detected transfer error.
419
420@@ -1369,26 +1424,6 @@ Example:
421 .fi
422
423 See also \fI-f, \-\-fail\fP and \fI\-\-fail\-early\fP. This option is mutually exclusive to \fI-f, \-\-fail\fP. Added in 7.76.0.
424-.IP "\-f, \-\-fail"
425-(HTTP) Fail fast with no output at all on server errors. This is useful to enable
426-scripts and users to better deal with failed attempts. In normal cases when an
427-HTTP server fails to deliver a document, it returns an HTML document stating
428-so (which often also describes why and more). This command line option
429-prevents curl from outputting that and return error 22.
430-
431-This method is not fail\-safe and there are occasions where non\-successful
432-response codes slip through, especially when authentication is involved
433-(response codes 401 and 407).
434-
435-Providing --fail multiple times has no extra effect.
436-Disable it again with \-\-no-fail.
437-
438-Example:
439-.nf
440- curl --fail https://example.com
441-.fi
442-
443-See also \fI\-\-fail\-with\-body\fP and \fI\-\-fail\-early\fP. This option is mutually exclusive to \fI\-\-fail\-with\-body\fP.
444 .IP "\-\-false\-start"
445 (TLS) Use false start during the TLS handshake. False start is a mode where a TLS
446 client starts sending application data before verifying the server\(aqs Finished
447@@ -1406,33 +1441,6 @@ Example:
448 .fi
449
450 See also \fI\-\-tcp\-fastopen\fP.
451-.IP "\-\-form\-escape"
452-(HTTP) Pass on names of multipart form fields and files using backslash\-escaping
453-instead of percent\-encoding.
454-
455-If --form-escape is provided several times, the last set value is used.
456-
457-Example:
458-.nf
459- curl --form-escape -F 'field\\name=curl' -F 'file=@load"this' https://example.com
460-.fi
461-
462-See also \fI-F, \-\-form\fP. Added in 7.81.0.
463-.IP "\-\-form\-string <name=string>"
464-(HTTP SMTP IMAP) Similar to \fI\-F, \-\-form\fP except that the value string for the named parameter is used
465-literally. Leading @ and < characters, and the ";type=" string in the value
466-have no special meaning. Use this in preference to \fI\-F, \-\-form\fP if there is any
467-possibility that the string value may accidentally trigger the @ or <
468-features of \fI\-F, \-\-form\fP.
469-
470---form-string can be used several times in a command line
471-
472-Example:
473-.nf
474- curl --form-string "name=data" https://example.com
475-.fi
476-
477-See also \fI-F, \-\-form\fP.
478 .IP "\-F, \-\-form <name=content>"
479 (HTTP SMTP IMAP) For the HTTP protocol family, emulate a filled\-in form in which a user has
480 pressed the submit button. This makes curl POST data using the Content\-Type
481@@ -1591,6 +1599,33 @@ Example:
482 .fi
483
484 See also \fI-d, \-\-data\fP, \fI\-\-form\-string\fP and \fI\-\-form\-escape\fP. This option is mutually exclusive to \fI-d, \-\-data\fP and \fI-I, \-\-head\fP and \fI-T, \-\-upload\-file\fP.
485+.IP "\-\-form\-escape"
486+(HTTP) Pass on names of multipart form fields and files using backslash\-escaping
487+instead of percent\-encoding.
488+
489+If --form-escape is provided several times, the last set value is used.
490+
491+Example:
492+.nf
493+ curl --form-escape -F 'field\\name=curl' -F 'file=@load"this' https://example.com
494+.fi
495+
496+See also \fI-F, \-\-form\fP. Added in 7.81.0.
497+.IP "\-\-form\-string <name=string>"
498+(HTTP SMTP IMAP) Similar to \fI\-F, \-\-form\fP except that the value string for the named parameter is used
499+literally. Leading @ and < characters, and the ";type=" string in the value
500+have no special meaning. Use this in preference to \fI\-F, \-\-form\fP if there is any
501+possibility that the string value may accidentally trigger the @ or <
502+features of \fI\-F, \-\-form\fP.
503+
504+--form-string can be used several times in a command line
505+
506+Example:
507+.nf
508+ curl --form-string "name=data" https://example.com
509+.fi
510+
511+See also \fI-F, \-\-form\fP.
512 .IP "\-\-ftp\-account <data>"
513 (FTP) When an FTP server asks for "account data" after username and password has
514 been provided, this data is sent off using the ACCT command.
515@@ -1748,21 +1783,6 @@ Example:
516 .fi
517
518 See also \fI\-\-ftp\-pasv\fP.
519-.IP "\-\-ftp\-ssl\-ccc\-mode <active/passive>"
520-(FTP) Sets the CCC mode. The passive mode does not initiate the shutdown, but
521-instead waits for the server to do it, and does not reply to the shutdown from
522-the server. The active mode initiates the shutdown and waits for a reply from
523-the server.
524-
525-Providing --ftp-ssl-ccc-mode multiple times has no extra effect.
526-Disable it again with \-\-no-ftp-ssl-ccc-mode.
527-
528-Example:
529-.nf
530- curl --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/
531-.fi
532-
533-See also \fI\-\-ftp\-ssl\-ccc\fP.
534 .IP "\-\-ftp\-ssl\-ccc"
535 (FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after
536 authenticating. The rest of the control channel communication is be
537@@ -1778,6 +1798,21 @@ Example:
538 .fi
539
540 See also \fI\-\-ssl\fP and \fI\-\-ftp\-ssl\-ccc\-mode\fP.
541+.IP "\-\-ftp\-ssl\-ccc\-mode <active/passive>"
542+(FTP) Sets the CCC mode. The passive mode does not initiate the shutdown, but
543+instead waits for the server to do it, and does not reply to the shutdown from
544+the server. The active mode initiates the shutdown and waits for a reply from
545+the server.
546+
547+Providing --ftp-ssl-ccc-mode multiple times has no extra effect.
548+Disable it again with \-\-no-ftp-ssl-ccc-mode.
549+
550+Example:
551+.nf
552+ curl --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/
553+.fi
554+
555+See also \fI\-\-ftp\-ssl\-ccc\fP.
556 .IP "\-\-ftp\-ssl\-control"
557 (FTP) Require SSL/TLS for the FTP login, clear for transfer. Allows secure
558 authentication, but non\-encrypted data transfers for efficiency. Fails the
559@@ -2065,21 +2100,6 @@ Example:
560 .fi
561
562 See also \fI\-\-http1.0\fP and \fI\-\-http0.9\fP. This option is mutually exclusive to \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http2\-prior\-knowledge\fP and \fI\-\-http3\fP.
563-.IP "\-\-http2\-prior\-knowledge"
564-(HTTP) Issue a non\-TLS HTTP requests using HTTP/2 directly without HTTP/1.1 Upgrade.
565-It requires prior knowledge that the server supports HTTP/2 straight away.
566-HTTPS requests still do HTTP/2 the standard way with negotiated protocol
567-version in the TLS handshake.
568-
569-Providing --http2-prior-knowledge multiple times has no extra effect.
570-Disable it again with \-\-no-http2-prior-knowledge.
571-
572-Example:
573-.nf
574- curl --http2-prior-knowledge https://example.com
575-.fi
576-
577-See also \fI\-\-http2\fP and \fI\-\-http3\fP. \fI\-\-http2\-prior\-knowledge\fP requires that the underlying libcurl was built to support HTTP/2. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http3\fP.
578 .IP "\-\-http2"
579 (HTTP) Use HTTP/2.
580
581@@ -2101,26 +2121,21 @@ Example:
582 .fi
583
584 See also \fI\-\-http1.1\fP, \fI\-\-http3\fP and \fI\-\-no\-alpn\fP. \fI\-\-http2\fP requires that the underlying libcurl was built to support HTTP/2. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\-prior\-knowledge\fP and \fI\-\-http3\fP.
585-.IP "\-\-http3\-only"
586-(HTTP) Instructs curl to use HTTP/3 to the host in the URL, with no fallback to
587-earlier HTTP versions. HTTP/3 can only be used for HTTPS and not for HTTP
588-URLs. For HTTP, this option triggers an error.
589-
590-This option allows a user to avoid using the Alt\-Svc method of upgrading to
591-HTTP/3 when you know that the target speaks HTTP/3 on the given host and port.
592-
593-This option makes curl fail if a QUIC connection cannot be established, it
594-does not attempt any other HTTP versions on its own. Use \fI\-\-http3\fP for similar
595-functionality \fIwith\fP a fallback.
596+.IP "\-\-http2\-prior\-knowledge"
597+(HTTP) Issue a non\-TLS HTTP requests using HTTP/2 directly without HTTP/1.1 Upgrade.
598+It requires prior knowledge that the server supports HTTP/2 straight away.
599+HTTPS requests still do HTTP/2 the standard way with negotiated protocol
600+version in the TLS handshake.
601
602-Providing --http3-only multiple times has no extra effect.
603+Providing --http2-prior-knowledge multiple times has no extra effect.
604+Disable it again with \-\-no-http2-prior-knowledge.
605
606 Example:
607 .nf
608- curl --http3-only https://example.com
609+ curl --http2-prior-knowledge https://example.com
610 .fi
611
612-See also \fI\-\-http1.1\fP, \fI\-\-http2\fP and \fI\-\-http3\fP. \fI\-\-http3\-only\fP requires that the underlying libcurl was built to support HTTP/3. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http2\-prior\-knowledge\fP and \fI\-\-http3\fP. Added in 7.88.0.
613+See also \fI\-\-http2\fP and \fI\-\-http3\fP. \fI\-\-http2\-prior\-knowledge\fP requires that the underlying libcurl was built to support HTTP/2. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http3\fP.
614 .IP "\-\-http3"
615 (HTTP) Attempt HTTP/3 to the host in the URL, but fallback to earlier HTTP versions
616 if the HTTP/3 connection establishment fails. HTTP/3 is only available for
617@@ -2143,6 +2158,26 @@ Example:
618 .fi
619
620 See also \fI\-\-http1.1\fP and \fI\-\-http2\fP. \fI\-\-http3\fP requires that the underlying libcurl was built to support HTTP/3. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http2\-prior\-knowledge\fP and \fI\-\-http3\-only\fP. Added in 7.66.0.
621+.IP "\-\-http3\-only"
622+(HTTP) Instructs curl to use HTTP/3 to the host in the URL, with no fallback to
623+earlier HTTP versions. HTTP/3 can only be used for HTTPS and not for HTTP
624+URLs. For HTTP, this option triggers an error.
625+
626+This option allows a user to avoid using the Alt\-Svc method of upgrading to
627+HTTP/3 when you know that the target speaks HTTP/3 on the given host and port.
628+
629+This option makes curl fail if a QUIC connection cannot be established, it
630+does not attempt any other HTTP versions on its own. Use \fI\-\-http3\fP for similar
631+functionality \fIwith\fP a fallback.
632+
633+Providing --http3-only multiple times has no extra effect.
634+
635+Example:
636+.nf
637+ curl --http3-only https://example.com
638+.fi
639+
640+See also \fI\-\-http1.1\fP, \fI\-\-http2\fP and \fI\-\-http3\fP. \fI\-\-http3\-only\fP requires that the underlying libcurl was built to support HTTP/3. This option is mutually exclusive to \fI\-\-http1.1\fP and \fI\-\-http1.0\fP and \fI\-\-http2\fP and \fI\-\-http2\-prior\-knowledge\fP and \fI\-\-http3\fP. Added in 7.88.0.
641 .IP "\-\-ignore\-content\-length"
642 (FTP HTTP) For HTTP, Ignore the Content\-Length header. This is particularly useful for
643 servers running Apache 1.x, which reports incorrect Content\-Length for
644@@ -2360,18 +2395,6 @@ Example:
645 .fi
646
647 See also \fI\-\-no\-keepalive\fP and \fI-m, \-\-max\-time\fP.
648-.IP "\-\-key\-type <type>"
649-(TLS) Private key file type. Specify which type your \fI\-\-key\fP provided private key
650-is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
651-
652-If --key-type is provided several times, the last set value is used.
653-
654-Example:
655-.nf
656- curl --key-type DER --key here https://example.com
657-.fi
658-
659-See also \fI\-\-key\fP.
660 .IP "\-\-key <key>"
661 (TLS SSH) Private key filename. Allows you to provide your private key in this separate
662 file. For SSH, if not specified, curl tries the following candidates in order:
663@@ -2397,6 +2420,18 @@ Example:
664 .fi
665
666 See also \fI\-\-key\-type\fP and \fI-E, \-\-cert\fP.
667+.IP "\-\-key\-type <type>"
668+(TLS) Private key file type. Specify which type your \fI\-\-key\fP provided private key
669+is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
670+
671+If --key-type is provided several times, the last set value is used.
672+
673+Example:
674+.nf
675+ curl --key-type DER --key here https://example.com
676+.fi
677+
678+See also \fI\-\-key\fP.
679 .IP "\-\-krb <level>"
680 (FTP) Enable Kerberos authentication and use. The level must be entered and should
681 be one of \(aqclear\(aq, \(aqsafe\(aq, \(aqconfidential\(aq, or \(aqprivate\(aq. Should you use a
682@@ -2454,7 +2489,7 @@ Examples:
683
684 See also \fI\-\-rate\fP, \fI-Y, \-\-speed\-limit\fP and \fI-y, \-\-speed\-time\fP.
685 .IP "\-l, \-\-list\-only"
686-(FTP POP3 SFTP) When listing an FTP directory, force a name\-only view. Maybe particularly
687+(FTP POP3 SFTP FILE) When listing an FTP directory, force a name\-only view. Maybe particularly
688 useful if the user wants to machine\-parse the contents of an FTP directory
689 since the normal directory view does not use a standard look or format. When
690 used like this, the option causes an NLST command to be sent to the server
691@@ -2472,6 +2507,9 @@ When retrieving a specific email from POP3, this switch forces a LIST command
692 to be performed instead of RETR. This is particularly useful if the user wants
693 to see if a specific message\-id exists on the server and what size it is.
694
695+For FILE, this option has no effect yet as directories are always listed in
696+this mode.
697+
698 Note: When combined with \fI\-X, \-\-request\fP, this option can be used to send a UIDL
699 command instead, so the user may use the email\(aqs unique identifier rather than
700 its message\-id to make the request.
701@@ -2499,21 +2537,6 @@ Example:
702 .fi
703
704 See also \fI-g, \-\-globoff\fP.
705-.IP "\-\-location\-trusted"
706-(HTTP) Like \fI\-L, \-\-location\fP, but allows sending the name + password to all hosts that the
707-site may redirect to. This may or may not introduce a security breach if the
708-site redirects you to a site to which you send your authentication info (which
709-is clear\-text in the case of HTTP Basic authentication).
710-
711-Providing --location-trusted multiple times has no extra effect.
712-Disable it again with \-\-no-location-trusted.
713-
714-Example:
715-.nf
716- curl --location-trusted -u user:password https://example.com
717-.fi
718-
719-See also \fI-u, \-\-user\fP.
720 .IP "\-L, \-\-location"
721 (HTTP) If the server reports that the requested page has moved to a different
722 location (indicated with a Location: header and a 3XX response code), this
723@@ -2546,6 +2569,21 @@ Example:
724 .fi
725
726 See also \fI\-\-resolve\fP and \fI\-\-alt\-svc\fP.
727+.IP "\-\-location\-trusted"
728+(HTTP) Like \fI\-L, \-\-location\fP, but allows sending the name + password to all hosts that the
729+site may redirect to. This may or may not introduce a security breach if the
730+site redirects you to a site to which you send your authentication info (which
731+is clear\-text in the case of HTTP Basic authentication).
732+
733+Providing --location-trusted multiple times has no extra effect.
734+Disable it again with \-\-no-location-trusted.
735+
736+Example:
737+.nf
738+ curl --location-trusted -u user:password https://example.com
739+.fi
740+
741+See also \fI-u, \-\-user\fP.
742 .IP "\-\-login\-options <options>"
743 (IMAP LDAP POP3 SMTP) Specify the login options to use during server authentication.
744
745@@ -2593,6 +2631,26 @@ Example:
746 .fi
747
748 See also \fI\-\-mail\-rcpt\fP and \fI\-\-mail\-auth\fP.
749+.IP "\-\-mail\-rcpt <address>"
750+(SMTP) Specify a single email address, username or mailing list name. Repeat this
751+option several times to send to multiple recipients.
752+
753+When performing an address verification (\fBVRFY\fP command), the recipient
754+should be specified as the username or username and domain (as per Section 3.5
755+of RFC 5321).
756+
757+When performing a mailing list expand (EXPN command), the recipient should be
758+specified using the mailing list name, such as "Friends" or "London\-Office".
759+
760+
761+--mail-rcpt can be used several times in a command line
762+
763+Example:
764+.nf
765+ curl --mail-rcpt user@example.net smtp://example.com
766+.fi
767+
768+See also \fI\-\-mail\-rcpt\-allowfails\fP.
769 .IP "\-\-mail\-rcpt\-allowfails"
770 (SMTP) When sending data to multiple recipients, by default curl aborts SMTP
771 conversation if at least one of the recipients causes RCPT TO command to
772@@ -2615,26 +2673,6 @@ Example:
773 .fi
774
775 See also \fI\-\-mail\-rcpt\fP. Added in 7.69.0.
776-.IP "\-\-mail\-rcpt <address>"
777-(SMTP) Specify a single email address, username or mailing list name. Repeat this
778-option several times to send to multiple recipients.
779-
780-When performing an address verification (\fBVRFY\fP command), the recipient
781-should be specified as the username or username and domain (as per Section 3.5
782-of RFC 5321).
783-
784-When performing a mailing list expand (EXPN command), the recipient should be
785-specified using the mailing list name, such as "Friends" or "London\-Office".
786-
787-
788---mail-rcpt can be used several times in a command line
789-
790-Example:
791-.nf
792- curl --mail-rcpt user@example.net smtp://example.com
793-.fi
794-
795-See also \fI\-\-mail\-rcpt\-allowfails\fP.
796 .IP "\-M, \-\-manual"
797 Manual. Display the huge help text.
798
799@@ -2732,33 +2770,6 @@ Example:
800 .fi
801
802 See also \fI\-\-basic\fP, \fI\-\-ntlm\fP, \fI\-\-anyauth\fP and \fI\-\-proxy\-negotiate\fP.
803-.IP "\-\-netrc\-file <filename>"
804-Set the netrc file to use. Similar to \fI\-n, \-\-netrc\fP, except that you also provide
805-the path (absolute or relative).
806-
807-It abides by \fI\-\-netrc\-optional\fP if specified.
808-
809-If --netrc-file is provided several times, the last set value is used.
810-
811-Example:
812-.nf
813- curl --netrc-file netrc https://example.com
814-.fi
815-
816-See also \fI-n, \-\-netrc\fP, \fI-u, \-\-user\fP and \fI-K, \-\-config\fP. This option is mutually exclusive to \fI-n, \-\-netrc\fP.
817-.IP "\-\-netrc\-optional"
818-Similar to \fI\-n, \-\-netrc\fP, but this option makes the .netrc usage \fBoptional\fP
819-and not mandatory as the \fI\-n, \-\-netrc\fP option does.
820-
821-Providing --netrc-optional multiple times has no extra effect.
822-Disable it again with \-\-no-netrc-optional.
823-
824-Example:
825-.nf
826- curl --netrc-optional https://example.com
827-.fi
828-
829-See also \fI\-\-netrc\-file\fP. This option is mutually exclusive to \fI-n, \-\-netrc\fP.
830 .IP "\-n, \-\-netrc"
831 Make curl scan the \fI.netrc\fP file in the user\(aqs home directory for login name
832 and password. This is typically used for FTP on Unix. If used with HTTP, curl
833@@ -2789,6 +2800,33 @@ Example:
834 .fi
835
836 See also \fI\-\-netrc\-file\fP, \fI-K, \-\-config\fP and \fI-u, \-\-user\fP. This option is mutually exclusive to \fI\-\-netrc\-file\fP and \fI\-\-netrc\-optional\fP.
837+.IP "\-\-netrc\-file <filename>"
838+Set the netrc file to use. Similar to \fI\-n, \-\-netrc\fP, except that you also provide
839+the path (absolute or relative).
840+
841+It abides by \fI\-\-netrc\-optional\fP if specified.
842+
843+If --netrc-file is provided several times, the last set value is used.
844+
845+Example:
846+.nf
847+ curl --netrc-file netrc https://example.com
848+.fi
849+
850+See also \fI-n, \-\-netrc\fP, \fI-u, \-\-user\fP and \fI-K, \-\-config\fP. This option is mutually exclusive to \fI-n, \-\-netrc\fP.
851+.IP "\-\-netrc\-optional"
852+Similar to \fI\-n, \-\-netrc\fP, but this option makes the .netrc usage \fBoptional\fP
853+and not mandatory as the \fI\-n, \-\-netrc\fP option does.
854+
855+Providing --netrc-optional multiple times has no extra effect.
856+Disable it again with \-\-no-netrc-optional.
857+
858+Example:
859+.nf
860+ curl --netrc-optional https://example.com
861+.fi
862+
863+See also \fI\-\-netrc\-file\fP. This option is mutually exclusive to \fI-n, \-\-netrc\fP.
864 .IP "\-:, \-\-next"
865 Use a separate operation for the following URL and associated options. This
866 allows you to send several URL requests, each with their own specific options,
867@@ -2960,18 +2998,6 @@ Example:
868 .fi
869
870 See also \fI-x, \-\-proxy\fP.
871-.IP "\-\-ntlm\-wb"
872-(HTTP) Enables NTLM much in the style \fI\-\-ntlm\fP does, but hand over the authentication
873-to the separate binary "ntlmauth" application that is executed when needed.
874-
875-Providing --ntlm-wb multiple times has no extra effect.
876-
877-Example:
878-.nf
879- curl --ntlm-wb -u user:password https://example.com
880-.fi
881-
882-See also \fI\-\-ntlm\fP and \fI\-\-proxy\-ntlm\fP.
883 .IP "\-\-ntlm"
884 (HTTP) Use NTLM authentication. The NTLM authentication method was designed by
885 Microsoft and is used by IIS web servers. It is a proprietary protocol,
886@@ -2991,6 +3017,20 @@ Example:
887 .fi
888
889 See also \fI\-\-proxy\-ntlm\fP. \fI\-\-ntlm\fP requires that the underlying libcurl was built to support TLS. This option is mutually exclusive to \fI\-\-basic\fP and \fI\-\-negotiate\fP and \fI\-\-digest\fP and \fI\-\-anyauth\fP.
890+.IP "\-\-ntlm\-wb"
891+(HTTP) Deprecated option (added in 8.8.0).
892+
893+Enabled NTLM much in the style \fI\-\-ntlm\fP does, but handed over the authentication
894+to a separate executable that was executed when needed.
895+
896+Providing --ntlm-wb multiple times has no extra effect.
897+
898+Example:
899+.nf
900+ curl --ntlm-wb -u user:password https://example.com
901+.fi
902+
903+See also \fI\-\-ntlm\fP and \fI\-\-proxy\-ntlm\fP.
904 .IP "\-\-oauth2\-bearer <token>"
905 (IMAP LDAP POP3 SMTP HTTP) Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
906 is used in conjunction with the username which can be specified as part of the
907@@ -3006,24 +3046,6 @@ Example:
908 .fi
909
910 See also \fI\-\-basic\fP, \fI\-\-ntlm\fP and \fI\-\-digest\fP.
911-.IP "\-\-output\-dir <dir>"
912-Specify the directory in which files should be stored, when \fI\-O, \-\-remote\-name\fP or
913-\fI\-o, \-\-output\fP are used.
914-
915-The given output directory is used for all URLs and output options on the
916-command line, up until the first \fI\-:, \-\-next\fP.
917-
918-If the specified target directory does not exist, the operation fails unless
919-\fI\-\-create\-dirs\fP is also used.
920-
921-If --output-dir is provided several times, the last set value is used.
922-
923-Example:
924-.nf
925- curl --output-dir "tmp" -O https://example.com
926-.fi
927-
928-See also \fI-O, \-\-remote\-name\fP and \fI-J, \-\-remote\-header\-name\fP. Added in 7.73.0.
929 .IP "\-o, \-\-output <file>"
930 Write output to the given file instead of stdout. If you are using globbing to
931 fetch multiple documents, you should quote the URL and you can use "#"
932@@ -3089,6 +3111,39 @@ Examples:
933 .fi
934
935 See also \fI-O, \-\-remote\-name\fP, \fI\-\-remote\-name\-all\fP and \fI-J, \-\-remote\-header\-name\fP.
936+.IP "\-\-output\-dir <dir>"
937+Specify the directory in which files should be stored, when \fI\-O, \-\-remote\-name\fP or
938+\fI\-o, \-\-output\fP are used.
939+
940+The given output directory is used for all URLs and output options on the
941+command line, up until the first \fI\-:, \-\-next\fP.
942+
943+If the specified target directory does not exist, the operation fails unless
944+\fI\-\-create\-dirs\fP is also used.
945+
946+If --output-dir is provided several times, the last set value is used.
947+
948+Example:
949+.nf
950+ curl --output-dir "tmp" -O https://example.com
951+.fi
952+
953+See also \fI-O, \-\-remote\-name\fP and \fI-J, \-\-remote\-header\-name\fP. Added in 7.73.0.
954+.IP "\-Z, \-\-parallel"
955+Makes curl perform its transfers in parallel as compared to the regular serial
956+manner.
957+
958+This option is global and does not need to be specified for each use of --next.
959+
960+Providing --parallel multiple times has no extra effect.
961+Disable it again with \-\-no-parallel.
962+
963+Example:
964+.nf
965+ curl --parallel https://example.com -o file1 https://example.com -o file2
966+.fi
967+
968+See also \fI-:, \-\-next\fP and \fI-v, \-\-verbose\fP. Added in 7.66.0.
969 .IP "\-\-parallel\-immediate"
970 When doing parallel transfers, this option instructs curl that it should
971 rather prefer opening up more connections in parallel at once rather than
972@@ -3123,21 +3178,6 @@ Example:
973 .fi
974
975 See also \fI-Z, \-\-parallel\fP. Added in 7.66.0.
976-.IP "\-Z, \-\-parallel"
977-Makes curl perform its transfers in parallel as compared to the regular serial
978-manner.
979-
980-This option is global and does not need to be specified for each use of --next.
981-
982-Providing --parallel multiple times has no extra effect.
983-Disable it again with \-\-no-parallel.
984-
985-Example:
986-.nf
987- curl --parallel https://example.com -o file1 https://example.com -o file2
988-.fi
989-
990-See also \fI-:, \-\-next\fP and \fI-v, \-\-verbose\fP. Added in 7.66.0.
991 .IP "\-\-pass <phrase>"
992 (SSH TLS) Passphrase for the private key.
993
994@@ -3291,6 +3331,43 @@ Example:
995 .fi
996
997 See also \fI\-\-styled\-output\fP.
998+.IP "\-\-proto <protocols>"
999+Limit what protocols to allow for transfers. Protocols are evaluated left to
1000+right, are comma separated, and are each a protocol name or \(aqall\(aq, optionally
1001+prefixed by zero or more modifiers. Available modifiers are:
1002+.RS
1003+.IP +
1004+Permit this protocol in addition to protocols already permitted (this is
1005+the default if no modifier is used).
1006+.IP -
1007+Deny this protocol, removing it from the list of protocols already permitted.
1008+.IP =
1009+Permit only this protocol (ignoring the list already permitted), though
1010+subject to later modification by subsequent entries in the comma separated
1011+list.
1012+.RE
1013+.IP
1014+For example: \fI\-\-proto\fP \-ftps uses the default protocols, but disables ftps
1015+
1016+\fI\-\-proto\fP \-all,https,+http only enables http and https
1017+
1018+\fI\-\-proto\fP =http,https also only enables http and https
1019+
1020+Unknown and disabled protocols produce a warning. This allows scripts to
1021+safely rely on being able to disable potentially dangerous protocols, without
1022+relying upon support for that protocol being built into curl to avoid an error.
1023+
1024+This option can be used multiple times, in which case the effect is the same
1025+as concatenating the protocols into one instance of the option.
1026+
1027+If --proto is provided several times, the last set value is used.
1028+
1029+Example:
1030+.nf
1031+ curl --proto =http,https,sftp https://example.com
1032+.fi
1033+
1034+See also \fI\-\-proto\-redir\fP and \fI\-\-proto\-default\fP.
1035 .IP "\-\-proto\-default <protocol>"
1036 Use \fIprotocol\fP for any provided URL missing a scheme.
1037
1038@@ -3331,43 +3408,55 @@ Example:
1039 .fi
1040
1041 See also \fI\-\-proto\fP.
1042-.IP "\-\-proto <protocols>"
1043-Limit what protocols to allow for transfers. Protocols are evaluated left to
1044-right, are comma separated, and are each a protocol name or \(aqall\(aq, optionally
1045-prefixed by zero or more modifiers. Available modifiers are:
1046-.RS
1047-.IP +
1048-Permit this protocol in addition to protocols already permitted (this is
1049-the default if no modifier is used).
1050-.IP -
1051-Deny this protocol, removing it from the list of protocols already permitted.
1052-.IP =
1053-Permit only this protocol (ignoring the list already permitted), though
1054-subject to later modification by subsequent entries in the comma separated
1055-list.
1056-.RE
1057-.IP
1058-For example: \fI\-\-proto\fP \-ftps uses the default protocols, but disables ftps
1059+.IP "\-x, \-\-proxy [protocol://]host[:port]"
1060+Use the specified proxy.
1061+
1062+The proxy string can be specified with a protocol:// prefix. No protocol
1063+specified or http:// it is treated as an HTTP proxy. Use socks4://,
1064+socks4a://, socks5:// or socks5h:// to request a specific SOCKS version to be
1065+used.
1066+
1067+Unix domain sockets are supported for socks proxy. Set localhost for the host
1068+part. e.g. socks5h://localhost/path/to/socket.sock
1069+
1070+HTTPS proxy support works set with the https:// protocol prefix for OpenSSL
1071+and GnuTLS (added in 7.52.0). It also works for BearSSL, mbedTLS, rustls,
1072+Schannel, Secure Transport and wolfSSL (added in 7.87.0).
1073+
1074+Unrecognized and unsupported proxy protocols cause an error (added in 7.52.0).
1075+Ancient curl versions ignored unknown schemes and used http:// instead.
1076+
1077+If the port number is not specified in the proxy string, it is assumed to be
1078+1080.
1079
1080-\fI\-\-proto\fP \-all,https,+http only enables http and https
1081+This option overrides existing environment variables that set the proxy to
1082+use. If there is an environment variable setting a proxy, you can set proxy to
1083+\&"" to override it.
1084
1085-\fI\-\-proto\fP =http,https also only enables http and https
1086+All operations that are performed over an HTTP proxy are transparently
1087+converted to HTTP. It means that certain protocol specific operations might
1088+not be available. This is not the case if you can tunnel through the proxy, as
1089+one with the \fI\-p, \-\-proxytunnel\fP option.
1090
1091-Unknown and disabled protocols produce a warning. This allows scripts to
1092-safely rely on being able to disable potentially dangerous protocols, without
1093-relying upon support for that protocol being built into curl to avoid an error.
1094+User and password that might be provided in the proxy string are URL decoded
1095+by curl. This allows you to pass in special characters such as @ by using %40
1096+or pass in a colon with %3a.
1097
1098-This option can be used multiple times, in which case the effect is the same
1099-as concatenating the protocols into one instance of the option.
1100+The proxy host can be specified the same way as the proxy environment
1101+variables, including the protocol prefix (http://) and the embedded user +
1102+password.
1103
1104-If --proto is provided several times, the last set value is used.
1105+When a proxy is used, the active FTP mode as set with \fI\-P, \-\-ftp\-port\fP, cannot be
1106+used.
1107+
1108+If --proxy is provided several times, the last set value is used.
1109
1110 Example:
1111 .nf
1112- curl --proto =http,https,sftp https://example.com
1113+ curl --proxy http://proxy.example https://example.com
1114 .fi
1115
1116-See also \fI\-\-proto\-redir\fP and \fI\-\-proto\-default\fP.
1117+See also \fI\-\-socks5\fP and \fI\-\-proxy\-basic\fP.
1118 .IP "\-\-proxy\-anyauth"
1119 Automatically pick a suitable authentication method when communicating with
1120 the given HTTP proxy. This might cause an extra request/response round\-trip.
1121@@ -3444,28 +3533,28 @@ Example:
1122 .fi
1123
1124 See also \fI\-\-proxy\-cacert\fP, \fI-x, \-\-proxy\fP and \fI\-\-capath\fP. Added in 7.52.0.
1125-.IP "\-\-proxy\-cert\-type <type>"
1126-Same as \fI\-\-cert\-type\fP but used in HTTPS proxy context.
1127+.IP "\-\-proxy\-cert <cert[:passwd]>"
1128+Same as \fI\-E, \-\-cert\fP but used in HTTPS proxy context.
1129
1130-If --proxy-cert-type is provided several times, the last set value is used.
1131+If --proxy-cert is provided several times, the last set value is used.
1132
1133 Example:
1134 .nf
1135- curl --proxy-cert-type PEM --proxy-cert file -x https://proxy https://example.com
1136+ curl --proxy-cert file -x https://proxy https://example.com
1137 .fi
1138
1139-See also \fI\-\-proxy\-cert\fP. Added in 7.52.0.
1140-.IP "\-\-proxy\-cert <cert[:passwd]>"
1141-Same as \fI\-E, \-\-cert\fP but used in HTTPS proxy context.
1142+See also \fI\-\-proxy\-cert\-type\fP. Added in 7.52.0.
1143+.IP "\-\-proxy\-cert\-type <type>"
1144+Same as \fI\-\-cert\-type\fP but used in HTTPS proxy context.
1145
1146-If --proxy-cert is provided several times, the last set value is used.
1147+If --proxy-cert-type is provided several times, the last set value is used.
1148
1149 Example:
1150 .nf
1151- curl --proxy-cert file -x https://proxy https://example.com
1152+ curl --proxy-cert-type PEM --proxy-cert file -x https://proxy https://example.com
1153 .fi
1154
1155-See also \fI\-\-proxy\-cert\-type\fP. Added in 7.52.0.
1156+See also \fI\-\-proxy\-cert\fP. Added in 7.52.0.
1157 .IP "\-\-proxy\-ciphers <list>"
1158 Same as \fI\-\-ciphers\fP but used in HTTPS proxy context.
1159
1160@@ -3575,28 +3664,28 @@ Example:
1161 .fi
1162
1163 See also \fI-x, \-\-proxy\fP and \fI-k, \-\-insecure\fP. Added in 7.52.0.
1164-.IP "\-\-proxy\-key\-type <type>"
1165-Same as \fI\-\-key\-type\fP but used in HTTPS proxy context.
1166+.IP "\-\-proxy\-key <key>"
1167+Same as \fI\-\-key\fP but used in HTTPS proxy context.
1168
1169-If --proxy-key-type is provided several times, the last set value is used.
1170+If --proxy-key is provided several times, the last set value is used.
1171
1172 Example:
1173 .nf
1174- curl --proxy-key-type DER --proxy-key here -x https://proxy https://example.com
1175+ curl --proxy-key here -x https://proxy https://example.com
1176 .fi
1177
1178-See also \fI\-\-proxy\-key\fP and \fI-x, \-\-proxy\fP. Added in 7.52.0.
1179-.IP "\-\-proxy\-key <key>"
1180-Same as \fI\-\-key\fP but used in HTTPS proxy context.
1181+See also \fI\-\-proxy\-key\-type\fP and \fI-x, \-\-proxy\fP. Added in 7.52.0.
1182+.IP "\-\-proxy\-key\-type <type>"
1183+Same as \fI\-\-key\-type\fP but used in HTTPS proxy context.
1184
1185-If --proxy-key is provided several times, the last set value is used.
1186+If --proxy-key-type is provided several times, the last set value is used.
1187
1188 Example:
1189 .nf
1190- curl --proxy-key here -x https://proxy https://example.com
1191+ curl --proxy-key-type DER --proxy-key here -x https://proxy https://example.com
1192 .fi
1193
1194-See also \fI\-\-proxy\-key\-type\fP and \fI-x, \-\-proxy\fP. Added in 7.52.0.
1195+See also \fI\-\-proxy\-key\fP and \fI-x, \-\-proxy\fP. Added in 7.52.0.
1196 .IP "\-\-proxy\-negotiate"
1197 Use HTTP Negotiate (SPNEGO) authentication when communicating with the given
1198 proxy. Use \fI\-\-negotiate\fP for enabling HTTP Negotiate (SPNEGO) with a remote
1199@@ -3774,55 +3863,6 @@ Example:
1200 .fi
1201
1202 See also \fI\-\-proxy\-pass\fP.
1203-.IP "\-x, \-\-proxy [protocol://]host[:port]"
1204-Use the specified proxy.
1205-
1206-The proxy string can be specified with a protocol:// prefix. No protocol
1207-specified or http:// it is treated as an HTTP proxy. Use socks4://,
1208-socks4a://, socks5:// or socks5h:// to request a specific SOCKS version to be
1209-used.
1210-
1211-Unix domain sockets are supported for socks proxy. Set localhost for the host
1212-part. e.g. socks5h://localhost/path/to/socket.sock
1213-
1214-HTTPS proxy support works set with the https:// protocol prefix for OpenSSL
1215-and GnuTLS (added in 7.52.0). It also works for BearSSL, mbedTLS, rustls,
1216-Schannel, Secure Transport and wolfSSL (added in 7.87.0).
1217-
1218-Unrecognized and unsupported proxy protocols cause an error (added in 7.52.0).
1219-Ancient curl versions ignored unknown schemes and used http:// instead.
1220-
1221-If the port number is not specified in the proxy string, it is assumed to be
1222-1080.
1223-
1224-This option overrides existing environment variables that set the proxy to
1225-use. If there is an environment variable setting a proxy, you can set proxy to
1226-\&"" to override it.
1227-
1228-All operations that are performed over an HTTP proxy are transparently
1229-converted to HTTP. It means that certain protocol specific operations might
1230-not be available. This is not the case if you can tunnel through the proxy, as
1231-one with the \fI\-p, \-\-proxytunnel\fP option.
1232-
1233-User and password that might be provided in the proxy string are URL decoded
1234-by curl. This allows you to pass in special characters such as @ by using %40
1235-or pass in a colon with %3a.
1236-
1237-The proxy host can be specified the same way as the proxy environment
1238-variables, including the protocol prefix (http://) and the embedded user +
1239-password.
1240-
1241-When a proxy is used, the active FTP mode as set with \fI\-P, \-\-ftp\-port\fP, cannot be
1242-used.
1243-
1244-If --proxy is provided several times, the last set value is used.
1245-
1246-Example:
1247-.nf
1248- curl --proxy http://proxy.example https://example.com
1249-.fi
1250-
1251-See also \fI\-\-socks5\fP and \fI\-\-proxy\-basic\fP.
1252 .IP "\-\-proxy1.0 <host[:port]>"
1253 Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
1254 assumed at port 1080.
1255@@ -4098,21 +4138,6 @@ Example:
1256 curl -OJ https://example.com/file
1257 .fi
1258
1259-See also \fI-O, \-\-remote\-name\fP.
1260-.IP "\-\-remote\-name\-all"
1261-Change the default action for all given URLs to be dealt with as if
1262-\fI\-O, \-\-remote\-name\fP were used for each one. If you want to disable that for a
1263-specific URL after \fI\-\-remote\-name\-all\fP has been used, you must use "\-o \-" or
1264-\fI\-\-no\-remote\-name\fP.
1265-
1266-Providing --remote-name-all multiple times has no extra effect.
1267-Disable it again with \-\-no-remote-name-all.
1268-
1269-Example:
1270-.nf
1271- curl --remote-name-all ftp://example.com/file1 ftp://example.com/file2
1272-.fi
1273-
1274 See also \fI-O, \-\-remote\-name\fP.
1275 .IP "\-O, \-\-remote\-name"
1276 Write output to a local file named like the remote file we get. (Only the file
1277@@ -4141,6 +4166,21 @@ Example:
1278 .fi
1279
1280 See also \fI\-\-remote\-name\-all\fP, \fI\-\-output\-dir\fP and \fI-J, \-\-remote\-header\-name\fP.
1281+.IP "\-\-remote\-name\-all"
1282+Change the default action for all given URLs to be dealt with as if
1283+\fI\-O, \-\-remote\-name\fP were used for each one. If you want to disable that for a
1284+specific URL after \fI\-\-remote\-name\-all\fP has been used, you must use "\-o \-" or
1285+\fI\-\-no\-remote\-name\fP.
1286+
1287+Providing --remote-name-all multiple times has no extra effect.
1288+Disable it again with \-\-no-remote-name-all.
1289+
1290+Example:
1291+.nf
1292+ curl --remote-name-all ftp://example.com/file1 ftp://example.com/file2
1293+.fi
1294+
1295+See also \fI-O, \-\-remote\-name\fP.
1296 .IP "\-R, \-\-remote\-time"
1297 Makes curl attempt to figure out the timestamp of the remote file that is
1298 getting downloaded, and if that is available make the local file get that same
1299@@ -4171,23 +4211,6 @@ Example:
1300 .fi
1301
1302 See also \fI-f, \-\-fail\fP. Added in 7.83.0.
1303-.IP "\-\-request\-target <path>"
1304-(HTTP) Use an alternative target (path) instead of using the path as provided in the
1305-URL. Particularly useful when wanting to issue HTTP requests without leading
1306-slash or other data that does not follow the regular URL pattern, like
1307-\&"OPTIONS *".
1308-
1309-curl passes on the verbatim string you give it its the request without any
1310-filter or other safe guards. That includes white space and control characters.
1311-
1312-If --request-target is provided several times, the last set value is used.
1313-
1314-Example:
1315-.nf
1316- curl --request-target "*" -X OPTIONS https://example.com
1317-.fi
1318-
1319-See also \fI-X, \-\-request\fP. Added in 7.55.0.
1320 .IP "\-X, \-\-request <method>"
1321 Change the method to use when starting the transfer.
1322
1323@@ -4235,6 +4258,23 @@ Examples:
1324 .fi
1325
1326 See also \fI\-\-request\-target\fP.
1327+.IP "\-\-request\-target <path>"
1328+(HTTP) Use an alternative target (path) instead of using the path as provided in the
1329+URL. Particularly useful when wanting to issue HTTP requests without leading
1330+slash or other data that does not follow the regular URL pattern, like
1331+\&"OPTIONS *".
1332+
1333+curl passes on the verbatim string you give it its the request without any
1334+filter or other safe guards. That includes white space and control characters.
1335+
1336+If --request-target is provided several times, the last set value is used.
1337+
1338+Example:
1339+.nf
1340+ curl --request-target "*" -X OPTIONS https://example.com
1341+.fi
1342+
1343+See also \fI-X, \-\-request\fP. Added in 7.55.0.
1344 .IP "\-\-resolve <[+]host:port:addr[,addr]...>"
1345 Provide a custom address for a specific host and port pair. Using this, you
1346 can make the curl requests(s) use a specified address and prevent the
1347@@ -4273,6 +4313,30 @@ Example:
1348 .fi
1349
1350 See also \fI\-\-connect\-to\fP and \fI\-\-alt\-svc\fP.
1351+.IP "\-\-retry <num>"
1352+If a transient error is returned when curl tries to perform a transfer, it
1353+retries this number of times before giving up. Setting the number to 0
1354+makes curl do no retries (which is the default). Transient error means either:
1355+a timeout, an FTP 4xx response code or an HTTP 408, 429, 500, 502, 503 or 504
1356+response code.
1357+
1358+When curl is about to retry a transfer, it first waits one second and then for
1359+all forthcoming retries it doubles the waiting time until it reaches 10
1360+minutes which then remains delay between the rest of the retries. By using
1361+\fI\-\-retry\-delay\fP you disable this exponential backoff algorithm. See also
1362+\fI\-\-retry\-max\-time\fP to limit the total time allowed for retries.
1363+
1364+curl complies with the Retry\-After: response header if one was present to know
1365+when to issue the next retry (added in 7.66.0).
1366+
1367+If --retry is provided several times, the last set value is used.
1368+
1369+Example:
1370+.nf
1371+ curl --retry 7 https://example.com
1372+.fi
1373+
1374+See also \fI\-\-retry\-max\-time\fP.
1375 .IP "\-\-retry\-all\-errors"
1376 Retry on any error. This option is used together with \fI\-\-retry\fP.
1377
1378@@ -4351,30 +4415,6 @@ Example:
1379 .fi
1380
1381 See also \fI\-\-retry\fP.
1382-.IP "\-\-retry <num>"
1383-If a transient error is returned when curl tries to perform a transfer, it
1384-retries this number of times before giving up. Setting the number to 0
1385-makes curl do no retries (which is the default). Transient error means either:
1386-a timeout, an FTP 4xx response code or an HTTP 408, 429, 500, 502, 503 or 504
1387-response code.
1388-
1389-When curl is about to retry a transfer, it first waits one second and then for
1390-all forthcoming retries it doubles the waiting time until it reaches 10
1391-minutes which then remains delay between the rest of the retries. By using
1392-\fI\-\-retry\-delay\fP you disable this exponential backoff algorithm. See also
1393-\fI\-\-retry\-max\-time\fP to limit the total time allowed for retries.
1394-
1395-curl complies with the Retry\-After: response header if one was present to know
1396-when to issue the next retry (added in 7.66.0).
1397-
1398-If --retry is provided several times, the last set value is used.
1399-
1400-Example:
1401-.nf
1402- curl --retry 7 https://example.com
1403-.fi
1404-
1405-See also \fI\-\-retry\-max\-time\fP.
1406 .IP "\-\-sasl\-authzid <identity>"
1407 Use this authorization identity (\fBauthzid\fP), during SASL PLAIN
1408 authentication, in addition to the authentication identity (\fBauthcid\fP) as
1409@@ -4492,14 +4532,42 @@ used with an HTTP/HTTPS proxy (added in 7.52.0). In such a case, curl first
1410 connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or
1411 HTTPS proxy.
1412
1413-If --socks4a is provided several times, the last set value is used.
1414+If --socks4a is provided several times, the last set value is used.
1415+
1416+Example:
1417+.nf
1418+ curl --socks4a hostname:4096 https://example.com
1419+.fi
1420+
1421+See also \fI\-\-socks4\fP, \fI\-\-socks5\fP and \fI\-\-socks5\-hostname\fP.
1422+.IP "\-\-socks5 <host[:port]>"
1423+Use the specified SOCKS5 proxy \- but resolve the hostname locally. If the
1424+port number is not specified, it is assumed at port 1080.
1425+
1426+To specify proxy on a unix domain socket, use localhost for host, e.g.
1427+\&"socks5://localhost/path/to/socket.sock"
1428+
1429+This option overrides any previous use of \fI\-x, \-\-proxy\fP, as they are mutually
1430+exclusive.
1431+
1432+This option is superfluous since you can specify a socks5 proxy with \fI\-x, \-\-proxy\fP
1433+using a socks5:// protocol prefix.
1434+
1435+\fI\-\-preproxy\fP can be used to specify a SOCKS proxy at the same time \fI\-x, \-\-proxy\fP is
1436+used with an HTTP/HTTPS proxy (added in 7.52.0). In such a case, curl first
1437+connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or
1438+HTTPS proxy.
1439+
1440+This option (as well as \fI\-\-socks4\fP) does not work with IPV6, FTPS or LDAP.
1441+
1442+If --socks5 is provided several times, the last set value is used.
1443
1444 Example:
1445 .nf
1446- curl --socks4a hostname:4096 https://example.com
1447+ curl --socks5 proxy.example:7000 https://example.com
1448 .fi
1449
1450-See also \fI\-\-socks4\fP, \fI\-\-socks5\fP and \fI\-\-socks5\-hostname\fP.
1451+See also \fI\-\-socks5\-hostname\fP and \fI\-\-socks4a\fP.
1452 .IP "\-\-socks5\-basic"
1453 Use username/password authentication when connecting to a SOCKS5 proxy. The
1454 username/password authentication is enabled by default. Use \fI\-\-socks5\-gssapi\fP to
1455@@ -4512,6 +4580,21 @@ Example:
1456 curl --socks5-basic --socks5 hostname:4096 https://example.com
1457 .fi
1458
1459+See also \fI\-\-socks5\fP. Added in 7.55.0.
1460+.IP "\-\-socks5\-gssapi"
1461+Use GSS\-API authentication when connecting to a SOCKS5 proxy. The GSS\-API
1462+authentication is enabled by default (if curl is compiled with GSS\-API
1463+support). Use \fI\-\-socks5\-basic\fP to force username/password authentication to
1464+SOCKS5 proxies.
1465+
1466+Providing --socks5-gssapi multiple times has no extra effect.
1467+Disable it again with \-\-no-socks5-gssapi.
1468+
1469+Example:
1470+.nf
1471+ curl --socks5-gssapi --socks5 hostname:4096 https://example.com
1472+.fi
1473+
1474 See also \fI\-\-socks5\fP. Added in 7.55.0.
1475 .IP "\-\-socks5\-gssapi\-nec"
1476 As part of the GSS\-API negotiation a protection mode is negotiated. RFC 1961
1477@@ -4539,21 +4622,6 @@ Example:
1478 .fi
1479
1480 See also \fI\-\-socks5\fP.
1481-.IP "\-\-socks5\-gssapi"
1482-Use GSS\-API authentication when connecting to a SOCKS5 proxy. The GSS\-API
1483-authentication is enabled by default (if curl is compiled with GSS\-API
1484-support). Use \fI\-\-socks5\-basic\fP to force username/password authentication to
1485-SOCKS5 proxies.
1486-
1487-Providing --socks5-gssapi multiple times has no extra effect.
1488-Disable it again with \-\-no-socks5-gssapi.
1489-
1490-Example:
1491-.nf
1492- curl --socks5-gssapi --socks5 hostname:4096 https://example.com
1493-.fi
1494-
1495-See also \fI\-\-socks5\fP. Added in 7.55.0.
1496 .IP "\-\-socks5\-hostname <host[:port]>"
1497 Use the specified SOCKS5 proxy (and let the proxy resolve the hostname). If
1498 the port number is not specified, it is assumed at port 1080.
1499@@ -4580,34 +4648,6 @@ Example:
1500 .fi
1501
1502 See also \fI\-\-socks5\fP and \fI\-\-socks4a\fP.
1503-.IP "\-\-socks5 <host[:port]>"
1504-Use the specified SOCKS5 proxy \- but resolve the hostname locally. If the
1505-port number is not specified, it is assumed at port 1080.
1506-
1507-To specify proxy on a unix domain socket, use localhost for host, e.g.
1508-\&"socks5://localhost/path/to/socket.sock"
1509-
1510-This option overrides any previous use of \fI\-x, \-\-proxy\fP, as they are mutually
1511-exclusive.
1512-
1513-This option is superfluous since you can specify a socks5 proxy with \fI\-x, \-\-proxy\fP
1514-using a socks5:// protocol prefix.
1515-
1516-\fI\-\-preproxy\fP can be used to specify a SOCKS proxy at the same time \fI\-x, \-\-proxy\fP is
1517-used with an HTTP/HTTPS proxy (added in 7.52.0). In such a case, curl first
1518-connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or
1519-HTTPS proxy.
1520-
1521-This option (as well as \fI\-\-socks4\fP) does not work with IPV6, FTPS or LDAP.
1522-
1523-If --socks5 is provided several times, the last set value is used.
1524-
1525-Example:
1526-.nf
1527- curl --socks5 proxy.example:7000 https://example.com
1528-.fi
1529-
1530-See also \fI\-\-socks5\-hostname\fP and \fI\-\-socks4a\fP.
1531 .IP "\-Y, \-\-speed\-limit <speed>"
1532 If a transfer is slower than this set speed (in bytes per second) for a given
1533 number of seconds, it gets aborted. The time period is set with \fI\-y, \-\-speed\-time\fP
1534@@ -4637,6 +4677,33 @@ Example:
1535 .fi
1536
1537 See also \fI-Y, \-\-speed\-limit\fP and \fI\-\-limit\-rate\fP.
1538+.IP "\-\-ssl"
1539+(FTP IMAP POP3 SMTP LDAP) Warning: this is considered an insecure option. Consider using \fI\-\-ssl\-reqd\fP
1540+instead to be sure curl upgrades to a secure connection.
1541+
1542+Try to use SSL/TLS for the connection \- often referred to as STARTTLS or STLS
1543+because of the involved commands. Reverts to a non\-secure connection if the
1544+server does not support SSL/TLS. See also \fI\-\-ftp\-ssl\-control\fP and \fI\-\-ssl\-reqd\fP for
1545+different levels of encryption required.
1546+
1547+This option is handled in LDAP (added in 7.81.0). It is fully supported by the
1548+OpenLDAP backend and ignored by the generic ldap backend.
1549+
1550+Please note that a server may close the connection if the negotiation does
1551+not succeed.
1552+
1553+This option was formerly known as \fI\-\-ftp\-ssl\fP. That option
1554+name can still be used but might be removed in a future version.
1555+
1556+Providing --ssl multiple times has no extra effect.
1557+Disable it again with \-\-no-ssl.
1558+
1559+Example:
1560+.nf
1561+ curl --ssl pop3://example.com/
1562+.fi
1563+
1564+See also \fI\-\-ssl\-reqd\fP, \fI-k, \-\-insecure\fP and \fI\-\-ciphers\fP.
1565 .IP "\-\-ssl\-allow\-beast"
1566 (TLS) Do not work around a security flaw in the SSL3 and TLS1.0 protocols known as
1567 BEAST. If this option is not used, the SSL layer may use workarounds known to
1568@@ -4683,7 +4750,8 @@ Example:
1569
1570 See also \fI\-\-crlfile\fP.
1571 .IP "\-\-ssl\-reqd"
1572-(FTP IMAP POP3 SMTP LDAP) Require SSL/TLS for the connection. Terminates the connection if the transfer
1573+(FTP IMAP POP3 SMTP LDAP) Require SSL/TLS for the connection \- often referred to as STARTTLS or STLS
1574+because of the involved commands. Terminates the connection if the transfer
1575 cannot be upgraded to use SSL/TLS.
1576
1577 This option is handled in LDAP (added in 7.81.0). It is fully supported by the
1578@@ -4718,32 +4786,6 @@ Example:
1579 .fi
1580
1581 See also \fI\-\-crlfile\fP and \fI-k, \-\-insecure\fP. Added in 7.70.0.
1582-.IP "\-\-ssl"
1583-(FTP IMAP POP3 SMTP LDAP) Warning: this is considered an insecure option. Consider using \fI\-\-ssl\-reqd\fP
1584-instead to be sure curl upgrades to a secure connection.
1585-
1586-Try to use SSL/TLS for the connection. Reverts to a non\-secure connection if
1587-the server does not support SSL/TLS. See also \fI\-\-ftp\-ssl\-control\fP and \fI\-\-ssl\-reqd\fP
1588-for different levels of encryption required.
1589-
1590-This option is handled in LDAP (added in 7.81.0). It is fully supported by the
1591-OpenLDAP backend and ignored by the generic ldap backend.
1592-
1593-Please note that a server may close the connection if the negotiation does
1594-not succeed.
1595-
1596-This option was formerly known as \fI\-\-ftp\-ssl\fP. That option
1597-name can still be used but might be removed in a future version.
1598-
1599-Providing --ssl multiple times has no extra effect.
1600-Disable it again with \-\-no-ssl.
1601-
1602-Example:
1603-.nf
1604- curl --ssl pop3://example.com/
1605-.fi
1606-
1607-See also \fI\-\-ssl\-reqd\fP, \fI-k, \-\-insecure\fP and \fI\-\-ciphers\fP.
1608 .IP "\-2, \-\-sslv2"
1609 (SSL) This option previously asked curl to use SSLv2, but is now ignored
1610 (added in 7.77.0). SSLv2 is widely considered insecure (see RFC 6176).
1611@@ -5007,6 +5049,18 @@ Example:
1612 .fi
1613
1614 See also \fI\-\-tlspassword\fP.
1615+.IP "\-1, \-\-tlsv1"
1616+(TLS) Use at least TLS version 1.x when negotiating with a remote TLS server. That
1617+means TLS version 1.0 or higher
1618+
1619+Providing --tlsv1 multiple times has no extra effect.
1620+
1621+Example:
1622+.nf
1623+ curl --tlsv1 https://example.com
1624+.fi
1625+
1626+See also \fI\-\-http1.1\fP and \fI\-\-http2\fP. \fI-1, \-\-tlsv1\fP requires that the underlying libcurl was built to support TLS. This option is mutually exclusive to \fI\-\-tlsv1.1\fP and \fI\-\-tlsv1.2\fP and \fI\-\-tlsv1.3\fP.
1627 .IP "\-\-tlsv1.0"
1628 (TLS) Forces curl to use TLS version 1.0 or later when connecting to a remote TLS server.
1629
1630@@ -5069,18 +5123,6 @@ Example:
1631 .fi
1632
1633 See also \fI\-\-tlsv1.2\fP and \fI\-\-tls\-max\fP. Added in 7.52.0.
1634-.IP "\-1, \-\-tlsv1"
1635-(TLS) Use at least TLS version 1.x when negotiating with a remote TLS server. That
1636-means TLS version 1.0 or higher
1637-
1638-Providing --tlsv1 multiple times has no extra effect.
1639-
1640-Example:
1641-.nf
1642- curl --tlsv1 https://example.com
1643-.fi
1644-
1645-See also \fI\-\-http1.1\fP and \fI\-\-http2\fP. \fI-1, \-\-tlsv1\fP requires that the underlying libcurl was built to support TLS. This option is mutually exclusive to \fI\-\-tlsv1.1\fP and \fI\-\-tlsv1.2\fP and \fI\-\-tlsv1.3\fP.
1646 .IP "\-\-tr\-encoding"
1647 (HTTP) Request a compressed Transfer\-Encoding response using one of the algorithms
1648 curl supports, and uncompress the data while receiving it.
1649@@ -5094,6 +5136,26 @@ Example:
1650 .fi
1651
1652 See also \fI\-\-compressed\fP.
1653+.IP "\-\-trace <file>"
1654+Save a full trace dump of all incoming and outgoing data, including
1655+descriptive information, in the given output file. Use "\-" as filename to have
1656+the output sent to stdout. Use "%" as filename to have the output sent to
1657+stderr.
1658+
1659+Note that verbose output of curl activities and network traffic might contain
1660+sensitive data, including usernames, credentials or secret data content. Be
1661+aware and be careful when sharing trace logs with others.
1662+
1663+This option is global and does not need to be specified for each use of --next.
1664+
1665+If --trace is provided several times, the last set value is used.
1666+
1667+Example:
1668+.nf
1669+ curl --trace log.txt https://example.com
1670+.fi
1671+
1672+See also \fI\-\-trace\-ascii\fP, \fI\-\-trace\-config\fP, \fI\-\-trace\-ids\fP and \fI\-\-trace\-time\fP. This option is mutually exclusive to \fI-v, \-\-verbose\fP and \fI\-\-trace\-ascii\fP.
1673 .IP "\-\-trace\-ascii <file>"
1674 Save a full trace dump of all incoming and outgoing data, including
1675 descriptive information, in the given output file. Use "\-" as filename to have
1676@@ -5165,26 +5227,6 @@ Example:
1677 .fi
1678
1679 See also \fI\-\-trace\fP and \fI-v, \-\-verbose\fP.
1680-.IP "\-\-trace <file>"
1681-Save a full trace dump of all incoming and outgoing data, including
1682-descriptive information, in the given output file. Use "\-" as filename to have
1683-the output sent to stdout. Use "%" as filename to have the output sent to
1684-stderr.
1685-
1686-Note that verbose output of curl activities and network traffic might contain
1687-sensitive data, including usernames, credentials or secret data content. Be
1688-aware and be careful when sharing trace logs with others.
1689-
1690-This option is global and does not need to be specified for each use of --next.
1691-
1692-If --trace is provided several times, the last set value is used.
1693-
1694-Example:
1695-.nf
1696- curl --trace log.txt https://example.com
1697-.fi
1698-
1699-See also \fI\-\-trace\-ascii\fP, \fI\-\-trace\-config\fP, \fI\-\-trace\-ids\fP and \fI\-\-trace\-time\fP. This option is mutually exclusive to \fI-v, \-\-verbose\fP and \fI\-\-trace\-ascii\fP.
1700 .IP "\-\-unix\-socket <path>"
1701 (HTTP) Connect through this Unix domain socket, instead of using the network.
1702
1703@@ -5237,29 +5279,6 @@ Examples:
1704 .fi
1705
1706 See also \fI-G, \-\-get\fP, \fI-I, \-\-head\fP, \fI-X, \-\-request\fP and \fI-d, \-\-data\fP.
1707-.IP "\-\-url\-query <data>"
1708-(all) Add a piece of data, usually a name + value pair, to the end of the URL query
1709-part. The syntax is identical to that used for \fI\-\-data\-urlencode\fP with one
1710-extension:
1711-
1712-If the argument starts with a \(aq+\(aq (plus), the rest of the string is provided
1713-as\-is unencoded.
1714-
1715-The query part of a URL is the one following the question mark on the right
1716-end.
1717-
1718---url-query can be used several times in a command line
1719-
1720-Examples:
1721-.nf
1722- curl --url-query name=val https://example.com
1723- curl --url-query =encodethis http://example.net/foo
1724- curl --url-query name@file https://example.com
1725- curl --url-query @fileonly https://example.com
1726- curl --url-query "+name=%20foo" https://example.com
1727-.fi
1728-
1729-See also \fI\-\-data\-urlencode\fP and \fI-G, \-\-get\fP. Added in 7.87.0.
1730 .IP "\-\-url <url>"
1731 Specify a URL to fetch.
1732
1733@@ -5284,6 +5303,29 @@ Example:
1734 .fi
1735
1736 See also \fI-:, \-\-next\fP and \fI-K, \-\-config\fP.
1737+.IP "\-\-url\-query <data>"
1738+(all) Add a piece of data, usually a name + value pair, to the end of the URL query
1739+part. The syntax is identical to that used for \fI\-\-data\-urlencode\fP with one
1740+extension:
1741+
1742+If the argument starts with a \(aq+\(aq (plus), the rest of the string is provided
1743+as\-is unencoded.
1744+
1745+The query part of a URL is the one following the question mark on the right
1746+end.
1747+
1748+--url-query can be used several times in a command line
1749+
1750+Examples:
1751+.nf
1752+ curl --url-query name=val https://example.com
1753+ curl --url-query =encodethis http://example.net/foo
1754+ curl --url-query name@file https://example.com
1755+ curl --url-query @fileonly https://example.com
1756+ curl --url-query "+name=%20foo" https://example.com
1757+.fi
1758+
1759+See also \fI\-\-data\-urlencode\fP and \fI-G, \-\-get\fP. Added in 7.87.0.
1760 .IP "\-B, \-\-use\-ascii"
1761 (FTP LDAP) Enable ASCII transfer mode. For FTP, this can also be enforced by using a URL
1762 that ends with ";type=A". This option causes data sent to stdout to be in text
1763@@ -5298,23 +5340,6 @@ Example:
1764 .fi
1765
1766 See also \fI\-\-crlf\fP and \fI\-\-data\-ascii\fP.
1767-.IP "\-A, \-\-user\-agent <name>"
1768-(HTTP) Specify the User\-Agent string to send to the HTTP server. To encode blanks in
1769-the string, surround the string with single quote marks. This header can also
1770-be set with the \fI\-H, \-\-header\fP or the \fI\-\-proxy\-header\fP options.
1771-
1772-If you give an empty argument to \fI\-A, \-\-user\-agent\fP (""), it removes the header
1773-completely from the request. If you prefer a blank header, you can set it to a
1774-single space (" ").
1775-
1776-If --user-agent is provided several times, the last set value is used.
1777-
1778-Example:
1779-.nf
1780- curl -A "Agent 007" https://example.com
1781-.fi
1782-
1783-See also \fI-H, \-\-header\fP and \fI\-\-proxy\-header\fP.
1784 .IP "\-u, \-\-user <user:password>"
1785 Specify the username and password to use for server authentication. Overrides
1786 \fI\-n, \-\-netrc\fP and \fI\-\-netrc\-optional\fP.
1787@@ -5356,6 +5381,23 @@ Example:
1788 .fi
1789
1790 See also \fI-n, \-\-netrc\fP and \fI-K, \-\-config\fP.
1791+.IP "\-A, \-\-user\-agent <name>"
1792+(HTTP) Specify the User\-Agent string to send to the HTTP server. To encode blanks in
1793+the string, surround the string with single quote marks. This header can also
1794+be set with the \fI\-H, \-\-header\fP or the \fI\-\-proxy\-header\fP options.
1795+
1796+If you give an empty argument to \fI\-A, \-\-user\-agent\fP (""), it removes the header
1797+completely from the request. If you prefer a blank header, you can set it to a
1798+single space (" ").
1799+
1800+If --user-agent is provided several times, the last set value is used.
1801+
1802+Example:
1803+.nf
1804+ curl -A "Agent 007" https://example.com
1805+.fi
1806+
1807+See also \fI-H, \-\-header\fP and \fI\-\-proxy\-header\fP.
1808 .IP "\-\-variable <[%]name=text/@file>"
1809 Set a variable with "name=content" or "name@file" (where "file" can be stdin
1810 if set to a single dash ("\-")). The name is a case sensitive identifier that
1811@@ -5459,6 +5501,8 @@ curl was built with support for character set conversions (like EBCDIC)
1812 .IP `Debug`
1813 This curl uses a libcurl built with Debug. This enables more error\-tracking
1814 and memory debugging etc. For curl\-developers only!
1815+.IP `ECH`
1816+ECH support is present.
1817 .IP `gsasl`
1818 The built\-in SASL authentication includes extensions to support SCRAM because
1819 libcurl was built with libgsasl.
1820@@ -5862,8 +5906,8 @@ if Schannel is used as the TLS backend.
1821 If you set this environment variable to a filename, curl stores TLS secrets
1822 from its connections in that file when invoked to enable you to analyze the
1823 TLS traffic in real time using network analyzing tools such as Wireshark. This
1824-works with the following TLS backends: OpenSSL, libressl, BoringSSL, GnuTLS
1825-and wolfSSL.
1826+works with the following TLS backends: OpenSSL, LibreSSL (TLS 1.2 max),
1827+BoringSSL, GnuTLS and wolfSSL.
1828 .IP "`USERPROFILE` <dir>"
1829 On Windows, this variable is used when trying to find the home directory. If
1830 the other, primary, variable are all unset. If set, curl uses the path
+11,
-10
1@@ -1,3 +1,4 @@
2+/* #undef CARES_NO_DEPRECATED */
3 /* #undef CURLDEBUG */
4 #define CURL_CA_BUNDLE "/etc/ssl/cert.pem"
5 /* #undef CURL_CA_FALLBACK */
6@@ -48,7 +49,6 @@
7 #define CURL_SA_FAMILY_T sa_family_t
8 /* #undef CURL_WITH_MULTI_SSL */
9 /* #undef DEBUGBUILD */
10-/* #undef ENABLE_IPV6 */
11 #define GETHOSTNAME_TYPE_ARG2 size_t
12 #define HAVE_ALARM 1
13 /* #undef HAVE_ARC4RANDOM */
14@@ -67,6 +67,7 @@
15 #define HAVE_DECL_FSEEKO 1
16 #define HAVE_DECL_GETPWUID_R 1
17 /* #undef HAVE_DECL_GETPWUID_R_MISSING */
18+#define HAVE_DIRENT_H 1
19 #define HAVE_DLFCN_H 1
20 /* #undef HAVE_ERR_H */
21 #define HAVE_FCNTL 1
22@@ -77,7 +78,7 @@
23 #define HAVE_FSEEKO 1
24 #define HAVE_FSETXATTR 1
25 #define HAVE_FSETXATTR_5 1
26-/* #undef HAVE_FSETXATTR_5 */
27+/* #undef HAVE_FSETXATTR_6 */
28 #define HAVE_FTRUNCATE 1
29 #define HAVE_GETADDRINFO 1
30 #define HAVE_GETADDRINFO_THREADSAFE 1
31@@ -156,6 +157,7 @@
32 /* #undef HAVE_NGTCP2_NGTCP2_CRYPTO_H */
33 /* #undef HAVE_NGTCP2_NGTCP2_H */
34 /* #undef HAVE_OLD_GSSMIT */
35+#define HAVE_OPENDIR 1
36 /* #undef HAVE_OPENSSL3 */
37 /* #undef HAVE_OPENSSL_CRYPTO_H */
38 /* #undef HAVE_OPENSSL_ERR_H */
39@@ -194,9 +196,10 @@
40 #define HAVE_SOCKET 1
41 #define HAVE_SOCKETPAIR 1
42 /* #undef HAVE_SOCKET_H */
43-/* #undef HAVE_SSL_GET_ECH_STATUS */
44+/* #undef HAVE_SSL_ECH_SET1_ECHCONFIG */
45 /* #undef HAVE_SSL_H */
46 /* #undef HAVE_SSL_SET0_WBIO */
47+/* #undef HAVE_SSL_SET1_ECH_CONFIG_LIST */
48 /* #undef HAVE_SSL_SET_QUIC_USE_LEGACY_CODEPOINT */
49 #define HAVE_STDATOMIC_H 1
50 #define HAVE_STDBOOL_H 1
51@@ -239,6 +242,7 @@
52 #define HAVE_UTIMES 1
53 #define HAVE_UTIME_H 1
54 /* #undef HAVE_WOLFSSH_SSH_H */
55+/* #undef HAVE_WOLFSSL_CTX_GENERATEECHCONFIG */
56 /* #undef HAVE_WOLFSSL_DES_ECB_ENCRYPT */
57 /* #undef HAVE_WOLFSSL_FULL_BIO */
58 /* #undef HAVE_WOLFSSL_GET_PEER_CERTIFICATE */
59@@ -252,8 +256,6 @@
60 /* #undef NEED_LBER_H */
61 /* #undef NEED_REENTRANT */
62 /* #undef NEED_THREAD_SAFE */
63-/* #undef NTLM_WB_ENABLED */
64-/* #undef NTLM_WB_FILE */
65 #define OS "x86_64-pc-linux-musl"
66 #define PACKAGE "curl"
67 #define PACKAGE_BUGREPORT "a suitable curl mailing list: https://curl.se/mail/"
68@@ -261,7 +263,7 @@
69 #define PACKAGE_STRING "curl -"
70 #define PACKAGE_TARNAME "curl"
71 #define PACKAGE_URL ""
72-#define PACKAGE_VERSION "-"
73+#define PACKAGE_VERSION "8.8.0"
74 /* #undef RANDOM_FILE */
75 #define SIZEOF_CURL_OFF_T 8
76 #define SIZEOF_CURL_SOCKET_T 4
77@@ -278,7 +280,9 @@
78 /* #undef USE_ECH */
79 /* #undef USE_GNUTLS */
80 /* #undef USE_GSASL */
81+/* #undef USE_HTTPSRR */
82 /* #undef USE_HYPER */
83+/* #undef USE_IPV6 */
84 /* #undef USE_LIBPSL */
85 /* #undef USE_LIBRTMP */
86 /* #undef USE_LIBSSH */
87@@ -315,7 +319,7 @@
88 /* #undef USE_WINDOWS_SSPI */
89 /* #undef USE_WOLFSSH */
90 /* #undef USE_WOLFSSL */
91-#define VERSION "-"
92+#define VERSION "8.8.0"
93 #ifndef _ALL_SOURCE
94 /* # undef _ALL_SOURCE */
95 #endif
96@@ -323,8 +327,5 @@
97 /* #undef _LARGE_FILES */
98 /* #undef const */
99 /* #undef in_addr_t */
100-#ifndef __cplusplus
101-/* #undef inline */
102-#endif
103 /* #undef size_t */
104 /* #undef ssize_t */
+3,
-3
1@@ -43,8 +43,8 @@ lib('libcurl.a', [[
2 content_encoding.c cookie.c curl_addrinfo.c curl_des.c
3 curl_endian.c curl_fnmatch.c curl_get_line.c curl_gethostname.c
4 curl_gssapi.c curl_memrchr.c curl_multibyte.c curl_ntlm_core.c
5- curl_ntlm_wb.c curl_path.c curl_range.c curl_rtmp.c curl_sasl.c
6- curl_sha512_256.c curl_sspi.c curl_threads.c curl_trc.c cw-out.c
7+ curl_path.c curl_range.c curl_rtmp.c curl_sasl.c curl_sha512_256.c
8+ curl_sspi.c curl_threads.c curl_trc.c cw-out.c dllmain.c
9 dict.c doh.c dynbuf.c dynhds.c easy.c easygetopt.c easyoptions.c
10 escape.c file.c fileinfo.c fopen.c formdata.c ftp.c
11 ftplistparser.c getenv.c getinfo.c gopher.c hash.c headers.c
12@@ -66,7 +66,7 @@ lib('libcurl.a', [[
13 spnego_sspi.c vauth.c
14 )
15 vtls/(
16- bearssl.c gtls.c hostcheck.c keylog.c mbedtls.c
17+ bearssl.c cipher_suite.c gtls.c hostcheck.c keylog.c mbedtls.c
18 mbedtls_threadlock.c openssl.c rustls.c schannel.c
19 schannel_verify.c sectransp.c vtls.c wolfssl.c x509asn1.c
20 )
+1,
-1
1@@ -1 +1 @@
2-f91249c87f68ea00cf27c44fdfa5a78423e41e71b7d408e5901a9896d905c495 curl-8.7.1.tar.gz
3+0f58bb95fc330c8a46eeb3df5701b0d90c9d9bfcc42bd1cd08791d12551d4400 curl-8.8.0.tar.xz
+1,
-1
1@@ -1 +1 @@
2-url = "https://curl.se/download/curl-8.7.1.tar.gz"
3+url = "https://curl.se/download/curl-8.8.0.tar.xz"
+1,
-1
1@@ -1 +1 @@
2-8.7.1 r0
3+8.8.0 r0