blob: 1513fdc054948a3a8f93e4ba1c4285d3856fa1d9 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001Long: proto
2Arg: <protocols>
3Help: Enable/disable PROTOCOLS
4See-also: proto-redir proto-default
5Added: 7.20.2
6---
7Tells curl to limit what protocols it may use in the transfer. Protocols are
8evaluated left to right, are comma separated, and are each a protocol name or
9'all', optionally prefixed by zero or more modifiers. Available modifiers are:
10.RS
11.TP 3
12.B +
13Permit this protocol in addition to protocols already permitted (this is
14the default if no modifier is used).
15.TP
16.B -
17Deny this protocol, removing it from the list of protocols already permitted.
18.TP
19.B =
20Permit only this protocol (ignoring the list already permitted), though
21subject to later modification by subsequent entries in the comma separated
22list.
23.RE
24.IP
25For example:
26.RS
27.TP 15
28.B --proto -ftps
29uses the default protocols, but disables ftps
30.TP
31.B --proto -all,https,+http
32only enables http and https
33.TP
34.B --proto =http,https
35also only enables http and https
36.RE
37
38Unknown protocols produce a warning. This allows scripts to safely rely on
39being able to disable potentially dangerous protocols, without relying upon
40support for that protocol being built into curl to avoid an error.
41
42This option can be used multiple times, in which case the effect is the same
43as concatenating the protocols into one instance of the option.