GNURLOPT_P...13_CIPHERS(3)

πŸ“¦ version 7.72.0, in nixos 26.05, nixpkgs unstable

okay so bestie, welcome to the GNURLOPT_P...13_CIPHERS(3) page from the curl_easy_setopt options manual β€” it's literally the glow-up guide for picking cipher suites for a proxy's TLS 1.3 connection. πŸ’…βœ¨

🌸 NAME 🌸

  • CURLOPT_PROXY_TLS13_CIPHERS β€” ciphers suites for proxy TLS 1.3

πŸ¦‹ SYNOPSIS πŸ¦‹

the signature is giving exactly this, no cap:

#include <gnurl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLS13_CIPHERS,
char *list);

✨ DESCRIPTION ✨

Pass a char *, pointing to a null-terminated string holding the list of cipher suites to use for the TLS 1.3 connection to a proxy. The list must be syntactically correct, bestie β€” it consists of one or more cipher suite strings separated by colons. πŸ’–

you'll find more details about cipher lists on this URL:

https://curl.haxx.se/docs/ssl-ciphers.html

This option is currently used only when curl is built to use OpenSSL 1.1.1 or later. If you are using a different SSL backend you can try setting TLS 1.3 cipher suites by using the CURLOPT_PROXY_SSL_CIPHER_LIST option. 🫢

The application does not have to keep the string around after setting this option β€” like, it's totally fine to not keep it around. πŸ’€

πŸŽ€ DEFAULT πŸŽ€

NULL, use internal default. so if you don't pass a list, the internal default is doing its thing. ⭐

🌈 PROTOCOLS 🌈

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. πŸ’œ

πŸ”₯ EXAMPLE πŸ”₯

here's the example, copied exactly because we do not mess with code in this group chat:

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
  curl_easy_setopt(curl, CURLOPT_PROXY_TLS13_CIPHERS,
                   "TLS13-CHACHA20-POLY1305-SHA256");
  ret = curl_easy_perform(curl);
  curl_easy_cleanup(curl);
}

πŸ‘‘ AVAILABILITY πŸ‘‘

Added in 7.61.0. Available when built with OpenSSL >= 1.1.1. πŸŽ€

πŸ’… RETURN VALUE πŸ’…

Returns CURLE_OK if supported, CURLE_NOT_BUILT_IN otherwise. that's the whole vibe check. 😭

πŸ¦‹ SEE ALSO πŸ¦‹

go read these next, iykyk:

(and yes, the source list has a trailing comma after the last one β€” we respect the chaos. πŸ’€)


mwah πŸ’‹ β€” this page comes from libcurl 7.61.0, dated 25 May 2018. periodt. 🫢

πŸ“¦ where this page comes from