diff --git a/bollux b/bollux index 68eade9..0bb7391 100755 --- a/bollux +++ b/bollux @@ -304,9 +304,15 @@ request_url() { local port="$2" local url="$3" - ssl_cmd=(openssl s_client -crlf -quiet -connect "$server:$port") - ssl_cmd+=(-servername "$server") # SNI - run "${ssl_cmd[@]}" <<<"$url" 2>/dev/null + # support for TLS v1.3 and v1.2 + ssl_cmd_tls1_2=(openssl s_client -tls1_2 -crlf -quiet -connect "$server:$port") + ssl_cmd_tls1_3=(openssl s_client -tls1_3 -crlf -quiet -connect "$server:$port") + + ssl_cmd_tls1_2+=(-servername "$server") # SNI + ssl_cmd_tls1_3+=(-servername "$server") # SNI + + # always try to connect with TLS v1.3 first + run "${ssl_cmd_tls1_3[@]}" <<<"$url" 2>/dev/null || run "${ssl_cmd_tls1_2[@]}" <<< "$url" 2>/dev/null } handle_response() {