summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Engler <me@emilengler.com>2020-07-13 14:15:04 +0200
committerDaniel Stenberg <daniel@haxx.se>2020-09-04 15:38:14 +0200
commit5dddc1dc7e39bd9b54fd219c1b2e318f1f6c49b2 (patch)
treef9efbff2872cf76c5792726a15ab3c38ae8b5376
parentdf0282a82beb35cb0b7a1a18ad8c9c442465a8f6 (diff)
downloadcurl-5dddc1dc7e39bd9b54fd219c1b2e318f1f6c49b2.tar.gz
docs: add categories to all cmdline opts
Adapted gen.pl with 'listcats' This commit is a part of "--help me if you can" Closes #5680
-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.d1
-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.d1
-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.pl50
-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.d1
-rw-r--r--docs/cmdline-opts/output.d1
-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.d1
-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.d1
-rw-r--r--docs/cmdline-opts/silent.d1
-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.d1
-rw-r--r--docs/cmdline-opts/xattr.d1
235 files changed, 289 insertions, 6 deletions
diff --git a/docs/cmdline-opts/abstract-unix-socket.d b/docs/cmdline-opts/abstract-unix-socket.d
index 1fda4e5df..8403cab9d 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 15877a2fe..5598b59b4 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 c32d1ed5e..bec0c0c86 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 f001b1239..8bdb2594d 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 09d42af9d..e222c51c1 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 6a5678752..793d8c1ba 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 0763f7a0d..4ce077a14 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 f1aaa2174..1342b092b 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 1232ec10d..b041bcb06 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 de6b42060..2938e571f 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 69e85525a..ed7438a00 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 583452ae4..849fe18b0 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 3aca92c32..26bc1514a 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 be46f7598..263467997 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
diff --git a/docs/cmdline-opts/connect-timeout.d b/docs/cmdline-opts/connect-timeout.d
index 3a32d8685..fa3277221 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 458bfe855..2f015f8ac 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 733f4941e..c44d2f496 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 da79777eb..f11991f4e 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 467e05663..5d2c9d783 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 b09d96ca7..48a8fd466 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 f6694b654..50c4bef81 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 0fcc63c85..360e668d1 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
index 03264c05a..47870a278 100644
--- a/docs/cmdline-opts/curves.d
+++ b/docs/cmdline-opts/curves.d
@@ -3,6 +3,7 @@ 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
diff --git a/docs/cmdline-opts/data-ascii.d b/docs/cmdline-opts/data-ascii.d
index bda4abc3d..3522f6345 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 3f6ff2dbd..c40785ece 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 7669b4abf..4db83aefa 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 9873f3356..2f2a3645b 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 280d38bc0..53ba86b36 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 138d82333..64b9f7500 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: misc
---
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 5cdd9258a..da8c01e26 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 a1e53c0bd..ffcf684e4 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 6d2cb7089..df1de8304 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 20b27b4c5..688fc0c54 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 a7f46ea15..e124f675a 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 45e5af263..3cb818ae3 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 597b85884..5ebdda5ca 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 581f01953..10e807646 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 a98fd07d8..8665426a8 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 c871c4d22..7fce4460d 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 33c6674e8..8449dfe85 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 c22790f6a..05ede9ad1 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 cde1a4773..9ed0cf1b0 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 1a698a8ff..cbf48ac5e 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 214723ff5..82e6dfa84 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 c88f0b84f..431a529c2 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 375d4c919..3fbe238af 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 c46c571bf..7fc76fb6a 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 65a8afb8f..abeff0eb5 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 49d0d44ef..04d2578c5 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 7f1aa31c3..3cd8dce75 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 013c4f37b..bc04ba047 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 8982ba8b8..171484906 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 ede57100d..5d9dfda46 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 95aa522e8..149340b82 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 44103e21a..cbd548de3 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 e4b145608..9bb1d43f0 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 dac4c3531..e9c7d251a 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 da6ab11fc..d6fd4589b 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 be1029498..6289e544a 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 c6edc5b39..33cab4302 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 87a822531..5191353dd 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 0c434dac9..3fec1646d 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 {
@@ -274,6 +282,7 @@ sub getshortlong {
my $help;
my $arg;
my $protocols;
+ my $category;
while(<F>) {
if(/^Short: (.)/i) {
$short=$1;
@@ -290,6 +299,9 @@ sub getshortlong {
elsif(/^Protocols: (.*)/i) {
$protocols=$1;
}
+ elsif(/^Category: (.*)/i) {
+ $category=$1;
+ }
elsif(/^---/) {
last;
}
@@ -303,6 +315,7 @@ sub getshortlong {
$helplong{$long}=$help;
$arglong{$long}=$arg;
$protolong{$long}=$protocols;
+ $catlong{$long}=$category;
}
}
@@ -328,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) {
@@ -336,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";
@@ -344,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";
@@ -353,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
@@ -406,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 be7cb25f0..d529bb4e0 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 fff6516b6..4b5f30de9 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 611a8f1d8..ceff2a7df 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 cc41c9c44..835820465 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 350a100f6..6fe468511 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 d8292ed77..e84168996 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 64aa696d4..bf80b7818 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 a85115803..c926ed8b5 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 7e783f696..954c22a17 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 d9bbd76f0..a4059dbf0 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 f1e6b5c3b..a71a40bab 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 f793f775d..ea2906edb 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 cf8f2988e..197515ee8 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 8265937a3..478b662aa 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 53524f518..82ac5da09 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 9d282dd16..250d4accf 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 49b0a4322..35f4a2e0f 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 65827fb8b..196e7efa3 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 9c40c8c3e..a6691376a 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 6eef6dd03..ce0415caa 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 40ccd9c2d..993b77fa8 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 c816e13ff..41261535c 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 bf39bcd35..50a068676 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 855e2f7b6..a762e6faf 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 19547af08..7759cfb04 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 ef132fe74..eb9850c68 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 06c456e3e..cb3a86077 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 63b2851f4..c69885801 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 d96b46eb8..3f7a0e024 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 995a8718a..f01d842bc 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 b5ba1f4fa..c70b2eba8 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 8bad0511d..887d5d517 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 70cf0eda4..529997161 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 1d932344c..faf48e2a4 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 b5723df34..76457c32e 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 0a2859b68..d8ae046ee 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 a9dbb0c78..25ed08dd2 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 50d5266e1..1f6bdc663 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 a97860a8b..ba16c43fc 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 0057f9d04..c4e4ed7eb 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 81fc8bc78..883766439 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 69a6b9170..e247bfbee 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 50126d255..95fb2654a 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 c28540309..fa92032bd 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 2df26782c..6aac568a6 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 1d1e70a35..1adcc7535 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 88abb8368..8031b4f07 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 65a6282f6..1079f4712 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 8fb28a036..72f3bc9a5 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 ab0f6de2e..27e5974bd 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 aff0717d3..bf28d635d 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 397a15869..013ca4cb4 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 a216e75f4..12ce6d3ed 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 7b9338408..4a2f7e1e6 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 baaa1d534..c63c086eb 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 30466e579..e0ea210ed 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
index 7fbe9bfc3..d2ff7738e 100644
--- a/docs/cmdline-opts/output-dir.d
+++ b/docs/cmdline-opts/output-dir.d
@@ -3,6 +3,7 @@ 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
diff --git a/docs/cmdline-opts/output.d b/docs/cmdline-opts/output.d
index f310c267d..bf35bf4a0 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/parallel-immediate.d b/docs/cmdline-opts/parallel-immediate.d
index 343931085..95c8afc42 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 a8c79c743..d49aeb7a9 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 fac84e624..d6b4affe3 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 2639cb9d0..f6633d242 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 946e2f07a..0bfaf6639 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 cd21911f8..617252c6c 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 87a9fe7ed..9cc2ad018 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 caf0d87f1..02749032f 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 44f39e610..1a67e13ef 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 b8eb77fa4..a917c16ed 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 f27de2d93..299d5384a 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 ccc3b85f3..1c2afea2c 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 a1205dd03..9a096f531 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 e1ece1788..46c912254 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 b60d0a05e..6410c0e6a 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 566f890a9..e842f9900 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 2713dd2a4..bbc731a28 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 177246aab..cc342b755 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 906d2a115..fb7596c17 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 43acd3950..7df2712f3 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 dcac81284..366555673 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 1d6247f47..580dc50ce 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 ccf46636c..52f1fcc67 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 c1b0bb7c4..9f1121d2f 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 762828f43..e123f4019 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 ce7482ae9..1906872ef 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 e61eb18a9..57d469f43 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 775f62a9a..72f35960e 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 c30db53b9..cb1ba7b00 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 3371714ba..627451bbb 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 abd6dc4aa..2ab79f19e 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 9a73f2be6..f78072906 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 de96b8436..138001b36 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 08961b72e..19add2260 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 7d0ce8e1a..5649a0f5f 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 cf003844e..38a33d45d 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 758a7c953..587f7f510 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 d024eeac3..5003f5f70 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 152466daa..82fc5170f 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 6506692be..0592f13ba 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 4a931bd15..b8a232bf7 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 1f587f120..94dae992f 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 b2e11c024..692daf6b0 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 3da34f487..a33ed3571 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
diff --git a/docs/cmdline-opts/random-file.d b/docs/cmdline-opts/random-file.d
index 51626f88d..c57f52364 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 b888dd181..17c6c2aba 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 c3328e69a..90e777263 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 cd84e9d5a..8b2057b94 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 771b6d469..700da69fc 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 f7a199679..299684c51 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 9fed64bf4..184c32e47 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 7f6809dc3..96fb4fbe9 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 b46b4af02..df423f87d 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 3919d426a..47c4c8b04 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 c1692f0f8..41f6a1bd5 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 4554f5938..6bda52b6e 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 6a78e1fda..be34f973d 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 1691356d4..5645c0e6a 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 0920c9244..9d6faf304 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 3db89b71c..70f6e7bfd 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 a3bd46e70..e802c80a1 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 c0dab9463..0041c3b4e 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 4dfeb27d6..c64496b85 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 0dbf99d40..2124409e5 100644
--- a/docs/cmdline-opts/show-error.d
+++ b/docs/cmdline-opts/show-error.d
@@ -2,5 +2,6 @@ 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 065d8ec4e..58a522335 100644
--- a/docs/cmdline-opts/silent.d
+++ b/docs/cmdline-opts/silent.d
@@ -2,6 +2,7 @@ Long: silent
Short: s
Help: Silent mode
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 11f6ae033..bc095d546 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 ae254ae0e..d3177a9d7 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 67d16b3a6..52d1e6619 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 477e218e3..b538f33f3 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 eb3b2407b..e61d0f5ab 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 0070f37eb..72ae7aeb2 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 9d9d946e5..247d7660e 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 22fae7629..bbe92f0a1 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 e2b81c79a..3f9ad3a46 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 98d6ae13c..81acabec4 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 973fcd451..f18fe7470 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 f94b11143..3b1614243 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 3c6f8a257..2e573e39d 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 e339b8af0..af22da461 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 dabd83761..8df460106 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 67d2b8506..773ab691e 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 101ad1004..7beed8f81 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 e8cf7ba68..6da040159 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 e4751aecb..8aa4a0f05 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 d208b8917..2ab9f3f48 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: misc
---
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 08e141df7..faef499f3 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 f047a7c6f..f1cf644a4 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 a67cb627b..789de3ea1 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 c184328de..6e67ed2e1 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 e2a4dacd5..023327301 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 830b4e1a2..f733eeb0b 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 475c12fe8..07eb65465 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 db8033525..0f906ce40 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 ede21c2f7..5b283cf9b 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 b2e65362e..5c6a0fa51 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 7192b9f1d..ada152608 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 2b1f0156a..4f0176f31 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 405d552bb..b3649f7f4 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 bdf1fcf62..dffbccb9d 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 19da857b7..37d953552 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 4cb405697..d4c0c5160 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 01bb62bb3..ce1d00325 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 fceaa7126..fa7e16ccc 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 27dcc42cf..19a31a70e 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 334ea5ad6..502dafd71 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 812d20f3b..e4ea91d01 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 6f01dbf35..63584b797 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 991f1f27c..30f0bf72e 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 d59fad922..3a5a6a4f8 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 c6dd2e584..ec2ca82bb 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 7001d28ab..b588700c0 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 5d3352183..8db1ea222 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 16c1843f1..52c29f177 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 686bda6ea..013319cc2 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
diff --git a/docs/cmdline-opts/xattr.d b/docs/cmdline-opts/xattr.d
index b7553daeb..4b64c6cbf 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