aboutsummaryrefslogtreecommitdiffstats
path: root/docs/cmdline-opts
diff options
context:
space:
mode:
Diffstat (limited to 'docs/cmdline-opts')
-rw-r--r--docs/cmdline-opts/Makefile.inc2
-rw-r--r--docs/cmdline-opts/abstract-unix-socket.d1
-rw-r--r--docs/cmdline-opts/alt-svc.d1
-rw-r--r--docs/cmdline-opts/anyauth.d1
-rw-r--r--docs/cmdline-opts/append.d1
-rw-r--r--docs/cmdline-opts/basic.d1
-rw-r--r--docs/cmdline-opts/cacert.d1
-rw-r--r--docs/cmdline-opts/capath.d1
-rw-r--r--docs/cmdline-opts/cert-status.d1
-rw-r--r--docs/cmdline-opts/cert-type.d1
-rw-r--r--docs/cmdline-opts/cert.d1
-rw-r--r--docs/cmdline-opts/ciphers.d1
-rw-r--r--docs/cmdline-opts/compressed-ssh.d1
-rw-r--r--docs/cmdline-opts/compressed.d1
-rw-r--r--docs/cmdline-opts/config.d19
-rw-r--r--docs/cmdline-opts/connect-timeout.d1
-rw-r--r--docs/cmdline-opts/connect-to.d1
-rw-r--r--docs/cmdline-opts/continue-at.d1
-rw-r--r--docs/cmdline-opts/cookie-jar.d1
-rw-r--r--docs/cmdline-opts/cookie.d1
-rw-r--r--docs/cmdline-opts/create-dirs.d1
-rw-r--r--docs/cmdline-opts/crlf.d1
-rw-r--r--docs/cmdline-opts/crlfile.d1
-rw-r--r--docs/cmdline-opts/curves.d18
-rw-r--r--docs/cmdline-opts/data-ascii.d1
-rw-r--r--docs/cmdline-opts/data-binary.d1
-rw-r--r--docs/cmdline-opts/data-raw.d1
-rw-r--r--docs/cmdline-opts/data-urlencode.d1
-rw-r--r--docs/cmdline-opts/data.d1
-rw-r--r--docs/cmdline-opts/delegation.d1
-rw-r--r--docs/cmdline-opts/digest.d1
-rw-r--r--docs/cmdline-opts/disable-eprt.d1
-rw-r--r--docs/cmdline-opts/disable-epsv.d1
-rw-r--r--docs/cmdline-opts/disable.d1
-rw-r--r--docs/cmdline-opts/disallow-username-in-url.d1
-rw-r--r--docs/cmdline-opts/dns-interface.d1
-rw-r--r--docs/cmdline-opts/dns-ipv4-addr.d1
-rw-r--r--docs/cmdline-opts/dns-ipv6-addr.d1
-rw-r--r--docs/cmdline-opts/dns-servers.d1
-rw-r--r--docs/cmdline-opts/doh-url.d1
-rw-r--r--docs/cmdline-opts/dump-header.d1
-rw-r--r--docs/cmdline-opts/egd-file.d1
-rw-r--r--docs/cmdline-opts/engine.d1
-rw-r--r--docs/cmdline-opts/etag-compare.d1
-rw-r--r--docs/cmdline-opts/etag-save.d1
-rw-r--r--docs/cmdline-opts/expect100-timeout.d1
-rw-r--r--docs/cmdline-opts/fail-early.d1
-rw-r--r--docs/cmdline-opts/fail.d1
-rw-r--r--docs/cmdline-opts/false-start.d1
-rw-r--r--docs/cmdline-opts/form-string.d1
-rw-r--r--docs/cmdline-opts/form.d1
-rw-r--r--docs/cmdline-opts/ftp-account.d1
-rw-r--r--docs/cmdline-opts/ftp-alternative-to-user.d1
-rw-r--r--docs/cmdline-opts/ftp-create-dirs.d1
-rw-r--r--docs/cmdline-opts/ftp-method.d1
-rw-r--r--docs/cmdline-opts/ftp-pasv.d1
-rw-r--r--docs/cmdline-opts/ftp-port.d1
-rw-r--r--docs/cmdline-opts/ftp-pret.d1
-rw-r--r--docs/cmdline-opts/ftp-skip-pasv-ip.d1
-rw-r--r--docs/cmdline-opts/ftp-ssl-ccc-mode.d1
-rw-r--r--docs/cmdline-opts/ftp-ssl-ccc.d1
-rw-r--r--docs/cmdline-opts/ftp-ssl-control.d1
-rwxr-xr-xdocs/cmdline-opts/gen.pl64
-rw-r--r--docs/cmdline-opts/get.d1
-rw-r--r--docs/cmdline-opts/globoff.d1
-rw-r--r--docs/cmdline-opts/happy-eyeballs-timeout-ms.d1
-rw-r--r--docs/cmdline-opts/haproxy-protocol.d1
-rw-r--r--docs/cmdline-opts/head.d1
-rw-r--r--docs/cmdline-opts/header.d1
-rw-r--r--docs/cmdline-opts/help.d12
-rw-r--r--docs/cmdline-opts/hostpubmd5.d1
-rw-r--r--docs/cmdline-opts/http0.9.d1
-rw-r--r--docs/cmdline-opts/http1.0.d1
-rw-r--r--docs/cmdline-opts/http1.1.d1
-rw-r--r--docs/cmdline-opts/http2-prior-knowledge.d1
-rw-r--r--docs/cmdline-opts/http2.d1
-rw-r--r--docs/cmdline-opts/http3.d1
-rw-r--r--docs/cmdline-opts/ignore-content-length.d1
-rw-r--r--docs/cmdline-opts/include.d1
-rw-r--r--docs/cmdline-opts/insecure.d1
-rw-r--r--docs/cmdline-opts/interface.d1
-rw-r--r--docs/cmdline-opts/ipv4.d1
-rw-r--r--docs/cmdline-opts/ipv6.d1
-rw-r--r--docs/cmdline-opts/junk-session-cookies.d1
-rw-r--r--docs/cmdline-opts/keepalive-time.d1
-rw-r--r--docs/cmdline-opts/key-type.d1
-rw-r--r--docs/cmdline-opts/key.d1
-rw-r--r--docs/cmdline-opts/krb.d1
-rw-r--r--docs/cmdline-opts/libcurl.d1
-rw-r--r--docs/cmdline-opts/limit-rate.d1
-rw-r--r--docs/cmdline-opts/list-only.d1
-rw-r--r--docs/cmdline-opts/local-port.d1
-rw-r--r--docs/cmdline-opts/location-trusted.d1
-rw-r--r--docs/cmdline-opts/location.d1
-rw-r--r--docs/cmdline-opts/login-options.d1
-rw-r--r--docs/cmdline-opts/mail-auth.d1
-rw-r--r--docs/cmdline-opts/mail-from.d1
-rw-r--r--docs/cmdline-opts/mail-rcpt-allowfails.d1
-rw-r--r--docs/cmdline-opts/mail-rcpt.d1
-rw-r--r--docs/cmdline-opts/manual.d1
-rw-r--r--docs/cmdline-opts/max-filesize.d1
-rw-r--r--docs/cmdline-opts/max-redirs.d1
-rw-r--r--docs/cmdline-opts/max-time.d1
-rw-r--r--docs/cmdline-opts/metalink.d1
-rw-r--r--docs/cmdline-opts/negotiate.d1
-rw-r--r--docs/cmdline-opts/netrc-file.d1
-rw-r--r--docs/cmdline-opts/netrc-optional.d1
-rw-r--r--docs/cmdline-opts/netrc.d1
-rw-r--r--docs/cmdline-opts/next.d1
-rw-r--r--docs/cmdline-opts/no-alpn.d1
-rw-r--r--docs/cmdline-opts/no-buffer.d1
-rw-r--r--docs/cmdline-opts/no-keepalive.d1
-rw-r--r--docs/cmdline-opts/no-npn.d1
-rw-r--r--docs/cmdline-opts/no-progress-meter.d1
-rw-r--r--docs/cmdline-opts/no-sessionid.d1
-rw-r--r--docs/cmdline-opts/noproxy.d1
-rw-r--r--docs/cmdline-opts/ntlm-wb.d1
-rw-r--r--docs/cmdline-opts/ntlm.d1
-rw-r--r--docs/cmdline-opts/oauth2-bearer.d1
-rw-r--r--docs/cmdline-opts/output-dir.d19
-rw-r--r--docs/cmdline-opts/output.d1
-rw-r--r--docs/cmdline-opts/page-footer6
-rw-r--r--docs/cmdline-opts/parallel-immediate.d1
-rw-r--r--docs/cmdline-opts/parallel-max.d1
-rw-r--r--docs/cmdline-opts/parallel.d1
-rw-r--r--docs/cmdline-opts/pass.d1
-rw-r--r--docs/cmdline-opts/path-as-is.d1
-rw-r--r--docs/cmdline-opts/pinnedpubkey.d1
-rw-r--r--docs/cmdline-opts/post301.d1
-rw-r--r--docs/cmdline-opts/post302.d1
-rw-r--r--docs/cmdline-opts/post303.d1
-rw-r--r--docs/cmdline-opts/preproxy.d1
-rw-r--r--docs/cmdline-opts/progress-bar.d1
-rw-r--r--docs/cmdline-opts/proto-default.d1
-rw-r--r--docs/cmdline-opts/proto-redir.d1
-rw-r--r--docs/cmdline-opts/proto.d1
-rw-r--r--docs/cmdline-opts/proxy-anyauth.d1
-rw-r--r--docs/cmdline-opts/proxy-basic.d1
-rw-r--r--docs/cmdline-opts/proxy-cacert.d1
-rw-r--r--docs/cmdline-opts/proxy-capath.d1
-rw-r--r--docs/cmdline-opts/proxy-cert-type.d1
-rw-r--r--docs/cmdline-opts/proxy-cert.d1
-rw-r--r--docs/cmdline-opts/proxy-ciphers.d1
-rw-r--r--docs/cmdline-opts/proxy-crlfile.d1
-rw-r--r--docs/cmdline-opts/proxy-digest.d1
-rw-r--r--docs/cmdline-opts/proxy-header.d1
-rw-r--r--docs/cmdline-opts/proxy-insecure.d1
-rw-r--r--docs/cmdline-opts/proxy-key-type.d1
-rw-r--r--docs/cmdline-opts/proxy-key.d1
-rw-r--r--docs/cmdline-opts/proxy-negotiate.d1
-rw-r--r--docs/cmdline-opts/proxy-ntlm.d1
-rw-r--r--docs/cmdline-opts/proxy-pass.d1
-rw-r--r--docs/cmdline-opts/proxy-pinnedpubkey.d1
-rw-r--r--docs/cmdline-opts/proxy-service-name.d1
-rw-r--r--docs/cmdline-opts/proxy-ssl-allow-beast.d1
-rw-r--r--docs/cmdline-opts/proxy-tls13-ciphers.d1
-rw-r--r--docs/cmdline-opts/proxy-tlsauthtype.d1
-rw-r--r--docs/cmdline-opts/proxy-tlspassword.d1
-rw-r--r--docs/cmdline-opts/proxy-tlsuser.d1
-rw-r--r--docs/cmdline-opts/proxy-tlsv1.d1
-rw-r--r--docs/cmdline-opts/proxy-user.d1
-rw-r--r--docs/cmdline-opts/proxy.d1
-rw-r--r--docs/cmdline-opts/proxy1.0.d1
-rw-r--r--docs/cmdline-opts/proxytunnel.d1
-rw-r--r--docs/cmdline-opts/pubkey.d1
-rw-r--r--docs/cmdline-opts/quote.d9
-rw-r--r--docs/cmdline-opts/random-file.d1
-rw-r--r--docs/cmdline-opts/range.d1
-rw-r--r--docs/cmdline-opts/raw.d1
-rw-r--r--docs/cmdline-opts/referer.d1
-rw-r--r--docs/cmdline-opts/remote-header-name.d1
-rw-r--r--docs/cmdline-opts/remote-name-all.d1
-rw-r--r--docs/cmdline-opts/remote-name.d1
-rw-r--r--docs/cmdline-opts/remote-time.d1
-rw-r--r--docs/cmdline-opts/request-target.d1
-rw-r--r--docs/cmdline-opts/request.d1
-rw-r--r--docs/cmdline-opts/resolve.d1
-rw-r--r--docs/cmdline-opts/retry-all-errors.d1
-rw-r--r--docs/cmdline-opts/retry-connrefused.d1
-rw-r--r--docs/cmdline-opts/retry-delay.d1
-rw-r--r--docs/cmdline-opts/retry-max-time.d1
-rw-r--r--docs/cmdline-opts/retry.d1
-rw-r--r--docs/cmdline-opts/sasl-authzid.d1
-rw-r--r--docs/cmdline-opts/sasl-ir.d1
-rw-r--r--docs/cmdline-opts/service-name.d1
-rw-r--r--docs/cmdline-opts/show-error.d2
-rw-r--r--docs/cmdline-opts/silent.d3
-rw-r--r--docs/cmdline-opts/socks4.d1
-rw-r--r--docs/cmdline-opts/socks4a.d1
-rw-r--r--docs/cmdline-opts/socks5-basic.d1
-rw-r--r--docs/cmdline-opts/socks5-gssapi-nec.d1
-rw-r--r--docs/cmdline-opts/socks5-gssapi-service.d1
-rw-r--r--docs/cmdline-opts/socks5-gssapi.d1
-rw-r--r--docs/cmdline-opts/socks5-hostname.d1
-rw-r--r--docs/cmdline-opts/socks5.d1
-rw-r--r--docs/cmdline-opts/speed-limit.d1
-rw-r--r--docs/cmdline-opts/speed-time.d1
-rw-r--r--docs/cmdline-opts/ssl-allow-beast.d1
-rw-r--r--docs/cmdline-opts/ssl-no-revoke.d1
-rw-r--r--docs/cmdline-opts/ssl-reqd.d1
-rw-r--r--docs/cmdline-opts/ssl-revoke-best-effort.d1
-rw-r--r--docs/cmdline-opts/ssl.d1
-rw-r--r--docs/cmdline-opts/sslv2.d1
-rw-r--r--docs/cmdline-opts/sslv3.d1
-rw-r--r--docs/cmdline-opts/stderr.d1
-rw-r--r--docs/cmdline-opts/styled-output.d1
-rw-r--r--docs/cmdline-opts/suppress-connect-headers.d1
-rw-r--r--docs/cmdline-opts/tcp-fastopen.d1
-rw-r--r--docs/cmdline-opts/tcp-nodelay.d1
-rw-r--r--docs/cmdline-opts/telnet-option.d1
-rw-r--r--docs/cmdline-opts/tftp-blksize.d1
-rw-r--r--docs/cmdline-opts/tftp-no-options.d1
-rw-r--r--docs/cmdline-opts/time-cond.d1
-rw-r--r--docs/cmdline-opts/tls-max.d1
-rw-r--r--docs/cmdline-opts/tls13-ciphers.d1
-rw-r--r--docs/cmdline-opts/tlsauthtype.d1
-rw-r--r--docs/cmdline-opts/tlspassword.d1
-rw-r--r--docs/cmdline-opts/tlsuser.d1
-rw-r--r--docs/cmdline-opts/tlsv1.0.d1
-rw-r--r--docs/cmdline-opts/tlsv1.1.d1
-rw-r--r--docs/cmdline-opts/tlsv1.2.d1
-rw-r--r--docs/cmdline-opts/tlsv1.3.d1
-rw-r--r--docs/cmdline-opts/tlsv1.d1
-rw-r--r--docs/cmdline-opts/tr-encoding.d1
-rw-r--r--docs/cmdline-opts/trace-ascii.d1
-rw-r--r--docs/cmdline-opts/trace-time.d1
-rw-r--r--docs/cmdline-opts/trace.d1
-rw-r--r--docs/cmdline-opts/unix-socket.d1
-rw-r--r--docs/cmdline-opts/upload-file.d1
-rw-r--r--docs/cmdline-opts/url.d1
-rw-r--r--docs/cmdline-opts/use-ascii.d1
-rw-r--r--docs/cmdline-opts/user-agent.d1
-rw-r--r--docs/cmdline-opts/user.d1
-rw-r--r--docs/cmdline-opts/verbose.d1
-rw-r--r--docs/cmdline-opts/version.d1
-rw-r--r--docs/cmdline-opts/write-out.d5
-rw-r--r--docs/cmdline-opts/xattr.d1
237 files changed, 370 insertions, 15 deletions
diff --git a/docs/cmdline-opts/Makefile.inc b/docs/cmdline-opts/Makefile.inc
index 6a7b953b..792cadb3 100644
--- a/docs/cmdline-opts/Makefile.inc
+++ b/docs/cmdline-opts/Makefile.inc
@@ -41,6 +41,7 @@ DPAGES = \
cookie.d \
create-dirs.d \
crlf.d crlfile.d \
+ curves.d \
data-ascii.d \
data-binary.d \
data-urlencode.d \
@@ -127,6 +128,7 @@ DPAGES = \
ntlm.d ntlm-wb.d \
oauth2-bearer.d \
output.d \
+ output-dir.d \
parallel-immediate.d \
parallel-max.d \
parallel.d \
diff --git a/docs/cmdline-opts/abstract-unix-socket.d b/docs/cmdline-opts/abstract-unix-socket.d
index 1fda4e5d..8403cab9 100644
--- a/docs/cmdline-opts/abstract-unix-socket.d
+++ b/docs/cmdline-opts/abstract-unix-socket.d
@@ -3,6 +3,7 @@ Arg: <path>
Help: Connect via abstract Unix domain socket
Added: 7.53.0
Protocols: HTTP
+Category: connection
---
Connect through an abstract Unix domain socket, instead of using the network.
Note: netstat shows the path of an abstract socket prefixed with '@', however
diff --git a/docs/cmdline-opts/alt-svc.d b/docs/cmdline-opts/alt-svc.d
index 15877a2f..5598b59b 100644
--- a/docs/cmdline-opts/alt-svc.d
+++ b/docs/cmdline-opts/alt-svc.d
@@ -3,6 +3,7 @@ Arg: <file name>
Protocols: HTTPS
Help: Enable alt-svc with this cache file
Added: 7.64.1
+Category: http
---
WARNING: this option is experimental. Do not use in production.
diff --git a/docs/cmdline-opts/anyauth.d b/docs/cmdline-opts/anyauth.d
index c32d1ed5..bec0c0c8 100644
--- a/docs/cmdline-opts/anyauth.d
+++ b/docs/cmdline-opts/anyauth.d
@@ -2,6 +2,7 @@ Long: anyauth
Help: Pick any authentication method
Protocols: HTTP
See-also: proxy-anyauth basic digest
+Category: http proxy auth
---
Tells curl to figure out authentication method by itself, and use the most
secure one the remote site claims to support. This is done by first doing a
diff --git a/docs/cmdline-opts/append.d b/docs/cmdline-opts/append.d
index f001b123..8bdb2594 100644
--- a/docs/cmdline-opts/append.d
+++ b/docs/cmdline-opts/append.d
@@ -2,6 +2,7 @@ Short: a
Long: append
Help: Append to target file when uploading
Protocols: FTP SFTP
+Category: ftp sftp
---
When used in an upload, this makes curl append to the target file instead of
overwriting it. If the remote file doesn't exist, it will be created. Note
diff --git a/docs/cmdline-opts/basic.d b/docs/cmdline-opts/basic.d
index 09d42af9..e222c51c 100644
--- a/docs/cmdline-opts/basic.d
+++ b/docs/cmdline-opts/basic.d
@@ -2,6 +2,7 @@ Long: basic
Help: Use HTTP Basic Authentication
See-also: proxy-basic
Protocols: HTTP
+Category: auth
---
Tells curl to use HTTP Basic authentication with the remote host. This is the
default and this option is usually pointless, unless you use it to override a
diff --git a/docs/cmdline-opts/cacert.d b/docs/cmdline-opts/cacert.d
index 6a567875..793d8c1b 100644
--- a/docs/cmdline-opts/cacert.d
+++ b/docs/cmdline-opts/cacert.d
@@ -2,6 +2,7 @@ Long: cacert
Arg: <file>
Help: CA certificate to verify peer against
Protocols: TLS
+Category: tls
---
Tells curl to use the specified certificate file to verify the peer. The file
may contain multiple CA certificates. The certificate(s) must be in PEM
diff --git a/docs/cmdline-opts/capath.d b/docs/cmdline-opts/capath.d
index 0763f7a0..4ce077a1 100644
--- a/docs/cmdline-opts/capath.d
+++ b/docs/cmdline-opts/capath.d
@@ -2,6 +2,7 @@ Long: capath
Arg: <dir>
Help: CA directory to verify peer against
Protocols: TLS
+Category: tls
---
Tells curl to use the specified certificate directory to verify the
peer. Multiple paths can be provided by separating them with ":" (e.g.
diff --git a/docs/cmdline-opts/cert-status.d b/docs/cmdline-opts/cert-status.d
index f1aaa217..1342b092 100644
--- a/docs/cmdline-opts/cert-status.d
+++ b/docs/cmdline-opts/cert-status.d
@@ -2,6 +2,7 @@ Long: cert-status
Protocols: TLS
Added: 7.41.0
Help: Verify the status of the server certificate
+Category: tls
---
Tells curl to verify the status of the server certificate by using the
Certificate Status Request (aka. OCSP stapling) TLS extension.
diff --git a/docs/cmdline-opts/cert-type.d b/docs/cmdline-opts/cert-type.d
index 1232ec10..b041bcb0 100644
--- a/docs/cmdline-opts/cert-type.d
+++ b/docs/cmdline-opts/cert-type.d
@@ -3,6 +3,7 @@ Protocols: TLS
Arg: <type>
Help: Certificate type (DER/PEM/ENG)
See-also: cert key key-type
+Category: tls
---
Tells curl what type the provided client certificate is using. PEM, DER, ENG
and P12 are recognized types. If not specified, PEM is assumed.
diff --git a/docs/cmdline-opts/cert.d b/docs/cmdline-opts/cert.d
index de6b4206..2938e571 100644
--- a/docs/cmdline-opts/cert.d
+++ b/docs/cmdline-opts/cert.d
@@ -4,6 +4,7 @@ Arg: <certificate[:password]>
Help: Client certificate file and password
Protocols: TLS
See-also: cert-type key key-type
+Category: tls
---
Tells curl to use the specified client certificate file when getting a file
with HTTPS, FTPS or another SSL-based protocol. The certificate must be in
diff --git a/docs/cmdline-opts/ciphers.d b/docs/cmdline-opts/ciphers.d
index 69e85525..ed7438a0 100644
--- a/docs/cmdline-opts/ciphers.d
+++ b/docs/cmdline-opts/ciphers.d
@@ -2,6 +2,7 @@ Long: ciphers
Arg: <list of ciphers>
Help: SSL ciphers to use
Protocols: TLS
+Category: tls
---
Specifies which ciphers to use in the connection. The list of ciphers must
specify valid ciphers. Read up on SSL cipher list details on this URL:
diff --git a/docs/cmdline-opts/compressed-ssh.d b/docs/cmdline-opts/compressed-ssh.d
index 583452ae..849fe18b 100644
--- a/docs/cmdline-opts/compressed-ssh.d
+++ b/docs/cmdline-opts/compressed-ssh.d
@@ -2,6 +2,7 @@ Long: compressed-ssh
Help: Enable SSH compression
Protocols: SCP SFTP
Added: 7.56.0
+Category: scp ssh
---
Enables built-in SSH compression.
This is a request, not an order; the server may or may not do it.
diff --git a/docs/cmdline-opts/compressed.d b/docs/cmdline-opts/compressed.d
index 3aca92c3..26bc1514 100644
--- a/docs/cmdline-opts/compressed.d
+++ b/docs/cmdline-opts/compressed.d
@@ -1,6 +1,7 @@
Long: compressed
Help: Request compressed response
Protocols: HTTP
+Category: http
---
Request a compressed response using one of the algorithms curl supports, and
automatically decompress the content. Headers are not modified.
diff --git a/docs/cmdline-opts/config.d b/docs/cmdline-opts/config.d
index df3d3922..26346799 100644
--- a/docs/cmdline-opts/config.d
+++ b/docs/cmdline-opts/config.d
@@ -2,6 +2,7 @@ Long: config
Arg: <file>
Help: Read config from a file
Short: K
+Category: curl
---
Specify a text file to read curl arguments from. The command line arguments
@@ -34,13 +35,19 @@ When curl is invoked, it (unless --disable is used) checks for a default
config file and uses it if found. The default config file is checked for in
the following places in this order:
-1) curl tries to find the "home dir": It first checks for the CURL_HOME and
-then the HOME environment variables. Failing that, it uses getpwuid() on
-Unix-like systems (which returns the home dir given the current user in your
-system). On Windows, it then checks for the APPDATA variable, or as a last
-resort the '%USERPROFILE%\\Application Data'.
+1) Use the CURL_HOME environment variable if set
-2) On windows, if there is no .curlrc file in the home dir, it checks for one
+2) Use the XDG_CONFIG_HOME environment variable if set (Added in 7.73.0)
+
+3) Use the HOME environment variable if set
+
+4) Non-windows: use getpwuid to find the home directory
+
+5) Windows: use APPDATA if set
+
+6) Windows: use "USERPROFILE\Application Data" if set
+
+7) On windows, if there is no .curlrc file in the home dir, it checks for one
in the same dir the curl executable is placed. On Unix-like systems, it will
simply try to load .curlrc from the determined home dir.
diff --git a/docs/cmdline-opts/connect-timeout.d b/docs/cmdline-opts/connect-timeout.d
index 3a32d868..fa327722 100644
--- a/docs/cmdline-opts/connect-timeout.d
+++ b/docs/cmdline-opts/connect-timeout.d
@@ -2,6 +2,7 @@ Long: connect-timeout
Arg: <seconds>
Help: Maximum time allowed for connection
See-also: max-time
+Category: connection
---
Maximum time in seconds that you allow curl's connection to take. This only
limits the connection phase, so if curl connects within the given period it
diff --git a/docs/cmdline-opts/connect-to.d b/docs/cmdline-opts/connect-to.d
index 458bfe85..2f015f8a 100644
--- a/docs/cmdline-opts/connect-to.d
+++ b/docs/cmdline-opts/connect-to.d
@@ -3,6 +3,7 @@ Arg: <HOST1:PORT1:HOST2:PORT2>
Help: Connect to host
Added: 7.49.0
See-also: resolve header
+Category: connection
---
For a request to the given HOST1:PORT1 pair, connect to HOST2:PORT2 instead.
diff --git a/docs/cmdline-opts/continue-at.d b/docs/cmdline-opts/continue-at.d
index 733f4941..c44d2f49 100644
--- a/docs/cmdline-opts/continue-at.d
+++ b/docs/cmdline-opts/continue-at.d
@@ -3,6 +3,7 @@ Long: continue-at
Arg: <offset>
Help: Resumed transfer offset
See-also: range
+Category: connection
---
Continue/Resume a previous file transfer at the given offset. The given offset
is the exact number of bytes that will be skipped, counting from the beginning
diff --git a/docs/cmdline-opts/cookie-jar.d b/docs/cmdline-opts/cookie-jar.d
index da79777e..f11991f4 100644
--- a/docs/cmdline-opts/cookie-jar.d
+++ b/docs/cmdline-opts/cookie-jar.d
@@ -3,6 +3,7 @@ Long: cookie-jar
Arg: <filename>
Protocols: HTTP
Help: Write cookies to <filename> after operation
+Category: http
---
Specify to which file you want curl to write all cookies after a completed
operation. Curl writes all cookies from its in-memory cookie storage to the
diff --git a/docs/cmdline-opts/cookie.d b/docs/cmdline-opts/cookie.d
index 467e0566..5d2c9d78 100644
--- a/docs/cmdline-opts/cookie.d
+++ b/docs/cmdline-opts/cookie.d
@@ -3,6 +3,7 @@ Long: cookie
Arg: <data|filename>
Protocols: HTTP
Help: Send cookies from string/file
+Category: http
---
Pass the data to the HTTP server in the Cookie header. It is supposedly
the data previously received from the server in a "Set-Cookie:" line. The
diff --git a/docs/cmdline-opts/create-dirs.d b/docs/cmdline-opts/create-dirs.d
index b09d96ca..48a8fd46 100644
--- a/docs/cmdline-opts/create-dirs.d
+++ b/docs/cmdline-opts/create-dirs.d
@@ -1,5 +1,6 @@
Long: create-dirs
Help: Create necessary local directory hierarchy
+Category: curl
---
When used in conjunction with the --output option, curl will create the
necessary local directory hierarchy as needed. This option creates the dirs
diff --git a/docs/cmdline-opts/crlf.d b/docs/cmdline-opts/crlf.d
index f6694b65..50c4bef8 100644
--- a/docs/cmdline-opts/crlf.d
+++ b/docs/cmdline-opts/crlf.d
@@ -1,6 +1,7 @@
Long: crlf
Help: Convert LF to CRLF in upload
Protocols: FTP SMTP
+Category: ftp smtp
---
Convert LF to CRLF in upload. Useful for MVS (OS/390).
diff --git a/docs/cmdline-opts/crlfile.d b/docs/cmdline-opts/crlfile.d
index 0fcc63c8..360e668d 100644
--- a/docs/cmdline-opts/crlfile.d
+++ b/docs/cmdline-opts/crlfile.d
@@ -3,6 +3,7 @@ Arg: <file>
Protocols: TLS
Help: Get a CRL list in PEM format from the given file
Added: 7.19.7
+Category: tls
---
Provide a file using PEM format with a Certificate Revocation List that may
specify peer certificates that are to be considered revoked.
diff --git a/docs/cmdline-opts/curves.d b/docs/cmdline-opts/curves.d
new file mode 100644
index 00000000..47870a27
--- /dev/null
+++ b/docs/cmdline-opts/curves.d
@@ -0,0 +1,18 @@
+Long: curves
+Arg: <algorithm list>
+Help: (EC) TLS key exchange algorithm(s) to request
+Protocols: TLS
+Added: 7.73.0
+Category: tls
+---
+Tells curl to request specific curves to use during SSL session establishment
+according to RFC 8422, 5.1. Multiple algorithms can be provided by separating
+them with ":" (e.g. "X25519:P-521"). The parameter is available identically
+in the "openssl s_client/s_server" utilities.
+
+--curves allows a OpenSSL powered curl to make SSL-connections with exactly
+the (EC) curve requested by the client, avoiding intransparent client/server
+negotiations.
+
+If this option is set, the default curves list built into openssl will be
+ignored.
diff --git a/docs/cmdline-opts/data-ascii.d b/docs/cmdline-opts/data-ascii.d
index bda4abc3..3522f634 100644
--- a/docs/cmdline-opts/data-ascii.d
+++ b/docs/cmdline-opts/data-ascii.d
@@ -2,5 +2,6 @@ Long: data-ascii
Arg: <data>
Help: HTTP POST ASCII data
Protocols: HTTP
+Category: http post upload
---
This is just an alias for --data.
diff --git a/docs/cmdline-opts/data-binary.d b/docs/cmdline-opts/data-binary.d
index 3f6ff2db..c40785ec 100644
--- a/docs/cmdline-opts/data-binary.d
+++ b/docs/cmdline-opts/data-binary.d
@@ -2,6 +2,7 @@ Long: data-binary
Arg: <data>
Help: HTTP POST binary data
Protocols: HTTP
+Category: http post upload
---
This posts data exactly as specified with no extra processing whatsoever.
diff --git a/docs/cmdline-opts/data-raw.d b/docs/cmdline-opts/data-raw.d
index 7669b4ab..4db83aef 100644
--- a/docs/cmdline-opts/data-raw.d
+++ b/docs/cmdline-opts/data-raw.d
@@ -4,6 +4,7 @@ Protocols: HTTP
Help: HTTP POST data, '@' allowed
Added: 7.43.0
See-also: data
+Category: http post upload
---
This posts data similarly to --data but without the special
interpretation of the @ character.
diff --git a/docs/cmdline-opts/data-urlencode.d b/docs/cmdline-opts/data-urlencode.d
index 9873f335..2f2a3645 100644
--- a/docs/cmdline-opts/data-urlencode.d
+++ b/docs/cmdline-opts/data-urlencode.d
@@ -4,6 +4,7 @@ Help: HTTP POST data url encoded
Protocols: HTTP
See-also: data data-raw
Added: 7.18.0
+Category: http post upload
---
This posts data, similar to the other --data options with the exception
that this performs URL-encoding.
diff --git a/docs/cmdline-opts/data.d b/docs/cmdline-opts/data.d
index 280d38bc..53ba86b3 100644
--- a/docs/cmdline-opts/data.d
+++ b/docs/cmdline-opts/data.d
@@ -5,6 +5,7 @@ Help: HTTP POST data
Protocols: HTTP MQTT
See-also: data-binary data-urlencode data-raw
Mutexed: form head upload-file
+Category: important http post upload
---
Sends the specified data in a POST request to the HTTP server, in the same way
that a browser does when a user has filled in an HTML form and presses the
diff --git a/docs/cmdline-opts/delegation.d b/docs/cmdline-opts/delegation.d
index 138d8233..fa2795f9 100644
--- a/docs/cmdline-opts/delegation.d
+++ b/docs/cmdline-opts/delegation.d
@@ -2,6 +2,7 @@ Long: delegation
Arg: <LEVEL>
Help: GSS-API delegation permission
Protocols: GSS/kerberos
+Category: auth
---
Set LEVEL to tell the server what it is allowed to delegate when it
comes to user credentials.
diff --git a/docs/cmdline-opts/digest.d b/docs/cmdline-opts/digest.d
index 5cdd9258..da8c01e2 100644
--- a/docs/cmdline-opts/digest.d
+++ b/docs/cmdline-opts/digest.d
@@ -3,6 +3,7 @@ Help: Use HTTP Digest Authentication
Protocols: HTTP
Mutexed: basic ntlm negotiate
See-also: user proxy-digest anyauth
+Category: proxy auth http
---
Enables HTTP Digest authentication. This is an authentication scheme that
prevents the password from being sent over the wire in clear text. Use this in
diff --git a/docs/cmdline-opts/disable-eprt.d b/docs/cmdline-opts/disable-eprt.d
index a1e53c0b..ffcf684e 100644
--- a/docs/cmdline-opts/disable-eprt.d
+++ b/docs/cmdline-opts/disable-eprt.d
@@ -1,6 +1,7 @@
Long: disable-eprt
Help: Inhibit using EPRT or LPRT
Protocols: FTP
+Category: ftp
---
Tell curl to disable the use of the EPRT and LPRT commands when doing active
FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT
diff --git a/docs/cmdline-opts/disable-epsv.d b/docs/cmdline-opts/disable-epsv.d
index 6d2cb708..df1de830 100644
--- a/docs/cmdline-opts/disable-epsv.d
+++ b/docs/cmdline-opts/disable-epsv.d
@@ -1,6 +1,7 @@
Long: disable-epsv
Help: Inhibit using EPSV
Protocols: FTP
+Category: ftp
---
(FTP) Tell curl to disable the use of the EPSV command when doing passive FTP
transfers. Curl will normally always first attempt to use EPSV before PASV,
diff --git a/docs/cmdline-opts/disable.d b/docs/cmdline-opts/disable.d
index 20b27b4c..688fc0c5 100644
--- a/docs/cmdline-opts/disable.d
+++ b/docs/cmdline-opts/disable.d
@@ -1,6 +1,7 @@
Long: disable
Short: q
Help: Disable .curlrc
+Category: curl
---
If used as the first parameter on the command line, the \fIcurlrc\fP config
file will not be read and used. See the --config for details on the default
diff --git a/docs/cmdline-opts/disallow-username-in-url.d b/docs/cmdline-opts/disallow-username-in-url.d
index a7f46ea1..e124f675 100644
--- a/docs/cmdline-opts/disallow-username-in-url.d
+++ b/docs/cmdline-opts/disallow-username-in-url.d
@@ -3,5 +3,6 @@ Help: Disallow username in url
Protocols: HTTP
Added: 7.61.0
See-also: proto
+Category: curl http
---
This tells curl to exit if passed a url containing a username.
diff --git a/docs/cmdline-opts/dns-interface.d b/docs/cmdline-opts/dns-interface.d
index 45e5af26..3cb818ae 100644
--- a/docs/cmdline-opts/dns-interface.d
+++ b/docs/cmdline-opts/dns-interface.d
@@ -5,6 +5,7 @@ Protocols: DNS
See-also: dns-ipv4-addr dns-ipv6-addr
Added: 7.33.0
Requires: c-ares
+Category: dns
---
Tell curl to send outgoing DNS requests through <interface>. This option is a
counterpart to --interface (which does not affect DNS). The supplied string
diff --git a/docs/cmdline-opts/dns-ipv4-addr.d b/docs/cmdline-opts/dns-ipv4-addr.d
index 597b8588..5ebdda5c 100644
--- a/docs/cmdline-opts/dns-ipv4-addr.d
+++ b/docs/cmdline-opts/dns-ipv4-addr.d
@@ -5,6 +5,7 @@ Protocols: DNS
See-also: dns-interface dns-ipv6-addr
Added: 7.33.0
Requires: c-ares
+Category: dns
---
Tell curl to bind to <ip-address> when making IPv4 DNS requests, so that
the DNS requests originate from this address. The argument should be a
diff --git a/docs/cmdline-opts/dns-ipv6-addr.d b/docs/cmdline-opts/dns-ipv6-addr.d
index 581f0195..10e80764 100644
--- a/docs/cmdline-opts/dns-ipv6-addr.d
+++ b/docs/cmdline-opts/dns-ipv6-addr.d
@@ -5,6 +5,7 @@ Protocols: DNS
See-also: dns-interface dns-ipv4-addr
Added: 7.33.0
Requires: c-ares
+Category: dns
---
Tell curl to bind to <ip-address> when making IPv6 DNS requests, so that
the DNS requests originate from this address. The argument should be a
diff --git a/docs/cmdline-opts/dns-servers.d b/docs/cmdline-opts/dns-servers.d
index a98fd07d..8665426a 100644
--- a/docs/cmdline-opts/dns-servers.d
+++ b/docs/cmdline-opts/dns-servers.d
@@ -3,6 +3,7 @@ Arg: <addresses>
Help: DNS server addrs to use
Requires: c-ares
Added: 7.33.0
+Category: dns
---
Set the list of DNS servers to be used instead of the system default.
The list of IP addresses should be separated with commas. Port numbers
diff --git a/docs/cmdline-opts/doh-url.d b/docs/cmdline-opts/doh-url.d
index c871c4d2..7fce4460 100644
--- a/docs/cmdline-opts/doh-url.d
+++ b/docs/cmdline-opts/doh-url.d
@@ -3,6 +3,7 @@ Arg: <URL>
Help: Resolve host names over DOH
Protocols: all
Added: 7.62.0
+Category: dns
---
Specifies which DNS-over-HTTPS (DOH) server to use to resolve hostnames,
instead of using the default name resolver mechanism. The URL must be HTTPS.
diff --git a/docs/cmdline-opts/dump-header.d b/docs/cmdline-opts/dump-header.d
index 33c6674e..8449dfe8 100644
--- a/docs/cmdline-opts/dump-header.d
+++ b/docs/cmdline-opts/dump-header.d
@@ -4,6 +4,7 @@ Arg: <filename>
Help: Write the received headers to <filename>
Protocols: HTTP FTP
See-also: output
+Category: http ftp
---
Write the received protocol headers to the specified file.
diff --git a/docs/cmdline-opts/egd-file.d b/docs/cmdline-opts/egd-file.d
index c22790f6..05ede9ad 100644
--- a/docs/cmdline-opts/egd-file.d
+++ b/docs/cmdline-opts/egd-file.d
@@ -3,6 +3,7 @@ Arg: <file>
Help: EGD socket path for random data
Protocols: TLS
See-also: random-file
+Category: tls
---
Specify the path name to the Entropy Gathering Daemon socket. The socket is
used to seed the random engine for SSL connections.
diff --git a/docs/cmdline-opts/engine.d b/docs/cmdline-opts/engine.d
index cde1a477..9ed0cf1b 100644
--- a/docs/cmdline-opts/engine.d
+++ b/docs/cmdline-opts/engine.d
@@ -2,6 +2,7 @@ Long: engine
Arg: <name>
Help: Crypto engine to use
Protocols: TLS
+Category: tls
---
Select the OpenSSL crypto engine to use for cipher operations. Use --engine
list to print a list of build-time supported engines. Note that not all (or
diff --git a/docs/cmdline-opts/etag-compare.d b/docs/cmdline-opts/etag-compare.d
index 1a698a8f..cbf48ac5 100644
--- a/docs/cmdline-opts/etag-compare.d
+++ b/docs/cmdline-opts/etag-compare.d
@@ -3,6 +3,7 @@ Arg: <file>
Help: Pass an ETag from a file as a custom header
Protocols: HTTP
Added: 7.68.0
+Category: http
---
This option makes a conditional HTTP request for the specific
ETag read from the given file by sending a custom If-None-Match
diff --git a/docs/cmdline-opts/etag-save.d b/docs/cmdline-opts/etag-save.d
index 214723ff..82e6dfa8 100644
--- a/docs/cmdline-opts/etag-save.d
+++ b/docs/cmdline-opts/etag-save.d
@@ -3,6 +3,7 @@ Arg: <file>
Help: Parse ETag from a request and save it to a file
Protocols: HTTP
Added: 7.68.0
+Category: http
---
This option saves an HTTP ETag to the specified file. Etag is
usually part of headers returned by a request. When server sends an
diff --git a/docs/cmdline-opts/expect100-timeout.d b/docs/cmdline-opts/expect100-timeout.d
index c88f0b84..431a529c 100644
--- a/docs/cmdline-opts/expect100-timeout.d
+++ b/docs/cmdline-opts/expect100-timeout.d
@@ -4,6 +4,7 @@ Help: How long to wait for 100-continue
Protocols: HTTP
Added: 7.47.0
See-also: connect-timeout
+Category: http
---
Maximum time in seconds that you allow curl to wait for a 100-continue
response when curl emits an Expects: 100-continue header in its request. By
diff --git a/docs/cmdline-opts/fail-early.d b/docs/cmdline-opts/fail-early.d
index 375d4c91..3fbe238a 100644
--- a/docs/cmdline-opts/fail-early.d
+++ b/docs/cmdline-opts/fail-early.d
@@ -1,6 +1,7 @@
Long: fail-early
Help: Fail on first transfer error, do not continue
Added: 7.52.0
+Category: curl
---
Fail and exit on the first detected transfer error.
diff --git a/docs/cmdline-opts/fail.d b/docs/cmdline-opts/fail.d
index c46c571b..7fc76fb6 100644
--- a/docs/cmdline-opts/fail.d
+++ b/docs/cmdline-opts/fail.d
@@ -2,6 +2,7 @@ Long: fail
Short: f
Protocols: HTTP
Help: Fail silently (no output at all) on HTTP errors
+Category: important http
---
Fail silently (no output at all) on server errors. This is mostly done to
better enable scripts etc to better deal with failed attempts. In normal cases
diff --git a/docs/cmdline-opts/false-start.d b/docs/cmdline-opts/false-start.d
index 65a8afb8..abeff0eb 100644
--- a/docs/cmdline-opts/false-start.d
+++ b/docs/cmdline-opts/false-start.d
@@ -2,6 +2,7 @@ Long: false-start
Help: Enable TLS False Start
Protocols: TLS
Added: 7.42.0
+Category: tls
---
Tells curl to use false start during the TLS handshake. False start is a mode
where a TLS client will start sending application data before verifying the
diff --git a/docs/cmdline-opts/form-string.d b/docs/cmdline-opts/form-string.d
index 49d0d44e..04d2578c 100644
--- a/docs/cmdline-opts/form-string.d
+++ b/docs/cmdline-opts/form-string.d
@@ -3,6 +3,7 @@ Help: Specify multipart MIME data
Protocols: HTTP SMTP IMAP
Arg: <name=string>
See-also: form
+Category: http upload
---
Similar to --form except that the value string for the named parameter is used
literally. Leading \&'@' and \&'<' characters, and the \&';type=' string in
diff --git a/docs/cmdline-opts/form.d b/docs/cmdline-opts/form.d
index 7f1aa31c..3cd8dce7 100644
--- a/docs/cmdline-opts/form.d
+++ b/docs/cmdline-opts/form.d
@@ -4,6 +4,7 @@ Arg: <name=content>
Help: Specify multipart MIME data
Protocols: HTTP SMTP IMAP
Mutexed: data head upload-file
+Category: http upload
---
For HTTP protocol family, this lets curl emulate a filled-in form in which a
user has pressed the submit button. This causes curl to POST data using the
diff --git a/docs/cmdline-opts/ftp-account.d b/docs/cmdline-opts/ftp-account.d
index 013c4f37..bc04ba04 100644
--- a/docs/cmdline-opts/ftp-account.d
+++ b/docs/cmdline-opts/ftp-account.d
@@ -3,6 +3,7 @@ Arg: <data>
Help: Account data string
Protocols: FTP
Added: 7.13.0
+Category: ftp auth
---
When an FTP server asks for "account data" after user name and password has
been provided, this data is sent off using the ACCT command.
diff --git a/docs/cmdline-opts/ftp-alternative-to-user.d b/docs/cmdline-opts/ftp-alternative-to-user.d
index 8982ba8b..17148490 100644
--- a/docs/cmdline-opts/ftp-alternative-to-user.d
+++ b/docs/cmdline-opts/ftp-alternative-to-user.d
@@ -3,6 +3,7 @@ Arg: <command>
Help: String to replace USER [name]
Protocols: FTP
Added: 7.15.5
+Category: ftp
---
If authenticating with the USER and PASS commands fails, send this command.
When connecting to Tumbleweed's Secure Transport server over FTPS using a
diff --git a/docs/cmdline-opts/ftp-create-dirs.d b/docs/cmdline-opts/ftp-create-dirs.d
index ede57100..5d9dfda4 100644
--- a/docs/cmdline-opts/ftp-create-dirs.d
+++ b/docs/cmdline-opts/ftp-create-dirs.d
@@ -2,6 +2,7 @@ Long: ftp-create-dirs
Protocols: FTP SFTP
Help: Create the remote dirs if not present
See-also: create-dirs
+Category: ftp sftp curl
---
When an FTP or SFTP URL/operation uses a path that doesn't currently exist on
the server, the standard behavior of curl is to fail. Using this option, curl
diff --git a/docs/cmdline-opts/ftp-method.d b/docs/cmdline-opts/ftp-method.d
index 95aa522e..149340b8 100644
--- a/docs/cmdline-opts/ftp-method.d
+++ b/docs/cmdline-opts/ftp-method.d
@@ -3,6 +3,7 @@ Arg: <method>
Help: Control CWD usage
Protocols: FTP
Added: 7.15.1
+Category: ftp
---
Control what method curl should use to reach a file on an FTP(S)
server. The method argument should be one of the following alternatives:
diff --git a/docs/cmdline-opts/ftp-pasv.d b/docs/cmdline-opts/ftp-pasv.d
index 44103e21..cbd548de 100644
--- a/docs/cmdline-opts/ftp-pasv.d
+++ b/docs/cmdline-opts/ftp-pasv.d
@@ -3,6 +3,7 @@ Help: Use PASV/EPSV instead of PORT
Protocols: FTP
Added: 7.11.0
See-also: disable-epsv
+Category: ftp
---
Use passive mode for the data connection. Passive is the internal default
behavior, but using this option can be used to override a previous --ftp-port
diff --git a/docs/cmdline-opts/ftp-port.d b/docs/cmdline-opts/ftp-port.d
index e4b14560..9bb1d43f 100644
--- a/docs/cmdline-opts/ftp-port.d
+++ b/docs/cmdline-opts/ftp-port.d
@@ -4,6 +4,7 @@ Help: Use PORT instead of PASV
Short: P
Protocols: FTP
See-also: ftp-pasv disable-eprt
+Category: ftp
---
Reverses the default initiator/listener roles when connecting with FTP. This
option makes curl use active mode. curl then tells the server to connect back
diff --git a/docs/cmdline-opts/ftp-pret.d b/docs/cmdline-opts/ftp-pret.d
index dac4c353..e9c7d251 100644
--- a/docs/cmdline-opts/ftp-pret.d
+++ b/docs/cmdline-opts/ftp-pret.d
@@ -2,6 +2,7 @@ Long: ftp-pret
Help: Send PRET before PASV
Protocols: FTP
Added: 7.20.0
+Category: ftp
---
Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers,
mainly drftpd, require this non-standard command for directory listings as
diff --git a/docs/cmdline-opts/ftp-skip-pasv-ip.d b/docs/cmdline-opts/ftp-skip-pasv-ip.d
index da6ab11f..d6fd4589 100644
--- a/docs/cmdline-opts/ftp-skip-pasv-ip.d
+++ b/docs/cmdline-opts/ftp-skip-pasv-ip.d
@@ -3,6 +3,7 @@ Help: Skip the IP address for PASV
Protocols: FTP
Added: 7.14.2
See-also: ftp-pasv
+Category: ftp
---
Tell curl to not use the IP address the server suggests in its response
to curl's PASV command when curl connects the data connection. Instead curl
diff --git a/docs/cmdline-opts/ftp-ssl-ccc-mode.d b/docs/cmdline-opts/ftp-ssl-ccc-mode.d
index be102949..6289e544 100644
--- a/docs/cmdline-opts/ftp-ssl-ccc-mode.d
+++ b/docs/cmdline-opts/ftp-ssl-ccc-mode.d
@@ -4,6 +4,7 @@ Help: Set CCC mode
Protocols: FTP
Added: 7.16.2
See-also: ftp-ssl-ccc
+Category: ftp tls
---
Sets the CCC mode. The passive mode will not initiate the shutdown, but
instead wait for the server to do it, and will not reply to the shutdown from
diff --git a/docs/cmdline-opts/ftp-ssl-ccc.d b/docs/cmdline-opts/ftp-ssl-ccc.d
index c6edc5b3..33cab430 100644
--- a/docs/cmdline-opts/ftp-ssl-ccc.d
+++ b/docs/cmdline-opts/ftp-ssl-ccc.d
@@ -3,6 +3,7 @@ Help: Send CCC after authenticating
Protocols: FTP
See-also: ssl ftp-ssl-ccc-mode
Added: 7.16.1
+Category: ftp tls
---
Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after
authenticating. The rest of the control channel communication will be
diff --git a/docs/cmdline-opts/ftp-ssl-control.d b/docs/cmdline-opts/ftp-ssl-control.d
index 87a82253..5191353d 100644
--- a/docs/cmdline-opts/ftp-ssl-control.d
+++ b/docs/cmdline-opts/ftp-ssl-control.d
@@ -2,6 +2,7 @@ Long: ftp-ssl-control
Help: Require SSL/TLS for FTP login, clear for transfer
Protocols: FTP
Added: 7.16.0
+Category: ftp tls
---
Require SSL/TLS for the FTP login, clear for transfer. Allows secure
authentication, but non-encrypted data transfers for efficiency. Fails the
diff --git a/docs/cmdline-opts/gen.pl b/docs/cmdline-opts/gen.pl
index b7a924e8..3fec1646 100755
--- a/docs/cmdline-opts/gen.pl
+++ b/docs/cmdline-opts/gen.pl
@@ -43,6 +43,7 @@ my %helplong;
my %arglong;
my %redirlong;
my %protolong;
+my %catlong;
# get the long name version, return the man page string
sub manpageify {
@@ -126,6 +127,7 @@ sub single {
my $arg;
my $mutexed;
my $requires;
+ my $category;
my $seealso;
my $magic; # cmdline special option
while(<F>) {
@@ -159,6 +161,9 @@ sub single {
elsif(/^Requires: *(.*)/i) {
$requires=$1;
}
+ elsif(/^Category: *(.*)/i) {
+ $category=$1;
+ }
elsif(/^Help: *(.*)/i) {
;
}
@@ -166,6 +171,9 @@ sub single {
if(!$long) {
print STDERR "WARN: no 'Long:' in $f\n";
}
+ if(!$category) {
+ print STDERR "WARN: no 'Category:' in $f\n";
+ }
last;
}
else {
@@ -216,12 +224,24 @@ sub single {
if($seealso) {
my @m=split(/ /, $seealso);
my $mstr;
+ my $and = 0;
+ my $num = scalar(@m);
+ if($num > 2) {
+ # use commas up to this point
+ $and = $num - 1;
+ }
+ my $i = 0;
for my $k (@m) {
if(!$helplong{$k}) {
print STDERR "WARN: $f see-alsos a non-existing option: $k\n";
}
my $l = manpageify($k);
- $mstr .= sprintf "%s$l", $mstr?" and ":"";
+ my $sep = " and";
+ if($and && ($i < $and)) {
+ $sep = ",";
+ }
+ $mstr .= sprintf "%s$l", $mstr?"$sep ":"";
+ $i++;
}
push @foot, seealso($standalone, $mstr);
}
@@ -262,6 +282,7 @@ sub getshortlong {
my $help;
my $arg;
my $protocols;
+ my $category;
while(<F>) {
if(/^Short: (.)/i) {
$short=$1;
@@ -278,6 +299,9 @@ sub getshortlong {
elsif(/^Protocols: (.*)/i) {
$protocols=$1;
}
+ elsif(/^Category: (.*)/i) {
+ $category=$1;
+ }
elsif(/^---/) {
last;
}
@@ -291,6 +315,7 @@ sub getshortlong {
$helplong{$long}=$help;
$arglong{$long}=$arg;
$protolong{$long}=$protocols;
+ $catlong{$long}=$category;
}
}
@@ -316,6 +341,8 @@ sub listhelp {
foreach my $f (sort keys %helplong) {
my $long = $f;
my $short = $optlong{$long};
+ my @categories = split ' ', $catlong{$long};
+ my $bitmask;
my $opt;
if(defined($short) && $long) {
@@ -324,7 +351,13 @@ sub listhelp {
elsif($long && !$short) {
$opt = " --$long";
}
-
+ for my $i (0 .. $#categories) {
+ $bitmask .= 'CURLHELP_' . uc $categories[$i];
+ # If not last element, append |
+ if($i < $#categories) {
+ $bitmask .= ' | ';
+ }
+ }
my $arg = $arglong{$long};
if($arg) {
$opt .= " $arg";
@@ -332,7 +365,7 @@ sub listhelp {
my $desc = $helplong{$f};
$desc =~ s/\"/\\\"/g; # escape double quotes
- my $line = sprintf " {\"%s\",\n \"%s\"},\n", $opt, $desc;
+ my $line = sprintf " {\"%s\",\n \"%s\",\n %s},\n", $opt, $desc, $bitmask;
if(length($opt) + length($desc) > 78) {
print STDERR "WARN: the --$long line is too long\n";
@@ -341,6 +374,25 @@ sub listhelp {
}
}
+sub listcats {
+ my %allcats;
+ foreach my $f (sort keys %helplong) {
+ my @categories = split ' ', $catlong{$f};
+ foreach (@categories) {
+ $allcats{$_} = undef;
+ }
+ }
+ my @categories;
+ foreach my $key (keys %allcats) {
+ push @categories, $key;
+ }
+ @categories = sort @categories;
+ unshift @categories, 'hidden';
+ for my $i (0..$#categories) {
+ print '#define ' . 'CURLHELP_' . uc($categories[$i]) . ' ' . "1u << " . $i . "u\n";
+ }
+}
+
sub mainpage {
my (@files) = @_;
# show the page header
@@ -394,8 +446,12 @@ sub getargs {
showprotocols();
return;
}
+ elsif($f eq "listcats") {
+ listcats();
+ return;
+ }
- print "Usage: gen.pl <mainpage/listhelp/single FILE/protos> [files]\n";
+ print "Usage: gen.pl <mainpage/listhelp/single FILE/protos/listcats> [files]\n";
}
#------------------------------------------------------------------------
diff --git a/docs/cmdline-opts/get.d b/docs/cmdline-opts/get.d
index be7cb25f..d529bb4e 100644
--- a/docs/cmdline-opts/get.d
+++ b/docs/cmdline-opts/get.d
@@ -1,6 +1,7 @@
Long: get
Short: G
Help: Put the post data in the URL and use GET
+Category: http upload
---
When used, this option will make all data specified with --data, --data-binary
or --data-urlencode to be used in an HTTP GET request instead of the POST
diff --git a/docs/cmdline-opts/globoff.d b/docs/cmdline-opts/globoff.d
index fff6516b..4b5f30de 100644
--- a/docs/cmdline-opts/globoff.d
+++ b/docs/cmdline-opts/globoff.d
@@ -1,6 +1,7 @@
Long: globoff
Short: g
Help: Disable URL sequences and ranges using {} and []
+Category: curl
---
This option switches off the "URL globbing parser". When you set this option,
you can specify URLs that contain the letters {}[] without having them being
diff --git a/docs/cmdline-opts/happy-eyeballs-timeout-ms.d b/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
index 611a8f1d..ceff2a7d 100644
--- a/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
+++ b/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
@@ -2,6 +2,7 @@ Long: happy-eyeballs-timeout-ms
Arg: <milliseconds>
Help: Time for IPv6 before trying IPv4
Added: 7.59.0
+Category: connection
---
Happy eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6
addresses for dual-stack hosts, preferring IPv6 first for the number of
diff --git a/docs/cmdline-opts/haproxy-protocol.d b/docs/cmdline-opts/haproxy-protocol.d
index cc41c9c4..83582046 100644
--- a/docs/cmdline-opts/haproxy-protocol.d
+++ b/docs/cmdline-opts/haproxy-protocol.d
@@ -2,6 +2,7 @@ Long: haproxy-protocol
Help: Send HAProxy PROXY protocol v1 header
Protocols: HTTP
Added: 7.60.0
+Category: http proxy
---
Send a HAProxy PROXY protocol v1 header at the beginning of the connection. This
is used by some load balancers and reverse proxies to indicate the client's
diff --git a/docs/cmdline-opts/head.d b/docs/cmdline-opts/head.d
index 350a100f..6fe46851 100644
--- a/docs/cmdline-opts/head.d
+++ b/docs/cmdline-opts/head.d
@@ -2,6 +2,7 @@ Long: head
Short: I
Help: Show document info only
Protocols: HTTP FTP FILE
+Category: http ftp file
---
Fetch the headers only! HTTP-servers feature the command HEAD which this uses
to get nothing but the header of a document. When used on an FTP or FILE file,
diff --git a/docs/cmdline-opts/header.d b/docs/cmdline-opts/header.d
index d8292ed7..e8416899 100644
--- a/docs/cmdline-opts/header.d
+++ b/docs/cmdline-opts/header.d
@@ -3,6 +3,7 @@ Short: H
Arg: <header/@file>
Help: Pass custom header(s) to server
Protocols: HTTP
+Category: http
---
Extra header to include in the request when sending HTTP to a server. You may
specify any number of extra headers. Note that if you should add a custom
diff --git a/docs/cmdline-opts/help.d b/docs/cmdline-opts/help.d
index 64aa696d..bf80b781 100644
--- a/docs/cmdline-opts/help.d
+++ b/docs/cmdline-opts/help.d
@@ -1,6 +1,12 @@
Long: help
+Arg: <category>
Short: h
-Help: This help text
+Help: Get help for commands
+Category: important curl
---
-Usage help. This lists all current command line options with a short
-description.
+Usage help. This lists all commands of the <category>.
+If no arg was provided, curl will display the most important
+command line arguments and the list of categories.
+If the argument "all" was provided, curl will display all options available.
+If the argument "category" was provided, curl will display all categories and
+their meanings.
diff --git a/docs/cmdline-opts/hostpubmd5.d b/docs/cmdline-opts/hostpubmd5.d
index a8511580..c926ed8b 100644
--- a/docs/cmdline-opts/hostpubmd5.d
+++ b/docs/cmdline-opts/hostpubmd5.d
@@ -3,6 +3,7 @@ Arg: <md5>
Help: Acceptable MD5 hash of the host public key
Protocols: SFTP SCP
Added: 7.17.1
+Category: sftp scp
---
Pass a string containing 32 hexadecimal digits. The string should
be the 128 bit MD5 checksum of the remote host's public key, curl will refuse
diff --git a/docs/cmdline-opts/http0.9.d b/docs/cmdline-opts/http0.9.d
index 7e783f69..954c22a1 100644
--- a/docs/cmdline-opts/http0.9.d
+++ b/docs/cmdline-opts/http0.9.d
@@ -3,6 +3,7 @@ Tags: Versions
Protocols: HTTP
Added:
Help: Allow HTTP 0.9 responses
+Category: http
---
Tells curl to be fine with HTTP version 0.9 response.
diff --git a/docs/cmdline-opts/http1.0.d b/docs/cmdline-opts/http1.0.d
index d9bbd76f..a4059dbf 100644
--- a/docs/cmdline-opts/http1.0.d
+++ b/docs/cmdline-opts/http1.0.d
@@ -5,6 +5,7 @@ Protocols: HTTP
Added:
Mutexed: http1.1 http2
Help: Use HTTP 1.0
+Category: http
---
Tells curl to use HTTP version 1.0 instead of using its internally preferred
HTTP version.
diff --git a/docs/cmdline-opts/http1.1.d b/docs/cmdline-opts/http1.1.d
index f1e6b5c3..a71a40ba 100644
--- a/docs/cmdline-opts/http1.1.d
+++ b/docs/cmdline-opts/http1.1.d
@@ -4,5 +4,6 @@ Protocols: HTTP
Added: 7.33.0
Mutexed: http1.0 http2
Help: Use HTTP 1.1
+Category: http
---
Tells curl to use HTTP version 1.1.
diff --git a/docs/cmdline-opts/http2-prior-knowledge.d b/docs/cmdline-opts/http2-prior-knowledge.d
index f793f775..ea2906ed 100644
--- a/docs/cmdline-opts/http2-prior-knowledge.d
+++ b/docs/cmdline-opts/http2-prior-knowledge.d
@@ -5,6 +5,7 @@ Added: 7.49.0
Mutexed: http1.1 http1.0 http2
Requires: HTTP/2
Help: Use HTTP 2 without HTTP/1.1 Upgrade
+Category: http
---
Tells curl to issue its non-TLS HTTP requests using HTTP/2 without HTTP/1.1
Upgrade. It requires prior knowledge that the server supports HTTP/2 straight
diff --git a/docs/cmdline-opts/http2.d b/docs/cmdline-opts/http2.d
index cf8f2988..197515ee 100644
--- a/docs/cmdline-opts/http2.d
+++ b/docs/cmdline-opts/http2.d
@@ -7,5 +7,6 @@ Requires: HTTP/2
See-also: no-alpn
Help: Use HTTP 2
See-also: http1.1 http3
+Category: http
---
Tells curl to use HTTP version 2.
diff --git a/docs/cmdline-opts/http3.d b/docs/cmdline-opts/http3.d
index 8265937a..478b662a 100644
--- a/docs/cmdline-opts/http3.d
+++ b/docs/cmdline-opts/http3.d
@@ -6,6 +6,7 @@ Mutexed: http1.1 http1.0 http2 http2-prior-knowledge
Requires: HTTP/3
Help: Use HTTP v3
See-also: http1.1 http2
+Category: http
---
WARNING: this option is experimental. Do not use in production.
diff --git a/docs/cmdline-opts/ignore-content-length.d b/docs/cmdline-opts/ignore-content-length.d
index 53524f51..82ac5da0 100644
--- a/docs/cmdline-opts/ignore-content-length.d
+++ b/docs/cmdline-opts/ignore-content-length.d
@@ -1,6 +1,7 @@
Long: ignore-content-length
Help: Ignore the size of the remote resource
Protocols: FTP HTTP
+Category: http ftp
---
For HTTP, Ignore the Content-Length header. This is particularly useful for
servers running Apache 1.x, which will report incorrect Content-Length for
diff --git a/docs/cmdline-opts/include.d b/docs/cmdline-opts/include.d
index 9d282dd1..250d4acc 100644
--- a/docs/cmdline-opts/include.d
+++ b/docs/cmdline-opts/include.d
@@ -2,6 +2,7 @@ Long: include
Short: i
Help: Include protocol response headers in the output
See-also: verbose
+Category: important verbose
---
Include the HTTP response headers in the output. The HTTP response headers can
include things like server name, cookies, date of the document, HTTP version
diff --git a/docs/cmdline-opts/insecure.d b/docs/cmdline-opts/insecure.d
index 49b0a432..35f4a2e0 100644
--- a/docs/cmdline-opts/insecure.d
+++ b/docs/cmdline-opts/insecure.d
@@ -3,6 +3,7 @@ Short: k
Help: Allow insecure server connections when using SSL
Protocols: TLS
See-also: proxy-insecure cacert
+Category: tls
---
By default, every SSL connection curl makes is verified to be secure. This
diff --git a/docs/cmdline-opts/interface.d b/docs/cmdline-opts/interface.d
index 65827fb8..196e7efa 100644
--- a/docs/cmdline-opts/interface.d
+++ b/docs/cmdline-opts/interface.d
@@ -2,6 +2,7 @@ Long: interface
Arg: <name>
Help: Use network INTERFACE (or address)
See-also: dns-interface
+Category: connection
---
Perform an operation using a specified interface. You can enter interface
diff --git a/docs/cmdline-opts/ipv4.d b/docs/cmdline-opts/ipv4.d
index 9c40c8c3..a6691376 100644
--- a/docs/cmdline-opts/ipv4.d
+++ b/docs/cmdline-opts/ipv4.d
@@ -7,6 +7,7 @@ Mutexed: ipv6
Requires:
See-also: http1.1 http2
Help: Resolve names to IPv4 addresses
+Category: connection dns
---
This option tells curl to resolve names to IPv4 addresses only, and not for
example try IPv6.
diff --git a/docs/cmdline-opts/ipv6.d b/docs/cmdline-opts/ipv6.d
index 6eef6dd0..ce0415ca 100644
--- a/docs/cmdline-opts/ipv6.d
+++ b/docs/cmdline-opts/ipv6.d
@@ -7,6 +7,7 @@ Mutexed: ipv4
Requires:
See-also: http1.1 http2
Help: Resolve names to IPv6 addresses
+Category: connection dns
---
This option tells curl to resolve names to IPv6 addresses only, and not for
example try IPv4.
diff --git a/docs/cmdline-opts/junk-session-cookies.d b/docs/cmdline-opts/junk-session-cookies.d
index 40ccd9c2..993b77fa 100644
--- a/docs/cmdline-opts/junk-session-cookies.d
+++ b/docs/cmdline-opts/junk-session-cookies.d
@@ -3,6 +3,7 @@ Short: j
Help: Ignore session cookies read from file
Protocols: HTTP
See-also: cookie cookie-jar
+Category: http
---
When curl is told to read cookies from a given file, this option will make it
discard all "session cookies". This will basically have the same effect as if
diff --git a/docs/cmdline-opts/keepalive-time.d b/docs/cmdline-opts/keepalive-time.d
index c816e13f..41261535 100644
--- a/docs/cmdline-opts/keepalive-time.d
+++ b/docs/cmdline-opts/keepalive-time.d
@@ -2,6 +2,7 @@ Long: keepalive-time
Arg: <seconds>
Help: Interval time for keepalive probes
Added: 7.18.0
+Category: connection
---
This option sets the time a connection needs to remain idle before sending
keepalive probes and the time between individual keepalive probes. It is
diff --git a/docs/cmdline-opts/key-type.d b/docs/cmdline-opts/key-type.d
index bf39bcd3..50a06867 100644
--- a/docs/cmdline-opts/key-type.d
+++ b/docs/cmdline-opts/key-type.d
@@ -2,6 +2,7 @@ Long: key-type
Arg: <type>
Help: Private key file type (DER/PEM/ENG)
Protocols: TLS
+Category: tls
---
Private key file type. Specify which type your --key provided private key
is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
diff --git a/docs/cmdline-opts/key.d b/docs/cmdline-opts/key.d
index 855e2f7b..a762e6fa 100644
--- a/docs/cmdline-opts/key.d
+++ b/docs/cmdline-opts/key.d
@@ -2,6 +2,7 @@ Long: key
Arg: <key>
Protocols: TLS SSH
Help: Private key file name
+Category: tls ssh
---
Private key file name. Allows you to provide your private key in this separate
file. For SSH, if not specified, curl tries the following candidates in order:
diff --git a/docs/cmdline-opts/krb.d b/docs/cmdline-opts/krb.d
index 19547af0..7759cfb0 100644
--- a/docs/cmdline-opts/krb.d
+++ b/docs/cmdline-opts/krb.d
@@ -3,6 +3,7 @@ Arg: <level>
Help: Enable Kerberos with security <level>
Protocols: FTP
Requires: Kerberos
+Category: ftp
---
Enable Kerberos authentication and use. The level must be entered and should
be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a
diff --git a/docs/cmdline-opts/libcurl.d b/docs/cmdline-opts/libcurl.d
index ef132fe7..eb9850c6 100644
--- a/docs/cmdline-opts/libcurl.d
+++ b/docs/cmdline-opts/libcurl.d
@@ -2,6 +2,7 @@ Long: libcurl
Arg: <file>
Help: Dump libcurl equivalent code of this command line
Added: 7.16.1
+Category: curl
---
Append this option to any ordinary curl command line, and you will get a
libcurl-using C source code written to the file that does the equivalent
diff --git a/docs/cmdline-opts/limit-rate.d b/docs/cmdline-opts/limit-rate.d
index 06c456e3..cb3a8607 100644
--- a/docs/cmdline-opts/limit-rate.d
+++ b/docs/cmdline-opts/limit-rate.d
@@ -1,6 +1,7 @@
Long: limit-rate
Arg: <speed>
Help: Limit transfer speed to RATE
+Category: connection
---
Specify the maximum transfer rate you want curl to use - for both downloads
and uploads. This feature is useful if you have a limited pipe and you'd like
diff --git a/docs/cmdline-opts/list-only.d b/docs/cmdline-opts/list-only.d
index 63b2851f..c6988580 100644
--- a/docs/cmdline-opts/list-only.d
+++ b/docs/cmdline-opts/list-only.d
@@ -3,6 +3,7 @@ Short: l
Protocols: FTP POP3
Help: List only mode
Added: 4.0
+Category: ftp pop3
---
(FTP)
When listing an FTP directory, this switch forces a name-only view. This is
diff --git a/docs/cmdline-opts/local-port.d b/docs/cmdline-opts/local-port.d
index d96b46eb..3f7a0e02 100644
--- a/docs/cmdline-opts/local-port.d
+++ b/docs/cmdline-opts/local-port.d
@@ -2,6 +2,7 @@ Long: local-port
Arg: <num/range>
Help: Force use of RANGE for local port numbers
Added: 7.15.2
+Category: connection
---
Set a preferred single number or range (FROM-TO) of local port numbers to use
for the connection(s). Note that port numbers by nature are a scarce resource
diff --git a/docs/cmdline-opts/location-trusted.d b/docs/cmdline-opts/location-trusted.d
index 995a8718..f01d842b 100644
--- a/docs/cmdline-opts/location-trusted.d
+++ b/docs/cmdline-opts/location-trusted.d
@@ -2,6 +2,7 @@ Long: location-trusted
Help: Like --location, and send auth to other hosts
Protocols: HTTP
See-also: user
+Category: http auth
---
Like --location, but will allow sending the name + password to all hosts that
the site may redirect to. This may or may not introduce a security breach if
diff --git a/docs/cmdline-opts/location.d b/docs/cmdline-opts/location.d
index b5ba1f4f..c70b2eba 100644
--- a/docs/cmdline-opts/location.d
+++ b/docs/cmdline-opts/location.d
@@ -2,6 +2,7 @@ Long: location
Short: L
Help: Follow redirects
Protocols: HTTP
+Category: http
---
If the server reports that the requested page has moved to a different
location (indicated with a Location: header and a 3XX response code), this
diff --git a/docs/cmdline-opts/login-options.d b/docs/cmdline-opts/login-options.d
index 8bad0511..887d5d51 100644
--- a/docs/cmdline-opts/login-options.d
+++ b/docs/cmdline-opts/login-options.d
@@ -3,6 +3,7 @@ Arg: <options>
Protocols: IMAP POP3 SMTP
Help: Server login options
Added: 7.34.0
+Category: imap pop3 smtp auth
---
Specify the login options to use during server authentication.
diff --git a/docs/cmdline-opts/mail-auth.d b/docs/cmdline-opts/mail-auth.d
index 70cf0eda..52999716 100644
--- a/docs/cmdline-opts/mail-auth.d
+++ b/docs/cmdline-opts/mail-auth.d
@@ -4,6 +4,7 @@ Protocols: SMTP
Help: Originator address of the original email
Added: 7.25.0
See-also: mail-rcpt mail-from
+Category: smtp
---
Specify a single address. This will be used to specify the authentication
address (identity) of a submitted message that is being relayed to another
diff --git a/docs/cmdline-opts/mail-from.d b/docs/cmdline-opts/mail-from.d
index 1d932344..faf48e2a 100644
--- a/docs/cmdline-opts/mail-from.d
+++ b/docs/cmdline-opts/mail-from.d
@@ -4,5 +4,6 @@ Help: Mail from this address
Protocols: SMTP
Added: 7.20.0
See-also: mail-rcpt mail-auth
+Category: smtp
---
Specify a single address that the given mail should get sent from.
diff --git a/docs/cmdline-opts/mail-rcpt-allowfails.d b/docs/cmdline-opts/mail-rcpt-allowfails.d
index b5723df3..76457c32 100644
--- a/docs/cmdline-opts/mail-rcpt-allowfails.d
+++ b/docs/cmdline-opts/mail-rcpt-allowfails.d
@@ -2,6 +2,7 @@ Long: mail-rcpt-allowfails
Help: Allow RCPT TO command to fail for some recipients
Protocols: SMTP
Added: 7.69.0
+Category: smtp
---
When sending data to multiple recipients, by default curl will abort SMTP
conversation if at least one of the recipients causes RCPT TO command to
diff --git a/docs/cmdline-opts/mail-rcpt.d b/docs/cmdline-opts/mail-rcpt.d
index 0a2859b6..d8ae046e 100644
--- a/docs/cmdline-opts/mail-rcpt.d
+++ b/docs/cmdline-opts/mail-rcpt.d
@@ -3,6 +3,7 @@ Arg: <address>
Help: Mail to this address
Protocols: SMTP
Added: 7.20.0
+Category: smtp
---
Specify a single address, user name or mailing list name. Repeat this
option several times to send to multiple recipients.
diff --git a/docs/cmdline-opts/manual.d b/docs/cmdline-opts/manual.d
index a9dbb0c7..25ed08dd 100644
--- a/docs/cmdline-opts/manual.d
+++ b/docs/cmdline-opts/manual.d
@@ -1,5 +1,6 @@
Long: manual
Short: M
Help: Display the full manual
+Category: curl
---
Manual. Display the huge help text.
diff --git a/docs/cmdline-opts/max-filesize.d b/docs/cmdline-opts/max-filesize.d
index 50d5266e..1f6bdc66 100644
--- a/docs/cmdline-opts/max-filesize.d
+++ b/docs/cmdline-opts/max-filesize.d
@@ -2,6 +2,7 @@ Long: max-filesize
Arg: <bytes>
Help: Maximum file size to download
See-also: limit-rate
+Category: connection
---
Specify the maximum size (in bytes) of a file to download. If the file
requested is larger than this value, the transfer will not start and curl will
diff --git a/docs/cmdline-opts/max-redirs.d b/docs/cmdline-opts/max-redirs.d
index a97860a8..ba16c43f 100644
--- a/docs/cmdline-opts/max-redirs.d
+++ b/docs/cmdline-opts/max-redirs.d
@@ -2,6 +2,7 @@ Long: max-redirs
Arg: <num>
Help: Maximum number of redirects allowed
Protocols: HTTP
+Category: http
---
Set maximum number of redirection-followings allowed. When --location is used,
is used to prevent curl from following redirections too much. By default, the
diff --git a/docs/cmdline-opts/max-time.d b/docs/cmdline-opts/max-time.d
index 0057f9d0..c4e4ed7e 100644
--- a/docs/cmdline-opts/max-time.d
+++ b/docs/cmdline-opts/max-time.d
@@ -3,6 +3,7 @@ Short: m
Arg: <seconds>
Help: Maximum time allowed for the transfer
See-also: connect-timeout
+Category: connection
---
Maximum time in seconds that you allow the whole operation to take. This is
useful for preventing your batch jobs from hanging for hours due to slow
diff --git a/docs/cmdline-opts/metalink.d b/docs/cmdline-opts/metalink.d
index 81fc8bc7..88376643 100644
--- a/docs/cmdline-opts/metalink.d
+++ b/docs/cmdline-opts/metalink.d
@@ -2,6 +2,7 @@ Long: metalink
Help: Process given URLs as metalink XML file
Added: 7.27.0
Requires: metalink
+Category: misc
---
This option can tell curl to parse and process a given URI as Metalink file
(both version 3 and 4 (RFC 5854) are supported) and make use of the mirrors
diff --git a/docs/cmdline-opts/negotiate.d b/docs/cmdline-opts/negotiate.d
index 69a6b917..e247bfbe 100644
--- a/docs/cmdline-opts/negotiate.d
+++ b/docs/cmdline-opts/negotiate.d
@@ -2,6 +2,7 @@ Long: negotiate
Help: Use HTTP Negotiate (SPNEGO) authentication
Protocols: HTTP
See-also: basic ntlm anyauth proxy-negotiate
+Category: auth http
---
Enables Negotiate (SPNEGO) authentication.
diff --git a/docs/cmdline-opts/netrc-file.d b/docs/cmdline-opts/netrc-file.d
index 50126d25..95fb2654 100644
--- a/docs/cmdline-opts/netrc-file.d
+++ b/docs/cmdline-opts/netrc-file.d
@@ -3,6 +3,7 @@ Help: Specify FILE for netrc
Arg: <filename>
Added: 7.21.5
Mutexed: netrc
+Category: curl
---
This option is similar to --netrc, except that you provide the path (absolute
or relative) to the netrc file that curl should use. You can only specify one
diff --git a/docs/cmdline-opts/netrc-optional.d b/docs/cmdline-opts/netrc-optional.d
index c2854030..fa92032b 100644
--- a/docs/cmdline-opts/netrc-optional.d
+++ b/docs/cmdline-opts/netrc-optional.d
@@ -2,6 +2,7 @@ Long: netrc-optional
Help: Use either .netrc or URL
Mutexed: netrc
See-also: netrc-file
+Category: curl
---
Very similar to --netrc, but this option makes the .netrc usage \fBoptional\fP
and not mandatory as the --netrc option does.
diff --git a/docs/cmdline-opts/netrc.d b/docs/cmdline-opts/netrc.d
index 2df26782..6aac568a 100644
--- a/docs/cmdline-opts/netrc.d
+++ b/docs/cmdline-opts/netrc.d
@@ -1,6 +1,7 @@
Long: netrc
Short: n
Help: Must read .netrc for user name and password
+Category: curl
---
Makes curl scan the \fI.netrc\fP (\fI_netrc\fP on Windows) file in the user's
home directory for login name and password. This is typically used for FTP on
diff --git a/docs/cmdline-opts/next.d b/docs/cmdline-opts/next.d
index 1d1e70a3..1adcc753 100644
--- a/docs/cmdline-opts/next.d
+++ b/docs/cmdline-opts/next.d
@@ -5,6 +5,7 @@ Protocols:
Added: 7.36.0
Magic: divider
Help: Make next URL use its separate set of options
+Category: curl
---
Tells curl to use a separate operation for the following URL and associated
options. This allows you to send several URL requests, each with their own
diff --git a/docs/cmdline-opts/no-alpn.d b/docs/cmdline-opts/no-alpn.d
index 88abb836..8031b4f0 100644
--- a/docs/cmdline-opts/no-alpn.d
+++ b/docs/cmdline-opts/no-alpn.d
@@ -5,6 +5,7 @@ Added: 7.36.0
See-also: no-npn http2
Requires: TLS
Help: Disable the ALPN TLS extension
+Category: tls http
---
Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built
with an SSL library that supports ALPN. ALPN is used by a libcurl that supports
diff --git a/docs/cmdline-opts/no-buffer.d b/docs/cmdline-opts/no-buffer.d
index 65a6282f..1079f471 100644
--- a/docs/cmdline-opts/no-buffer.d
+++ b/docs/cmdline-opts/no-buffer.d
@@ -1,6 +1,7 @@
Long: no-buffer
Short: N
Help: Disable buffering of the output stream
+Category: curl
---
Disables the buffering of the output stream. In normal work situations, curl
will use a standard buffered output stream that will have the effect that it
diff --git a/docs/cmdline-opts/no-keepalive.d b/docs/cmdline-opts/no-keepalive.d
index 8fb28a03..72f3bc9a 100644
--- a/docs/cmdline-opts/no-keepalive.d
+++ b/docs/cmdline-opts/no-keepalive.d
@@ -1,5 +1,6 @@
Long: no-keepalive
Help: Disable TCP keepalive on the connection
+Category: connection
---
Disables the use of keepalive messages on the TCP connection. curl otherwise
enables them by default.
diff --git a/docs/cmdline-opts/no-npn.d b/docs/cmdline-opts/no-npn.d
index ab0f6de2..27e5974b 100644
--- a/docs/cmdline-opts/no-npn.d
+++ b/docs/cmdline-opts/no-npn.d
@@ -6,6 +6,7 @@ Mutexed:
See-also: no-alpn http2
Requires: TLS
Help: Disable the NPN TLS extension
+Category: tls http
---
Disable the NPN TLS extension. NPN is enabled by default if libcurl was built
with an SSL library that supports NPN. NPN is used by a libcurl that supports
diff --git a/docs/cmdline-opts/no-progress-meter.d b/docs/cmdline-opts/no-progress-meter.d
index aff0717d..bf28d635 100644
--- a/docs/cmdline-opts/no-progress-meter.d
+++ b/docs/cmdline-opts/no-progress-meter.d
@@ -2,6 +2,7 @@ Long: no-progress-meter
Help: Do not show the progress meter
See-also: verbose silent
Added: 7.67.0
+Category: verbose
---
Option to switch off the progress meter output without muting or otherwise
affecting warning and informational messages like --silent does.
diff --git a/docs/cmdline-opts/no-sessionid.d b/docs/cmdline-opts/no-sessionid.d
index 397a1586..013ca4cb 100644
--- a/docs/cmdline-opts/no-sessionid.d
+++ b/docs/cmdline-opts/no-sessionid.d
@@ -2,6 +2,7 @@ Long: no-sessionid
Help: Disable SSL session-ID reusing
Protocols: TLS
Added: 7.16.0
+Category: tls
---
Disable curl's use of SSL session-ID caching. By default all transfers are
done using the cache. Note that while nothing should ever get hurt by
diff --git a/docs/cmdline-opts/noproxy.d b/docs/cmdline-opts/noproxy.d
index a216e75f..12ce6d3e 100644
--- a/docs/cmdline-opts/noproxy.d
+++ b/docs/cmdline-opts/noproxy.d
@@ -2,6 +2,7 @@ Long: noproxy
Arg: <no-proxy-list>
Help: List of hosts which do not use proxy
Added: 7.19.4
+Category: proxy
---
Comma-separated list of hosts which do not use a proxy, if one is specified.
The only wildcard is a single * character, which matches all hosts, and
diff --git a/docs/cmdline-opts/ntlm-wb.d b/docs/cmdline-opts/ntlm-wb.d
index 7b933840..4a2f7e1e 100644
--- a/docs/cmdline-opts/ntlm-wb.d
+++ b/docs/cmdline-opts/ntlm-wb.d
@@ -2,6 +2,7 @@ Long: ntlm-wb
Help: Use HTTP NTLM authentication with winbind
Protocols: HTTP
See-also: ntlm proxy-ntlm
+Category: auth http
---
Enables NTLM much in the style --ntlm does, but hand over the authentication
to the separate binary ntlmauth application that is executed when needed.
diff --git a/docs/cmdline-opts/ntlm.d b/docs/cmdline-opts/ntlm.d
index baaa1d53..c63c086e 100644
--- a/docs/cmdline-opts/ntlm.d
+++ b/docs/cmdline-opts/ntlm.d
@@ -4,6 +4,7 @@ Mutexed: basic negotiate digest anyauth
See-also: proxy-ntlm
Protocols: HTTP
Requires: TLS
+Category: auth http
---
Enables NTLM authentication. The NTLM authentication method was designed by
Microsoft and is used by IIS web servers. It is a proprietary protocol,
diff --git a/docs/cmdline-opts/oauth2-bearer.d b/docs/cmdline-opts/oauth2-bearer.d
index 30466e57..e0ea210e 100644
--- a/docs/cmdline-opts/oauth2-bearer.d
+++ b/docs/cmdline-opts/oauth2-bearer.d
@@ -2,6 +2,7 @@ Long: oauth2-bearer
Help: OAuth 2 Bearer Token
Arg: <token>
Protocols: IMAP POP3 SMTP HTTP
+Category: auth
---
Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
is used in conjunction with the user name which can be specified as part of
diff --git a/docs/cmdline-opts/output-dir.d b/docs/cmdline-opts/output-dir.d
new file mode 100644
index 00000000..d2ff7738
--- /dev/null
+++ b/docs/cmdline-opts/output-dir.d
@@ -0,0 +1,19 @@
+Long: output-dir
+Arg: <dir>
+Help: Directory to save files in
+Added: 7.73.0
+See-also: remote-name remote-header-name
+Category: curl
+---
+
+This option specifies the directory in which files should be stored, when
+--remote-name or --output are used.
+
+The given output directory is used for all URLs and output options on the
+command line, up until the first --next.
+
+If the specified target directory doesn't exist, the operation will fail
+unless --create-dirs is also used.
+
+If this option is used multiple times, the last specified directory will be
+used.
diff --git a/docs/cmdline-opts/output.d b/docs/cmdline-opts/output.d
index f310c267..bf35bf4a 100644
--- a/docs/cmdline-opts/output.d
+++ b/docs/cmdline-opts/output.d
@@ -3,6 +3,7 @@ Arg: <file>
Short: o
Help: Write to file instead of stdout
See-also: remote-name remote-name-all remote-header-name
+Category: important curl
---
Write output to <file> instead of stdout. If you are using {} or [] to fetch
multiple documents, you should quote the URL and you can use '#' followed by a
diff --git a/docs/cmdline-opts/page-footer b/docs/cmdline-opts/page-footer
index 2a65b84f..479c712a 100644
--- a/docs/cmdline-opts/page-footer
+++ b/docs/cmdline-opts/page-footer
@@ -36,11 +36,15 @@ accesses the target URL through the proxy.
The list of host names can also be include numerical IP addresses, and IPv6
versions should then be given without enclosing brackets.
+
+IPv6 numerical addresses are compared as strings, so they will only match if
+the representations are the same: "::1" is the same as "::0:1" but they don't
+match.
.IP "CURL_SSL_BACKEND <TLS backend>"
If curl was built with support for "MultiSSL", meaning that it has built-in
support for more than one TLS backend, this environment variable can be set to
the case insensitive name of the particular backend to use when curl is
-invokved. Setting a name that isn't a built-in alternative, will make curl
+invoked. Setting a name that isn't a built-in alternative, will make curl
stay with the default.
.IP "QLOGDIR <directory name>"
If curl was built with HTTP/3 support, setting this environment variable to a
diff --git a/docs/cmdline-opts/parallel-immediate.d b/docs/cmdline-opts/parallel-immediate.d
index 34393108..95c8afc4 100644
--- a/docs/cmdline-opts/parallel-immediate.d
+++ b/docs/cmdline-opts/parallel-immediate.d
@@ -2,6 +2,7 @@ Long: parallel-immediate
Help: Do not wait for multiplexing (with --parallel)
Added: 7.68.0
See-also: parallel parallel-max
+Category: connection curl
---
When doing parallel transfers, this option will instruct curl that it should
rather prefer opening up more connections in parallel at once rather than
diff --git a/docs/cmdline-opts/parallel-max.d b/docs/cmdline-opts/parallel-max.d
index a8c79c74..d49aeb7a 100644
--- a/docs/cmdline-opts/parallel-max.d
+++ b/docs/cmdline-opts/parallel-max.d
@@ -2,6 +2,7 @@ Long: parallel-max
Help: Maximum concurrency for parallel transfers
Added: 7.66.0
See-also: parallel
+Category: connection curl
---
When asked to do parallel transfers, using --parallel, this option controls
the maximum amount of transfers to do simultaneously.
diff --git a/docs/cmdline-opts/parallel.d b/docs/cmdline-opts/parallel.d
index fac84e62..d6b4affe 100644
--- a/docs/cmdline-opts/parallel.d
+++ b/docs/cmdline-opts/parallel.d
@@ -2,6 +2,7 @@ Short: Z
Long: parallel
Help: Perform transfers in parallel
Added: 7.66.0
+Category: connection curl
---
Makes curl perform its transfers in parallel as compared to the regular serial
manner.
diff --git a/docs/cmdline-opts/pass.d b/docs/cmdline-opts/pass.d
index 2639cb9d..f6633d24 100644
--- a/docs/cmdline-opts/pass.d
+++ b/docs/cmdline-opts/pass.d
@@ -2,6 +2,7 @@ Long: pass
Arg: <phrase>
Help: Pass phrase for the private key
Protocols: SSH TLS
+Category: ssh tls auth
---
Passphrase for the private key
diff --git a/docs/cmdline-opts/path-as-is.d b/docs/cmdline-opts/path-as-is.d
index 946e2f07..0bfaf663 100644
--- a/docs/cmdline-opts/path-as-is.d
+++ b/docs/cmdline-opts/path-as-is.d
@@ -1,6 +1,7 @@
Long: path-as-is
Help: Do not squash .. sequences in URL path
Added: 7.42.0
+Category: curl
---
Tell curl to not handle sequences of /../ or /./ in the given URL
path. Normally curl will squash or merge them according to standards but with
diff --git a/docs/cmdline-opts/pinnedpubkey.d b/docs/cmdline-opts/pinnedpubkey.d
index cd21911f..617252c6 100644
--- a/docs/cmdline-opts/pinnedpubkey.d
+++ b/docs/cmdline-opts/pinnedpubkey.d
@@ -2,6 +2,7 @@ Long: pinnedpubkey
Arg: <hashes>
Help: FILE/HASHES Public key to verify peer against
Protocols: TLS
+Category: tls
---
Tells curl to use the specified public key file (or hashes) to verify the
peer. This can be a path to a file which contains a single public key in PEM
diff --git a/docs/cmdline-opts/post301.d b/docs/cmdline-opts/post301.d
index 87a9fe7e..9cc2ad01 100644
--- a/docs/cmdline-opts/post301.d
+++ b/docs/cmdline-opts/post301.d
@@ -3,6 +3,7 @@ Help: Do not switch to GET after following a 301
Protocols: HTTP
See-also: post302 post303 location
Added: 7.17.1
+Category: http post
---
Tells curl to respect RFC 7231/6.4.2 and not convert POST requests into GET
requests when following a 301 redirection. The non-RFC behaviour is ubiquitous
diff --git a/docs/cmdline-opts/post302.d b/docs/cmdline-opts/post302.d
index caf0d87f..02749032 100644
--- a/docs/cmdline-opts/post302.d
+++ b/docs/cmdline-opts/post302.d
@@ -3,6 +3,7 @@ Help: Do not switch to GET after following a 302
Protocols: HTTP
See-also: post301 post303 location
Added: 7.19.1
+Category: http post
---
Tells curl to respect RFC 7231/6.4.3 and not convert POST requests into GET
requests when following a 302 redirection. The non-RFC behaviour is ubiquitous
diff --git a/docs/cmdline-opts/post303.d b/docs/cmdline-opts/post303.d
index 44f39e61..1a67e13e 100644
--- a/docs/cmdline-opts/post303.d
+++ b/docs/cmdline-opts/post303.d
@@ -3,6 +3,7 @@ Help: Do not switch to GET after following a 303
Protocols: HTTP
See-also: post302 post301 location
Added: 7.26.0
+Category: http post
---
Tells curl to violate RFC 7231/6.4.4 and not convert POST requests into GET
requests when following 303 redirections. A server may require a POST to
diff --git a/docs/cmdline-opts/preproxy.d b/docs/cmdline-opts/preproxy.d
index b8eb77fa..a917c16e 100644
--- a/docs/cmdline-opts/preproxy.d
+++ b/docs/cmdline-opts/preproxy.d
@@ -2,6 +2,7 @@ Long: preproxy
Arg: [protocol://]host[:port]
Help: Use this proxy first
Added: 7.52.0
+Category: proxy
---
Use the specified SOCKS proxy before connecting to an HTTP or HTTPS --proxy. In
such a case curl first connects to the SOCKS proxy and then connects (through
diff --git a/docs/cmdline-opts/progress-bar.d b/docs/cmdline-opts/progress-bar.d
index f27de2d9..299d5384 100644
--- a/docs/cmdline-opts/progress-bar.d
+++ b/docs/cmdline-opts/progress-bar.d
@@ -1,6 +1,7 @@
Short: #
Long: progress-bar
Help: Display transfer progress as a bar
+Category: verbose
---
Make curl display transfer progress as a simple progress bar instead of the
standard, more informational, meter.
diff --git a/docs/cmdline-opts/proto-default.d b/docs/cmdline-opts/proto-default.d
index ccc3b85f..1c2afea2 100644
--- a/docs/cmdline-opts/proto-default.d
+++ b/docs/cmdline-opts/proto-default.d
@@ -2,6 +2,7 @@ Long: proto-default
Help: Use PROTOCOL for any URL missing a scheme
Arg: <protocol>
Added: 7.45.0
+Category: connection curl
---
Tells curl to use \fIprotocol\fP for any URL missing a scheme name.
diff --git a/docs/cmdline-opts/proto-redir.d b/docs/cmdline-opts/proto-redir.d
index a1205dd0..9a096f53 100644
--- a/docs/cmdline-opts/proto-redir.d
+++ b/docs/cmdline-opts/proto-redir.d
@@ -2,6 +2,7 @@ Long: proto-redir
Arg: <protocols>
Help: Enable/disable PROTOCOLS on redirect
Added: 7.20.2
+Category: connection curl
---
Tells curl to limit what protocols it may use on redirect. Protocols denied by
--proto are not overridden by this option. See --proto for how protocols are
diff --git a/docs/cmdline-opts/proto.d b/docs/cmdline-opts/proto.d
index e1ece178..46c91225 100644
--- a/docs/cmdline-opts/proto.d
+++ b/docs/cmdline-opts/proto.d
@@ -3,6 +3,7 @@ Arg: <protocols>
Help: Enable/disable PROTOCOLS
See-also: proto-redir proto-default
Added: 7.20.2
+Category: connection curl
---
Tells curl to limit what protocols it may use in the transfer. Protocols are
evaluated left to right, are comma separated, and are each a protocol name or
diff --git a/docs/cmdline-opts/proxy-anyauth.d b/docs/cmdline-opts/proxy-anyauth.d
index b60d0a05..6410c0e6 100644
--- a/docs/cmdline-opts/proxy-anyauth.d
+++ b/docs/cmdline-opts/proxy-anyauth.d
@@ -2,6 +2,7 @@ Long: proxy-anyauth
Help: Pick any proxy authentication method
Added: 7.13.2
See-also: proxy proxy-basic proxy-digest
+Category: proxy auth
---
Tells curl to pick a suitable authentication method when communicating with
the given HTTP proxy. This might cause an extra request/response round-trip.
diff --git a/docs/cmdline-opts/proxy-basic.d b/docs/cmdline-opts/proxy-basic.d
index 566f890a..e842f990 100644
--- a/docs/cmdline-opts/proxy-basic.d
+++ b/docs/cmdline-opts/proxy-basic.d
@@ -1,6 +1,7 @@
Long: proxy-basic
Help: Use Basic authentication on the proxy
See-also: proxy proxy-anyauth proxy-digest
+Category: proxy auth
---
Tells curl to use HTTP Basic authentication when communicating with the given
proxy. Use --basic for enabling HTTP Basic with a remote host. Basic is the
diff --git a/docs/cmdline-opts/proxy-cacert.d b/docs/cmdline-opts/proxy-cacert.d
index 2713dd2a..bbc731a2 100644
--- a/docs/cmdline-opts/proxy-cacert.d
+++ b/docs/cmdline-opts/proxy-cacert.d
@@ -3,5 +3,6 @@ Help: CA certificate to verify peer against for proxy
Arg: <file>
Added: 7.52.0
See-also: proxy-capath cacert capath proxy
+Category: proxy tls
---
Same as --cacert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-capath.d b/docs/cmdline-opts/proxy-capath.d
index 177246aa..cc342b75 100644
--- a/docs/cmdline-opts/proxy-capath.d
+++ b/docs/cmdline-opts/proxy-capath.d
@@ -3,5 +3,6 @@ Help: CA directory to verify peer against for proxy
Arg: <dir>
Added: 7.52.0
See-also: proxy-cacert proxy capath
+Category: proxy tls
---
Same as --capath but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-cert-type.d b/docs/cmdline-opts/proxy-cert-type.d
index 906d2a11..fb7596c1 100644
--- a/docs/cmdline-opts/proxy-cert-type.d
+++ b/docs/cmdline-opts/proxy-cert-type.d
@@ -2,5 +2,6 @@ Long: proxy-cert-type
Arg: <type>
Added: 7.52.0
Help: Client certificate type for HTTPS proxy
+Category: proxy tls
---
Same as --cert-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-cert.d b/docs/cmdline-opts/proxy-cert.d
index 43acd395..7df2712f 100644
--- a/docs/cmdline-opts/proxy-cert.d
+++ b/docs/cmdline-opts/proxy-cert.d
@@ -2,5 +2,6 @@ Long: proxy-cert
Arg: <cert[:passwd]>
Help: Set client certificate for proxy
Added: 7.52.0
+Category: proxy tls
---
Same as --cert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-ciphers.d b/docs/cmdline-opts/proxy-ciphers.d
index dcac8128..36655567 100644
--- a/docs/cmdline-opts/proxy-ciphers.d
+++ b/docs/cmdline-opts/proxy-ciphers.d
@@ -2,5 +2,6 @@ Long: proxy-ciphers
Arg: <list>
Help: SSL ciphers to use for proxy
Added: 7.52.0
+Category: proxy tls
---
Same as --ciphers but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-crlfile.d b/docs/cmdline-opts/proxy-crlfile.d
index 1d6247f4..580dc50c 100644
--- a/docs/cmdline-opts/proxy-crlfile.d
+++ b/docs/cmdline-opts/proxy-crlfile.d
@@ -2,5 +2,6 @@ Long: proxy-crlfile
Arg: <file>
Help: Set a CRL list for proxy
Added: 7.52.0
+Category: proxy tls
---
Same as --crlfile but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-digest.d b/docs/cmdline-opts/proxy-digest.d
index ccf46636..52f1fcc6 100644
--- a/docs/cmdline-opts/proxy-digest.d
+++ b/docs/cmdline-opts/proxy-digest.d
@@ -1,6 +1,7 @@
Long: proxy-digest
Help: Use Digest authentication on the proxy
See-also: proxy proxy-anyauth proxy-basic
+Category: proxy tls
---
Tells curl to use HTTP Digest authentication when communicating with the given
proxy. Use --digest for enabling HTTP Digest with a remote host.
diff --git a/docs/cmdline-opts/proxy-header.d b/docs/cmdline-opts/proxy-header.d
index c1b0bb7c..9f1121d2 100644
--- a/docs/cmdline-opts/proxy-header.d
+++ b/docs/cmdline-opts/proxy-header.d
@@ -3,6 +3,7 @@ Arg: <header/@file>
Help: Pass custom header(s) to proxy
Protocols: HTTP
Added: 7.37.0
+Category: proxy
---
Extra header to include in the request when sending HTTP to a proxy. You may
specify any number of extra headers. This is the equivalent option to --header
diff --git a/docs/cmdline-opts/proxy-insecure.d b/docs/cmdline-opts/proxy-insecure.d
index 762828f4..e123f401 100644
--- a/docs/cmdline-opts/proxy-insecure.d
+++ b/docs/cmdline-opts/proxy-insecure.d
@@ -1,5 +1,6 @@
Long: proxy-insecure
Help: Do HTTPS proxy connections without verifying the proxy
Added: 7.52.0
+Category: proxy tls
---
Same as --insecure but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-key-type.d b/docs/cmdline-opts/proxy-key-type.d
index ce7482ae..1906872e 100644
--- a/docs/cmdline-opts/proxy-key-type.d
+++ b/docs/cmdline-opts/proxy-key-type.d
@@ -2,5 +2,6 @@ Long: proxy-key-type
Arg: <type>
Help: Private key file type for proxy
Added: 7.52.0
+Category: proxy tls
---
Same as --key-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-key.d b/docs/cmdline-opts/proxy-key.d
index e61eb18a..57d469f4 100644
--- a/docs/cmdline-opts/proxy-key.d
+++ b/docs/cmdline-opts/proxy-key.d
@@ -1,5 +1,6 @@
Long: proxy-key
Help: Private key for HTTPS proxy
Arg: <key>
+Category: proxy tls
---
Same as --key but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-negotiate.d b/docs/cmdline-opts/proxy-negotiate.d
index 775f62a9..72f35960 100644
--- a/docs/cmdline-opts/proxy-negotiate.d
+++ b/docs/cmdline-opts/proxy-negotiate.d
@@ -2,6 +2,7 @@ Long: proxy-negotiate
Help: Use HTTP Negotiate (SPNEGO) authentication on the proxy
Added: 7.17.1
See-also: proxy-anyauth proxy-basic
+Category: proxy auth
---
Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating
with the given proxy. Use --negotiate for enabling HTTP Negotiate (SPNEGO)
diff --git a/docs/cmdline-opts/proxy-ntlm.d b/docs/cmdline-opts/proxy-ntlm.d
index c30db53b..cb1ba7b0 100644
--- a/docs/cmdline-opts/proxy-ntlm.d
+++ b/docs/cmdline-opts/proxy-ntlm.d
@@ -1,6 +1,7 @@
Long: proxy-ntlm
Help: Use NTLM authentication on the proxy
See-also: proxy-negotiate proxy-anyauth
+Category: proxy auth
---
Tells curl to use HTTP NTLM authentication when communicating with the given
proxy. Use --ntlm for enabling NTLM with a remote host.
diff --git a/docs/cmdline-opts/proxy-pass.d b/docs/cmdline-opts/proxy-pass.d
index 3371714b..627451bb 100644
--- a/docs/cmdline-opts/proxy-pass.d
+++ b/docs/cmdline-opts/proxy-pass.d
@@ -2,5 +2,6 @@ Long: proxy-pass
Arg: <phrase>
Help: Pass phrase for the private key for HTTPS proxy
Added: 7.52.0
+Category: proxy tls auth
---
Same as --pass but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-pinnedpubkey.d b/docs/cmdline-opts/proxy-pinnedpubkey.d
index abd6dc4a..2ab79f19 100644
--- a/docs/cmdline-opts/proxy-pinnedpubkey.d
+++ b/docs/cmdline-opts/proxy-pinnedpubkey.d
@@ -2,6 +2,7 @@ Long: proxy-pinnedpubkey
Arg: <hashes>
Help: FILE/HASHES public key to verify proxy with
Protocols: TLS
+Category: proxy tls
---
Tells curl to use the specified public key file (or hashes) to verify the
proxy. This can be a path to a file which contains a single public key in PEM
diff --git a/docs/cmdline-opts/proxy-service-name.d b/docs/cmdline-opts/proxy-service-name.d
index 9a73f2be..f7807290 100644
--- a/docs/cmdline-opts/proxy-service-name.d
+++ b/docs/cmdline-opts/proxy-service-name.d
@@ -2,5 +2,6 @@ Long: proxy-service-name
Arg: <name>
Help: SPNEGO proxy service name
Added: 7.43.0
+Category: proxy tls
---
This option allows you to change the service name for proxy negotiation.
diff --git a/docs/cmdline-opts/proxy-ssl-allow-beast.d b/docs/cmdline-opts/proxy-ssl-allow-beast.d
index de96b843..138001b3 100644
--- a/docs/cmdline-opts/proxy-ssl-allow-beast.d
+++ b/docs/cmdline-opts/proxy-ssl-allow-beast.d
@@ -1,5 +1,6 @@
Long: proxy-ssl-allow-beast
Help: Allow security flaw for interop for HTTPS proxy
Added: 7.52.0
+Category: proxy tls
---
Same as --ssl-allow-beast but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tls13-ciphers.d b/docs/cmdline-opts/proxy-tls13-ciphers.d
index 08961b72..19add226 100644
--- a/docs/cmdline-opts/proxy-tls13-ciphers.d
+++ b/docs/cmdline-opts/proxy-tls13-ciphers.d
@@ -2,6 +2,7 @@ Long: proxy-tls13-ciphers
Arg: <ciphersuite list>
help: TLS 1.3 proxy cipher suites
Protocols: TLS
+Category: proxy tls
---
Specifies which cipher suites to use in the connection to your HTTPS proxy
when it negotiates TLS 1.3. The list of ciphers suites must specify valid
diff --git a/docs/cmdline-opts/proxy-tlsauthtype.d b/docs/cmdline-opts/proxy-tlsauthtype.d
index 7d0ce8e1..5649a0f5 100644
--- a/docs/cmdline-opts/proxy-tlsauthtype.d
+++ b/docs/cmdline-opts/proxy-tlsauthtype.d
@@ -2,5 +2,6 @@ Long: proxy-tlsauthtype
Arg: <type>
Help: TLS authentication type for HTTPS proxy
Added: 7.52.0
+Category: proxy tls auth
---
Same as --tlsauthtype but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlspassword.d b/docs/cmdline-opts/proxy-tlspassword.d
index cf003844..38a33d45 100644
--- a/docs/cmdline-opts/proxy-tlspassword.d
+++ b/docs/cmdline-opts/proxy-tlspassword.d
@@ -2,5 +2,6 @@ Long: proxy-tlspassword
Arg: <string>
Help: TLS password for HTTPS proxy
Added: 7.52.0
+Category: proxy tls auth
---
Same as --tlspassword but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsuser.d b/docs/cmdline-opts/proxy-tlsuser.d
index 758a7c95..587f7f51 100644
--- a/docs/cmdline-opts/proxy-tlsuser.d
+++ b/docs/cmdline-opts/proxy-tlsuser.d
@@ -2,5 +2,6 @@ Long: proxy-tlsuser
Arg: <name>
Help: TLS username for HTTPS proxy
Added: 7.52.0
+Category: proxy tls auth
---
Same as --tlsuser but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsv1.d b/docs/cmdline-opts/proxy-tlsv1.d
index d024eeac..5003f5f7 100644
--- a/docs/cmdline-opts/proxy-tlsv1.d
+++ b/docs/cmdline-opts/proxy-tlsv1.d
@@ -1,5 +1,6 @@
Long: proxy-tlsv1
Help: Use TLSv1 for HTTPS proxy
Added: 7.52.0
+Category: proxy tls auth
---
Same as --tlsv1 but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-user.d b/docs/cmdline-opts/proxy-user.d
index 152466da..82fc5170 100644
--- a/docs/cmdline-opts/proxy-user.d
+++ b/docs/cmdline-opts/proxy-user.d
@@ -2,6 +2,7 @@ Long: proxy-user
Short: U
Arg: <user:password>
Help: Proxy user and password
+Category: proxy auth
---
Specify the user name and password to use for proxy authentication.
diff --git a/docs/cmdline-opts/proxy.d b/docs/cmdline-opts/proxy.d
index 6506692b..0592f13b 100644
--- a/docs/cmdline-opts/proxy.d
+++ b/docs/cmdline-opts/proxy.d
@@ -2,6 +2,7 @@ Long: proxy
Short: x
Arg: [protocol://]host[:port]
Help: Use this proxy
+Category: proxy
---
Use the specified proxy.
diff --git a/docs/cmdline-opts/proxy1.0.d b/docs/cmdline-opts/proxy1.0.d
index 4a931bd1..b8a232bf 100644
--- a/docs/cmdline-opts/proxy1.0.d
+++ b/docs/cmdline-opts/proxy1.0.d
@@ -1,6 +1,7 @@
Long: proxy1.0
Arg: <host[:port]>
Help: Use HTTP/1.0 proxy on given port
+Category: proxy
---
Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
assumed at port 1080.
diff --git a/docs/cmdline-opts/proxytunnel.d b/docs/cmdline-opts/proxytunnel.d
index 1f587f12..94dae992 100644
--- a/docs/cmdline-opts/proxytunnel.d
+++ b/docs/cmdline-opts/proxytunnel.d
@@ -2,6 +2,7 @@ Long: proxytunnel
Short: p
Help: Operate through an HTTP proxy tunnel (using CONNECT)
See-also: proxy
+Category: proxy
---
When an HTTP proxy is used --proxy, this option will make curl tunnel through
the proxy. The tunnel approach is made with the HTTP proxy CONNECT request and
diff --git a/docs/cmdline-opts/pubkey.d b/docs/cmdline-opts/pubkey.d
index b2e11c02..692daf6b 100644
--- a/docs/cmdline-opts/pubkey.d
+++ b/docs/cmdline-opts/pubkey.d
@@ -2,6 +2,7 @@ Long: pubkey
Arg: <key>
Protocols: SFTP SCP
Help: SSH Public key file name
+Category: sftp scp auth
---
Public key file name. Allows you to provide your public key in this separate
file.
diff --git a/docs/cmdline-opts/quote.d b/docs/cmdline-opts/quote.d
index 59a98eaf..a33ed357 100644
--- a/docs/cmdline-opts/quote.d
+++ b/docs/cmdline-opts/quote.d
@@ -2,6 +2,7 @@ Long: quote
Short: Q
Help: Send command(s) to server before transfer
Protocols: FTP SFTP
+Category: ftp sftp
---
Send an arbitrary command to the remote FTP or SFTP server. Quote commands are
@@ -26,6 +27,10 @@ itself before sending them to the server. File names may be quoted
shell-style to embed spaces or special characters. Following is the list of
all supported SFTP quote commands:
.RS
+.IP "atime date file"
+The atime command sets the last access time of the file named by the file
+operand. The <date expression> can be all sorts of date strings, see the
+\fIcurl_getdate(3)\fP man page for date expression details. (Added in 7.73.0)
.IP "chgrp group file"
The chgrp command sets the group ID of the file named by the file operand to
the group ID specified by the group operand. The group operand is a decimal
@@ -42,6 +47,10 @@ The ln and symlink commands create a symbolic link at the target_file location
pointing to the source_file location.
.IP "mkdir directory_name"
The mkdir command creates the directory named by the directory_name operand.
+.IP "mtime date file"
+The mtime command sets the last modification time of the file named by the
+file operand. The <date expression> can be all sorts of date strings, see the
+\fIcurl_getdate(3)\fP man page for date expression details. (Added in 7.73.0)
.IP "pwd"
The pwd command returns the absolute pathname of the current working directory.
.IP "rename source target"
diff --git a/docs/cmdline-opts/random-file.d b/docs/cmdline-opts/random-file.d
index 51626f88..c57f5236 100644
--- a/docs/cmdline-opts/random-file.d
+++ b/docs/cmdline-opts/random-file.d
@@ -1,6 +1,7 @@
Long: random-file
Arg: <file>
Help: File for reading random data from
+Category: misc
---
Specify the path name to file containing what will be considered as random
data. The data may be used to seed the random engine for SSL connections. See
diff --git a/docs/cmdline-opts/range.d b/docs/cmdline-opts/range.d
index b888dd18..17c6c2ab 100644
--- a/docs/cmdline-opts/range.d
+++ b/docs/cmdline-opts/range.d
@@ -3,6 +3,7 @@ Short: r
Help: Retrieve only the bytes within RANGE
Arg: <range>
Protocols: HTTP FTP SFTP FILE
+Category: http ftp sftp file
---
Retrieve a byte range (i.e. a partial document) from an HTTP/1.1, FTP or SFTP
server or a local FILE. Ranges can be specified in a number of ways.
diff --git a/docs/cmdline-opts/raw.d b/docs/cmdline-opts/raw.d
index c3328e69..90e77726 100644
--- a/docs/cmdline-opts/raw.d
+++ b/docs/cmdline-opts/raw.d
@@ -2,6 +2,7 @@ Long: raw
Help: Do HTTP "raw"; no transfer decoding
Added: 7.16.2
Protocols: HTTP
+Category: http
---
When used, it disables all internal HTTP decoding of content or transfer
encodings and instead makes them passed on unaltered, raw.
diff --git a/docs/cmdline-opts/referer.d b/docs/cmdline-opts/referer.d
index cd84e9d5..8b2057b9 100644
--- a/docs/cmdline-opts/referer.d
+++ b/docs/cmdline-opts/referer.d
@@ -4,6 +4,7 @@ Arg: <URL>
Protocols: HTTP
Help: Referrer URL
See-also: user-agent header
+Category: http
---
Sends the "Referrer Page" information to the HTTP server. This can also be set
with the --header flag of course. When used with --location you can append
diff --git a/docs/cmdline-opts/remote-header-name.d b/docs/cmdline-opts/remote-header-name.d
index 771b6d46..700da69f 100644
--- a/docs/cmdline-opts/remote-header-name.d
+++ b/docs/cmdline-opts/remote-header-name.d
@@ -2,6 +2,7 @@ Long: remote-header-name
Short: J
Protocols: HTTP
Help: Use the header-provided filename
+Category: output
---
This option tells the --remote-name option to use the server-specified
Content-Disposition filename instead of extracting a filename from the URL.
diff --git a/docs/cmdline-opts/remote-name-all.d b/docs/cmdline-opts/remote-name-all.d
index f7a19967..299684c5 100644
--- a/docs/cmdline-opts/remote-name-all.d
+++ b/docs/cmdline-opts/remote-name-all.d
@@ -1,6 +1,7 @@
Long: remote-name-all
Help: Use the remote file name for all URLs
Added: 7.19.0
+Category: output
---
This option changes the default action for all given URLs to be dealt with as
if --remote-name were used for each one. So if you want to disable that for a
diff --git a/docs/cmdline-opts/remote-name.d b/docs/cmdline-opts/remote-name.d
index 9fed64bf..184c32e4 100644
--- a/docs/cmdline-opts/remote-name.d
+++ b/docs/cmdline-opts/remote-name.d
@@ -1,6 +1,7 @@
Long: remote-name
Short: O
Help: Write output to a file named as the remote file
+Category: important output
---
Write output to a local file named like the remote file we get. (Only the file
part of the remote file is used, the path is cut off.)
diff --git a/docs/cmdline-opts/remote-time.d b/docs/cmdline-opts/remote-time.d
index 7f6809dc..96fb4fbe 100644
--- a/docs/cmdline-opts/remote-time.d
+++ b/docs/cmdline-opts/remote-time.d
@@ -1,6 +1,7 @@
Long: remote-time
Short: R
Help: Set the remote file's time on the local output
+Category: output
---
When used, this will make curl attempt to figure out the timestamp of the
remote file, and if that is available make the local file get that same
diff --git a/docs/cmdline-opts/request-target.d b/docs/cmdline-opts/request-target.d
index b46b4af0..df423f87 100644
--- a/docs/cmdline-opts/request-target.d
+++ b/docs/cmdline-opts/request-target.d
@@ -2,6 +2,7 @@ Long: request-target
Help: Specify the target for this request
Protocols: HTTP
Added: 7.55.0
+Category: http
---
Tells curl to use an alternative "target" (path) instead of using the path as
provided in the URL. Particularly useful when wanting to issue HTTP requests
diff --git a/docs/cmdline-opts/request.d b/docs/cmdline-opts/request.d
index 3919d426..47c4c8b0 100644
--- a/docs/cmdline-opts/request.d
+++ b/docs/cmdline-opts/request.d
@@ -2,6 +2,7 @@ Long: request
Short: X
Arg: <command>
Help: Specify request command to use
+Category: connection
---
(HTTP) Specifies a custom request method to use when communicating with the
HTTP server. The specified request method will be used instead of the method
diff --git a/docs/cmdline-opts/resolve.d b/docs/cmdline-opts/resolve.d
index c1692f0f..41f6a1bd 100644
--- a/docs/cmdline-opts/resolve.d
+++ b/docs/cmdline-opts/resolve.d
@@ -2,6 +2,7 @@ Long: resolve
Arg: <host:port:addr[,addr]...>
Help: Resolve the host+port to this address
Added: 7.21.3
+Category: connection
---
Provide a custom address for a specific host and port pair. Using this, you
can make the curl requests(s) use a specified address and prevent the
diff --git a/docs/cmdline-opts/retry-all-errors.d b/docs/cmdline-opts/retry-all-errors.d
index 4554f593..6bda52b6 100644
--- a/docs/cmdline-opts/retry-all-errors.d
+++ b/docs/cmdline-opts/retry-all-errors.d
@@ -1,6 +1,7 @@
Long: retry-all-errors
Help: Retry all errors (use with --retry)
Added: 7.71.0
+Category: curl
---
Retry on any error. This option is used together with --retry.
diff --git a/docs/cmdline-opts/retry-connrefused.d b/docs/cmdline-opts/retry-connrefused.d
index 6a78e1fd..be34f973 100644
--- a/docs/cmdline-opts/retry-connrefused.d
+++ b/docs/cmdline-opts/retry-connrefused.d
@@ -1,6 +1,7 @@
Long: retry-connrefused
Help: Retry on connection refused (use with --retry)
Added: 7.52.0
+Category: curl
---
In addition to the other conditions, consider ECONNREFUSED as a transient
error too for --retry. This option is used together with --retry.
diff --git a/docs/cmdline-opts/retry-delay.d b/docs/cmdline-opts/retry-delay.d
index 1691356d..5645c0e6 100644
--- a/docs/cmdline-opts/retry-delay.d
+++ b/docs/cmdline-opts/retry-delay.d
@@ -2,6 +2,7 @@ Long: retry-delay
Arg: <seconds>
Help: Wait time between retries
Added: 7.12.3
+Category: curl
---
Make curl sleep this amount of time before each retry when a transfer has
failed with a transient error (it changes the default backoff time algorithm
diff --git a/docs/cmdline-opts/retry-max-time.d b/docs/cmdline-opts/retry-max-time.d
index 0920c924..9d6faf30 100644
--- a/docs/cmdline-opts/retry-max-time.d
+++ b/docs/cmdline-opts/retry-max-time.d
@@ -2,6 +2,7 @@ Long: retry-max-time
Arg: <seconds>
Help: Retry only within this period
Added: 7.12.3
+Category: curl
---
The retry timer is reset before the first transfer attempt. Retries will be
done as usual (see --retry) as long as the timer hasn't reached this given
diff --git a/docs/cmdline-opts/retry.d b/docs/cmdline-opts/retry.d
index 3db89b71..70f6e7bf 100644
--- a/docs/cmdline-opts/retry.d
+++ b/docs/cmdline-opts/retry.d
@@ -2,6 +2,7 @@ Long: retry
Arg: <num>
Added: 7.12.3
Help: Retry request if transient problems occur
+Category: curl
---
If a transient error is returned when curl tries to perform a transfer, it
will retry this number of times before giving up. Setting the number to 0
diff --git a/docs/cmdline-opts/sasl-authzid.d b/docs/cmdline-opts/sasl-authzid.d
index a3bd46e7..e802c80a 100644
--- a/docs/cmdline-opts/sasl-authzid.d
+++ b/docs/cmdline-opts/sasl-authzid.d
@@ -2,6 +2,7 @@ Long: sasl-authzid
Arg: <identity>
Help: Identity for SASL PLAIN authentication
Added: 7.66.0
+Category: auth
---
Use this authorisation identity (authzid), during SASL PLAIN authentication,
in addition to the authentication identity (authcid) as specified by --user.
diff --git a/docs/cmdline-opts/sasl-ir.d b/docs/cmdline-opts/sasl-ir.d
index c0dab946..0041c3b4 100644
--- a/docs/cmdline-opts/sasl-ir.d
+++ b/docs/cmdline-opts/sasl-ir.d
@@ -1,5 +1,6 @@
Long: sasl-ir
Help: Enable initial response in SASL authentication
Added: 7.31.0
+Category: auth
---
Enable initial response in SASL authentication.
diff --git a/docs/cmdline-opts/service-name.d b/docs/cmdline-opts/service-name.d
index 4dfeb27d..c64496b8 100644
--- a/docs/cmdline-opts/service-name.d
+++ b/docs/cmdline-opts/service-name.d
@@ -2,6 +2,7 @@ Long: service-name
Help: SPNEGO service name
Arg: <name>
Added: 7.43.0
+Category: misc
---
This option allows you to change the service name for SPNEGO.
diff --git a/docs/cmdline-opts/show-error.d b/docs/cmdline-opts/show-error.d
index b9667a4c..2124409e 100644
--- a/docs/cmdline-opts/show-error.d
+++ b/docs/cmdline-opts/show-error.d
@@ -1,5 +1,7 @@
Long: show-error
Short: S
Help: Show error even when -s is used
+See-also: no-progress-meter
+Category: curl
---
When used with --silent, it makes curl show an error message if it fails.
diff --git a/docs/cmdline-opts/silent.d b/docs/cmdline-opts/silent.d
index b0b4425b..58a52233 100644
--- a/docs/cmdline-opts/silent.d
+++ b/docs/cmdline-opts/silent.d
@@ -1,7 +1,8 @@
Long: silent
Short: s
Help: Silent mode
-See-also: verbose stderr
+See-also: verbose stderr no-progress-meter
+Category: important verbose
---
Silent or quiet mode. Don't show progress meter or error messages. Makes Curl
mute. It will still output the data you ask for, potentially even to the
diff --git a/docs/cmdline-opts/socks4.d b/docs/cmdline-opts/socks4.d
index 11f6ae03..bc095d54 100644
--- a/docs/cmdline-opts/socks4.d
+++ b/docs/cmdline-opts/socks4.d
@@ -2,6 +2,7 @@ Long: socks4
Arg: <host[:port]>
Help: SOCKS4 proxy on given host + port
Added: 7.15.2
+Category: proxy
---
Use the specified SOCKS4 proxy. If the port number is not specified, it is
assumed at port 1080.
diff --git a/docs/cmdline-opts/socks4a.d b/docs/cmdline-opts/socks4a.d
index ae254ae0..d3177a9d 100644
--- a/docs/cmdline-opts/socks4a.d
+++ b/docs/cmdline-opts/socks4a.d
@@ -2,6 +2,7 @@ Long: socks4a
Arg: <host[:port]>
Help: SOCKS4a proxy on given host + port
Added: 7.18.0
+Category: proxy
---
Use the specified SOCKS4a proxy. If the port number is not specified, it is
assumed at port 1080.
diff --git a/docs/cmdline-opts/socks5-basic.d b/docs/cmdline-opts/socks5-basic.d
index 67d16b3a..52d1e661 100644
--- a/docs/cmdline-opts/socks5-basic.d
+++ b/docs/cmdline-opts/socks5-basic.d
@@ -1,6 +1,7 @@
Long: socks5-basic
Help: Enable username/password auth for SOCKS5 proxies
Added: 7.55.0
+Category: proxy auth
---
Tells curl to use username/password authentication when connecting to a SOCKS5
proxy. The username/password authentication is enabled by default. Use
diff --git a/docs/cmdline-opts/socks5-gssapi-nec.d b/docs/cmdline-opts/socks5-gssapi-nec.d
index 477e218e..b538f33f 100644
--- a/docs/cmdline-opts/socks5-gssapi-nec.d
+++ b/docs/cmdline-opts/socks5-gssapi-nec.d
@@ -1,6 +1,7 @@
Long: socks5-gssapi-nec
Help: Compatibility with NEC SOCKS5 server
Added: 7.19.4
+Category: proxy auth
---
As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961
says in section 4.3/4.4 it should be protected, but the NEC reference
diff --git a/docs/cmdline-opts/socks5-gssapi-service.d b/docs/cmdline-opts/socks5-gssapi-service.d
index eb3b2407..e61d0f5a 100644
--- a/docs/cmdline-opts/socks5-gssapi-service.d
+++ b/docs/cmdline-opts/socks5-gssapi-service.d
@@ -2,6 +2,7 @@ Long: socks5-gssapi-service
Arg: <name>
Help: SOCKS5 proxy service name for GSS-API
Added: 7.19.4
+Category: proxy auth
---
The default service name for a socks server is rcmd/server-fqdn. This option
allows you to change it.
diff --git a/docs/cmdline-opts/socks5-gssapi.d b/docs/cmdline-opts/socks5-gssapi.d
index 0070f37e..72ae7aeb 100644
--- a/docs/cmdline-opts/socks5-gssapi.d
+++ b/docs/cmdline-opts/socks5-gssapi.d
@@ -1,6 +1,7 @@
Long: socks5-gssapi
Help: Enable GSS-API auth for SOCKS5 proxies
Added: 7.55.0
+Category: proxy auth
---
Tells curl to use GSS-API authentication when connecting to a SOCKS5 proxy.
The GSS-API authentication is enabled by default (if curl is compiled with
diff --git a/docs/cmdline-opts/socks5-hostname.d b/docs/cmdline-opts/socks5-hostname.d
index 9d9d946e..247d7660 100644
--- a/docs/cmdline-opts/socks5-hostname.d
+++ b/docs/cmdline-opts/socks5-hostname.d
@@ -2,6 +2,7 @@ Long: socks5-hostname
Arg: <host[:port]>
Help: SOCKS5 proxy, pass host name to proxy
Added: 7.18.0
+Category: proxy
---
Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If
the port number is not specified, it is assumed at port 1080.
diff --git a/docs/cmdline-opts/socks5.d b/docs/cmdline-opts/socks5.d
index 22fae762..bbe92f0a 100644
--- a/docs/cmdline-opts/socks5.d
+++ b/docs/cmdline-opts/socks5.d
@@ -2,6 +2,7 @@ Long: socks5
Arg: <host[:port]>
Help: SOCKS5 proxy on given host + port
Added: 7.18.0
+Category: proxy
---
Use the specified SOCKS5 proxy - but resolve the host name locally. If the
port number is not specified, it is assumed at port 1080.
diff --git a/docs/cmdline-opts/speed-limit.d b/docs/cmdline-opts/speed-limit.d
index e2b81c79..3f9ad3a4 100644
--- a/docs/cmdline-opts/speed-limit.d
+++ b/docs/cmdline-opts/speed-limit.d
@@ -2,6 +2,7 @@ Long: speed-limit
Short: Y
Arg: <speed>
Help: Stop transfers slower than this
+Category: connection
---
If a download is slower than this given speed (in bytes per second) for
speed-time seconds it gets aborted. speed-time is set with --speed-time and is
diff --git a/docs/cmdline-opts/speed-time.d b/docs/cmdline-opts/speed-time.d
index 98d6ae13..81acabec 100644
--- a/docs/cmdline-opts/speed-time.d
+++ b/docs/cmdline-opts/speed-time.d
@@ -2,6 +2,7 @@ Long: speed-time
Short: y
Arg: <seconds>
Help: Trigger 'speed-limit' abort after this time
+Category: connection
---
If a download is slower than speed-limit bytes per second during a speed-time
period, the download gets aborted. If speed-time is used, the default
diff --git a/docs/cmdline-opts/ssl-allow-beast.d b/docs/cmdline-opts/ssl-allow-beast.d
index 973fcd45..f18fe747 100644
--- a/docs/cmdline-opts/ssl-allow-beast.d
+++ b/docs/cmdline-opts/ssl-allow-beast.d
@@ -1,6 +1,7 @@
Long: ssl-allow-beast
Help: Allow security flaw to improve interop
Added: 7.25.0
+Category: tls
---
This option tells curl to not work around a security flaw in the SSL3 and
TLS1.0 protocols known as BEAST. If this option isn't used, the SSL layer may
diff --git a/docs/cmdline-opts/ssl-no-revoke.d b/docs/cmdline-opts/ssl-no-revoke.d
index f94b1114..3b161424 100644
--- a/docs/cmdline-opts/ssl-no-revoke.d
+++ b/docs/cmdline-opts/ssl-no-revoke.d
@@ -1,6 +1,7 @@
Long: ssl-no-revoke
Help: Disable cert revocation checks (Schannel)
Added: 7.44.0
+Category: tls
---
(Schannel) This option tells curl to disable certificate revocation checks.
WARNING: this option loosens the SSL security, and by using this flag you ask
diff --git a/docs/cmdline-opts/ssl-reqd.d b/docs/cmdline-opts/ssl-reqd.d
index 3c6f8a25..2e573e39 100644
--- a/docs/cmdline-opts/ssl-reqd.d
+++ b/docs/cmdline-opts/ssl-reqd.d
@@ -2,6 +2,7 @@ Long: ssl-reqd
Help: Require SSL/TLS
Protocols: FTP IMAP POP3 SMTP
Added: 7.20.0
+Category: tls
---
Require SSL/TLS for the connection. Terminates the connection if the server
doesn't support SSL/TLS.
diff --git a/docs/cmdline-opts/ssl-revoke-best-effort.d b/docs/cmdline-opts/ssl-revoke-best-effort.d
index e339b8af..af22da46 100644
--- a/docs/cmdline-opts/ssl-revoke-best-effort.d
+++ b/docs/cmdline-opts/ssl-revoke-best-effort.d
@@ -1,6 +1,7 @@
Long: ssl-revoke-best-effort
Help: Ignore missing/offline cert CRL dist points
Added: 7.70.0
+Category: tls
---
(Schannel) This option tells curl to ignore certificate revocation checks when
they failed due to missing/offline distribution points for the revocation check
diff --git a/docs/cmdline-opts/ssl.d b/docs/cmdline-opts/ssl.d
index dabd8376..8df46010 100644
--- a/docs/cmdline-opts/ssl.d
+++ b/docs/cmdline-opts/ssl.d
@@ -2,6 +2,7 @@ Long: ssl
Help: Try SSL/TLS
Protocols: FTP IMAP POP3 SMTP
Added: 7.20.0
+Category: tls
---
Try to use SSL/TLS for the connection. Reverts to a non-secure connection if
diff --git a/docs/cmdline-opts/sslv2.d b/docs/cmdline-opts/sslv2.d
index 67d2b850..773ab691 100644
--- a/docs/cmdline-opts/sslv2.d
+++ b/docs/cmdline-opts/sslv2.d
@@ -7,6 +7,7 @@ Mutexed: sslv3 tlsv1 tlsv1.1 tlsv1.2
Requires: TLS
See-also: http1.1 http2
Help: Use SSLv2
+Category: tls
---
Forces curl to use SSL version 2 when negotiating with a remote SSL
server. Sometimes curl is built without SSLv2 support. SSLv2 is widely
diff --git a/docs/cmdline-opts/sslv3.d b/docs/cmdline-opts/sslv3.d
index 101ad100..7beed8f8 100644
--- a/docs/cmdline-opts/sslv3.d
+++ b/docs/cmdline-opts/sslv3.d
@@ -7,6 +7,7 @@ Mutexed: sslv2 tlsv1 tlsv1.1 tlsv1.2
Requires: TLS
See-also: http1.1 http2
Help: Use SSLv3
+Category: tls
---
Forces curl to use SSL version 3 when negotiating with a remote SSL
server. Sometimes curl is built without SSLv3 support. SSLv3 is widely
diff --git a/docs/cmdline-opts/stderr.d b/docs/cmdline-opts/stderr.d
index e8cf7ba6..6da04015 100644
--- a/docs/cmdline-opts/stderr.d
+++ b/docs/cmdline-opts/stderr.d
@@ -1,6 +1,7 @@
Long: stderr
Help: Where to redirect stderr
See-also: verbose silent
+Category: verbose
---
Redirect all writes to stderr to the specified file instead. If the file name
is a plain '-', it is instead written to stdout.
diff --git a/docs/cmdline-opts/styled-output.d b/docs/cmdline-opts/styled-output.d
index e4751aec..8aa4a0f0 100644
--- a/docs/cmdline-opts/styled-output.d
+++ b/docs/cmdline-opts/styled-output.d
@@ -1,6 +1,7 @@
Long: styled-output
Help: Enable styled output for HTTP headers
Added: 7.61.0
+Category: verbose
---
Enables the automatic use of bold font styles when writing HTTP headers to the
terminal. Use --no-styled-output to switch them off.
diff --git a/docs/cmdline-opts/suppress-connect-headers.d b/docs/cmdline-opts/suppress-connect-headers.d
index d208b891..b4e2a17d 100644
--- a/docs/cmdline-opts/suppress-connect-headers.d
+++ b/docs/cmdline-opts/suppress-connect-headers.d
@@ -1,6 +1,7 @@
Long: suppress-connect-headers
Help: Suppress proxy CONNECT response headers
See-also: dump-header include proxytunnel
+Category: proxy
---
When --proxytunnel is used and a CONNECT request is made don't output proxy
CONNECT response headers. This option is meant to be used with --dump-header or
diff --git a/docs/cmdline-opts/tcp-fastopen.d b/docs/cmdline-opts/tcp-fastopen.d
index 08e141df..faef499f 100644
--- a/docs/cmdline-opts/tcp-fastopen.d
+++ b/docs/cmdline-opts/tcp-fastopen.d
@@ -1,5 +1,6 @@
Long: tcp-fastopen
Added: 7.49.0
Help: Use TCP Fast Open
+Category: connection
---
Enable use of TCP Fast Open (RFC7413).
diff --git a/docs/cmdline-opts/tcp-nodelay.d b/docs/cmdline-opts/tcp-nodelay.d
index f047a7c6..f1cf644a 100644
--- a/docs/cmdline-opts/tcp-nodelay.d
+++ b/docs/cmdline-opts/tcp-nodelay.d
@@ -1,6 +1,7 @@
Long: tcp-nodelay
Help: Use the TCP_NODELAY option
Added: 7.11.2
+Category: connection
---
Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for
details about this option.
diff --git a/docs/cmdline-opts/telnet-option.d b/docs/cmdline-opts/telnet-option.d
index a67cb627..789de3ea 100644
--- a/docs/cmdline-opts/telnet-option.d
+++ b/docs/cmdline-opts/telnet-option.d
@@ -2,6 +2,7 @@ Long: telnet-option
Short: t
Arg: <opt=val>
Help: Set telnet option
+Category: telnet
---
Pass options to the telnet protocol. Supported options are:
diff --git a/docs/cmdline-opts/tftp-blksize.d b/docs/cmdline-opts/tftp-blksize.d
index c184328d..6e67ed2e 100644
--- a/docs/cmdline-opts/tftp-blksize.d
+++ b/docs/cmdline-opts/tftp-blksize.d
@@ -3,6 +3,7 @@ Arg: <value>
Help: Set TFTP BLKSIZE option
Protocols: TFTP
Added: 7.20.0
+Category: tftp
---
Set TFTP BLKSIZE option (must be >512). This is the block size that curl will
try to use when transferring data to or from a TFTP server. By default 512
diff --git a/docs/cmdline-opts/tftp-no-options.d b/docs/cmdline-opts/tftp-no-options.d
index e2a4dacd..02332730 100644
--- a/docs/cmdline-opts/tftp-no-options.d
+++ b/docs/cmdline-opts/tftp-no-options.d
@@ -2,6 +2,7 @@ Long: tftp-no-options
Help: Do not send any TFTP options
Protocols: TFTP
Added: 7.48.0
+Category: tftp
---
Tells curl not to send TFTP options requests.
diff --git a/docs/cmdline-opts/time-cond.d b/docs/cmdline-opts/time-cond.d
index 830b4e1a..f733eeb0 100644
--- a/docs/cmdline-opts/time-cond.d
+++ b/docs/cmdline-opts/time-cond.d
@@ -3,6 +3,7 @@ Short: z
Arg: <time>
Help: Transfer based on a time condition
Protocols: HTTP FTP
+Category: http ftp
---
Request a file that has been modified later than the given time and date, or
one that has been modified before that time. The <date expression> can be all
diff --git a/docs/cmdline-opts/tls-max.d b/docs/cmdline-opts/tls-max.d
index 475c12fe..07eb6546 100644
--- a/docs/cmdline-opts/tls-max.d
+++ b/docs/cmdline-opts/tls-max.d
@@ -6,6 +6,7 @@ Added: 7.54.0
Requires: TLS
See-also: tlsv1.0 tlsv1.1 tlsv1.2 tlsv1.3
Help: Set maximum allowed TLS version
+Category: tls
---
VERSION defines maximum supported TLS version. The minimum acceptable version
is set by tlsv1.0, tlsv1.1, tlsv1.2 or tlsv1.3.
diff --git a/docs/cmdline-opts/tls13-ciphers.d b/docs/cmdline-opts/tls13-ciphers.d
index db803352..0f906ce4 100644
--- a/docs/cmdline-opts/tls13-ciphers.d
+++ b/docs/cmdline-opts/tls13-ciphers.d
@@ -2,6 +2,7 @@ Long: tls13-ciphers
Arg: <ciphersuite list>
help: TLS 1.3 cipher suites to use
Protocols: TLS
+Category: tls
---
Specifies which cipher suites to use in the connection if it negotiates TLS
1.3. The list of ciphers suites must specify valid ciphers. Read up on TLS 1.3
diff --git a/docs/cmdline-opts/tlsauthtype.d b/docs/cmdline-opts/tlsauthtype.d
index ede21c2f..5b283cf9 100644
--- a/docs/cmdline-opts/tlsauthtype.d
+++ b/docs/cmdline-opts/tlsauthtype.d
@@ -2,6 +2,7 @@ Long: tlsauthtype
Arg: <type>
Help: TLS authentication type
Added: 7.21.4
+Category: tls auth
---
Set TLS authentication type. Currently, the only supported option is "SRP",
for TLS-SRP (RFC 5054). If --tlsuser and --tlspassword are specified but
diff --git a/docs/cmdline-opts/tlspassword.d b/docs/cmdline-opts/tlspassword.d
index b2e65362..5c6a0fa5 100644
--- a/docs/cmdline-opts/tlspassword.d
+++ b/docs/cmdline-opts/tlspassword.d
@@ -1,6 +1,7 @@
Long: tlspassword
Help: TLS password
Added: 7.21.4
+Category: tls auth
---
Set password for use with the TLS authentication method specified with
--tlsauthtype. Requires that --tlsuser also be set.
diff --git a/docs/cmdline-opts/tlsuser.d b/docs/cmdline-opts/tlsuser.d
index 7192b9f1..ada15260 100644
--- a/docs/cmdline-opts/tlsuser.d
+++ b/docs/cmdline-opts/tlsuser.d
@@ -2,6 +2,7 @@ Long: tlsuser
Arg: <name>
Help: TLS user name
Added: 7.21.4
+Category: tls auth
---
Set username for use with the TLS authentication method specified with
--tlsauthtype. Requires that --tlspassword also is set.
diff --git a/docs/cmdline-opts/tlsv1.0.d b/docs/cmdline-opts/tlsv1.0.d
index 2b1f0156..4f0176f3 100644
--- a/docs/cmdline-opts/tlsv1.0.d
+++ b/docs/cmdline-opts/tlsv1.0.d
@@ -2,6 +2,7 @@ Long: tlsv1.0
Help: Use TLSv1.0 or greater
Protocols: TLS
Added: 7.34.0
+Category: tls
---
Forces curl to use TLS version 1.0 or later when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.1.d b/docs/cmdline-opts/tlsv1.1.d
index 405d552b..b3649f7f 100644
--- a/docs/cmdline-opts/tlsv1.1.d
+++ b/docs/cmdline-opts/tlsv1.1.d
@@ -2,6 +2,7 @@ Long: tlsv1.1
Help: Use TLSv1.1 or greater
Protocols: TLS
Added: 7.34.0
+Category: tls
---
Forces curl to use TLS version 1.1 or later when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.2.d b/docs/cmdline-opts/tlsv1.2.d
index bdf1fcf6..dffbccb9 100644
--- a/docs/cmdline-opts/tlsv1.2.d
+++ b/docs/cmdline-opts/tlsv1.2.d
@@ -2,6 +2,7 @@ Long: tlsv1.2
Help: Use TLSv1.2 or greater
Protocols: TLS
Added: 7.34.0
+Category: tls
---
Forces curl to use TLS version 1.2 or later when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.3.d b/docs/cmdline-opts/tlsv1.3.d
index 19da857b..37d95355 100644
--- a/docs/cmdline-opts/tlsv1.3.d
+++ b/docs/cmdline-opts/tlsv1.3.d
@@ -2,6 +2,7 @@ Long: tlsv1.3
Help: Use TLSv1.3 or greater
Protocols: TLS
Added: 7.52.0
+Category: tls
---
Forces curl to use TLS version 1.3 or later when connecting to a remote TLS
server.
diff --git a/docs/cmdline-opts/tlsv1.d b/docs/cmdline-opts/tlsv1.d
index 4cb40569..d4c0c516 100644
--- a/docs/cmdline-opts/tlsv1.d
+++ b/docs/cmdline-opts/tlsv1.d
@@ -7,6 +7,7 @@ Mutexed: tlsv1.1 tlsv1.2 tlsv1.3
Requires: TLS
See-also: http1.1 http2
Help: Use TLSv1.0 or greater
+Category: tls
---
Tells curl to use at least TLS version 1.x when negotiating with a remote TLS
server. That means TLS version 1.0 or higher
diff --git a/docs/cmdline-opts/tr-encoding.d b/docs/cmdline-opts/tr-encoding.d
index 01bb62bb..ce1d0032 100644
--- a/docs/cmdline-opts/tr-encoding.d
+++ b/docs/cmdline-opts/tr-encoding.d
@@ -2,6 +2,7 @@ Long: tr-encoding
Added: 7.21.6
Help: Request compressed transfer encoding
Protocols: HTTP
+Category: http
---
Request a compressed Transfer-Encoding response using one of the algorithms
curl supports, and uncompress the data while receiving it.
diff --git a/docs/cmdline-opts/trace-ascii.d b/docs/cmdline-opts/trace-ascii.d
index fceaa712..fa7e16cc 100644
--- a/docs/cmdline-opts/trace-ascii.d
+++ b/docs/cmdline-opts/trace-ascii.d
@@ -2,6 +2,7 @@ Long: trace-ascii
Arg: <file>
Help: Like --trace, but without hex output
Mutexed: trace verbose
+Category: verbose
---
Enables a full trace dump of all incoming and outgoing data, including
descriptive information, to the given output file. Use "-" as filename to have
diff --git a/docs/cmdline-opts/trace-time.d b/docs/cmdline-opts/trace-time.d
index 27dcc42c..19a31a70 100644
--- a/docs/cmdline-opts/trace-time.d
+++ b/docs/cmdline-opts/trace-time.d
@@ -1,5 +1,6 @@
Long: trace-time
Help: Add time stamps to trace/verbose output
Added: 7.14.0
+Category: verbose
---
Prepends a time stamp to each trace or verbose line that curl displays.
diff --git a/docs/cmdline-opts/trace.d b/docs/cmdline-opts/trace.d
index 334ea5ad..502dafd7 100644
--- a/docs/cmdline-opts/trace.d
+++ b/docs/cmdline-opts/trace.d
@@ -2,6 +2,7 @@ Long: trace
Arg: <file>
Help: Write a debug trace to FILE
Mutexed: verbose trace-ascii
+Category: verbose
---
Enables a full trace dump of all incoming and outgoing data, including
descriptive information, to the given output file. Use "-" as filename to have
diff --git a/docs/cmdline-opts/unix-socket.d b/docs/cmdline-opts/unix-socket.d
index 812d20f3..e4ea91d0 100644
--- a/docs/cmdline-opts/unix-socket.d
+++ b/docs/cmdline-opts/unix-socket.d
@@ -3,5 +3,6 @@ Arg: <path>
Help: Connect through this Unix domain socket
Added: 7.40.0
Protocols: HTTP
+Category: connection
---
Connect through this Unix domain socket, instead of using the network.
diff --git a/docs/cmdline-opts/upload-file.d b/docs/cmdline-opts/upload-file.d
index 6f01dbf3..63584b79 100644
--- a/docs/cmdline-opts/upload-file.d
+++ b/docs/cmdline-opts/upload-file.d
@@ -2,6 +2,7 @@ Long: upload-file
Short: T
Arg: <file>
Help: Transfer local FILE to destination
+Category: important upload
---
This transfers the specified local file to the remote URL. If there is no file
part in the specified URL, curl will append the local file name. NOTE that you
diff --git a/docs/cmdline-opts/url.d b/docs/cmdline-opts/url.d
index 991f1f27..30f0bf72 100644
--- a/docs/cmdline-opts/url.d
+++ b/docs/cmdline-opts/url.d
@@ -1,6 +1,7 @@
Long: url
Arg: <url>
Help: URL to work with
+Category: curl
---
Specify a URL to fetch. This option is mostly handy when you want to specify
URL(s) in a config file.
diff --git a/docs/cmdline-opts/use-ascii.d b/docs/cmdline-opts/use-ascii.d
index d59fad92..3a5a6a4f 100644
--- a/docs/cmdline-opts/use-ascii.d
+++ b/docs/cmdline-opts/use-ascii.d
@@ -2,6 +2,7 @@ Short: B
Long: use-ascii
Help: Use ASCII/text transfer
Protocols: FTP LDAP
+Category: misc
---
Enable ASCII transfer. For FTP, this can also be enforced by using a URL that
ends with ";type=A". This option causes data sent to stdout to be in text mode
diff --git a/docs/cmdline-opts/user-agent.d b/docs/cmdline-opts/user-agent.d
index c6dd2e58..ec2ca82b 100644
--- a/docs/cmdline-opts/user-agent.d
+++ b/docs/cmdline-opts/user-agent.d
@@ -3,6 +3,7 @@ Long: user-agent
Arg: <name>
Help: Send User-Agent <name> to server
Protocols: HTTP
+Category: important http
---
Specify the User-Agent string to send to the HTTP server. To encode blanks in
diff --git a/docs/cmdline-opts/user.d b/docs/cmdline-opts/user.d
index 7001d28a..b588700c 100644
--- a/docs/cmdline-opts/user.d
+++ b/docs/cmdline-opts/user.d
@@ -2,6 +2,7 @@ Long: user
Short: u
Arg: <user:password>
Help: Server user and password
+Category: important auth
---
Specify the user name and password to use for server authentication. Overrides
--netrc and --netrc-optional.
diff --git a/docs/cmdline-opts/verbose.d b/docs/cmdline-opts/verbose.d
index 5d335218..8db1ea22 100644
--- a/docs/cmdline-opts/verbose.d
+++ b/docs/cmdline-opts/verbose.d
@@ -3,6 +3,7 @@ Long: verbose
Mutexed: trace trace-ascii
Help: Make the operation more talkative
See-also: include
+Category: important verbose
---
Makes curl verbose during the operation. Useful for debugging and seeing
what's going on "under the hood". A line starting with '>' means "header data"
diff --git a/docs/cmdline-opts/version.d b/docs/cmdline-opts/version.d
index 16c1843f..52c29f17 100644
--- a/docs/cmdline-opts/version.d
+++ b/docs/cmdline-opts/version.d
@@ -1,6 +1,7 @@
Long: version
Short: V
Help: Show version number and quit
+Category: important curl
---
Displays information about curl and the libcurl version it uses.
diff --git a/docs/cmdline-opts/write-out.d b/docs/cmdline-opts/write-out.d
index 686bda6e..28b9a13a 100644
--- a/docs/cmdline-opts/write-out.d
+++ b/docs/cmdline-opts/write-out.d
@@ -2,6 +2,7 @@ Long: write-out
Short: w
Arg: <format>
Help: Use output FORMAT after completion
+Category: verbose
---
Make curl display information on stdout after a completed transfer. The format
is a string that may contain plain text mixed with any number of
@@ -66,6 +67,10 @@ The http method used in the most recent HTTP request (Added in 7.72.0)
.B num_connects
Number of new connects made in the recent transfer. (Added in 7.12.3)
.TP
+.B num_headers
+The number of response headers in the most recent request (restarted at each
+ redirect). Note that the status line IS NOT a header. (Added in 7.73.0)
+.TP
.B num_redirects
Number of redirects that were followed in the request. (Added in 7.12.3)
.TP
diff --git a/docs/cmdline-opts/xattr.d b/docs/cmdline-opts/xattr.d
index b7553dae..4b64c6cb 100644
--- a/docs/cmdline-opts/xattr.d
+++ b/docs/cmdline-opts/xattr.d
@@ -1,5 +1,6 @@
Long: xattr
Help: Store metadata in extended file attributes
+Category: misc
---
When saving output to a file, this option tells curl to store certain file
metadata in extended file attributes. Currently, the URL is stored in the