zapret icon indicating copy to clipboard operation
zapret copied to clipboard

v69 blockcheck.sh can't detect own curl

Open chinese-maintainer opened this issue 1 year ago • 11 comments

installed curl version does not support TLS 1.3 . tests disabled.

make sure target domain(s) support QUIC or result will be negative in any case
check http3 QUIC (default : Y) (Y/N) ? N^C
root@OpenWrt:~# curl -V
curl 8.11.0 (aarch64-pc-linux-gnu) libcurl/8.11.0 OpenSSL/3.3.2 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 c-ares/1.34.3 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.64.0 nghttp3/1.6.0
Release-Date: 2024-11-06
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Largefile libz NTLM PSL SSL threadsafe TLS-SRP TrackMemory UnixSockets zstd

Приходиться явно задавать путь через переменную. В предыдущей версии v68 определял правильно

CURL=/opt/bin/curl /opt/zapret/blockcheck.sh

chinese-maintainer avatar Nov 21 '24 09:11 chinese-maintainer

Был какой-то глюк только при первом запуске, далее нормально видит curl

chinese-maintainer avatar Nov 21 '24 14:11 chinese-maintainer

Такое может быть, потому что тест проверки поддержки 1.3 дергает внешний сайт. Других способов не нашел. Сайт может глюкануть.

curl_supports_tls13()
{
	local r
	$CURL --tlsv1.3 -Is -o /dev/null --max-time 1 http://127.0.0.1:65535 2>/dev/null
	# return code 2 = init failed. likely bad command line options
	[ $? = 2 ] && return 1
	# curl can have tlsv1.3 key present but ssl library without TLS 1.3 support
	# this is online test because there's no other way to trigger library incompatibility case
	$CURL --tlsv1.3 --max-time $CURL_MAX_TIME -Is -o /dev/null https://iana.org 2>/dev/null
	r=$?
	[ $r != 4 -a $r != 35 ]
}

bol-van avatar Nov 21 '24 15:11 bol-van

Такое может быть, потому что тест проверки поддержки 1.3 дергает внешний сайт. Других способов не нашел. Сайт может глюкануть.

curl_supports_tls13()
{
	local r
	$CURL --tlsv1.3 -Is -o /dev/null --max-time 1 http://127.0.0.1:65535 2>/dev/null
	# return code 2 = init failed. likely bad command line options
	[ $? = 2 ] && return 1
	# curl can have tlsv1.3 key present but ssl library without TLS 1.3 support
	# this is online test because there's no other way to trigger library incompatibility case
	$CURL --tlsv1.3 --max-time $CURL_MAX_TIME -Is -o /dev/null https://iana.org 2>/dev/null
	r=$?
	[ $r != 4 -a $r != 35 ]
}

Не подскажете куда это надо вставить, чтобы всё заработало?:) Второй день бьюсь с этой проблемой с Курлом, хз что делать

TheVod avatar Dec 29 '24 00:12 TheVod

Его никуда не надо вставлять. Это часть кода блокчека, обьясняющая как оно сделано попробуйте через ваш курл дернуть https://iana.org c --tlsv1.3 если обламывается, здесь и ответ

bol-van avatar Dec 29 '24 07:12 bol-van

Его никуда не надо вставлять. Это часть кода блокчека, обьясняющая как оно сделано попробуйте через ваш курл дернуть https://iana.org c --tlsv1.3 если обламывается, здесь и ответ

"Спасибо, попробовал. Вроде дергается, а что здесь ответ?:) 'root@OpenWrt:~# curl -tlsv1.3 https://iana.org/

301 Moved Permanently

Moved Permanently

The document has moved here.

'

Пытаюсь как код вставить, хоть убей не получается.

TheVod avatar Dec 29 '24 12:12 TheVod

Мы вообще о чем говорим ? О том, что написал автор топика, или о чем ? У него не срабатывало определение того факта, что его курл поддерживает TLS 1.3

bol-van avatar Dec 29 '24 12:12 bol-van

Мы вообще о чем говорим ? О том, что написал автор топика, или о чем ? У него не срабатывало определение того факта, что его курл поддерживает TLS 1.3

installed curl version does not support TLS 1.3 . tests disabled.

installed curl version does not support http3 QUIC. tests disabled.

Вот такие ошибки, и если указать путь напрямую ( CURL=/usr/bin/curl) не помогает.

TheVod avatar Dec 29 '24 12:12 TheVod

Батник test

    $CURL --version
    $CURL --tlsv1.3 -Is -o /dev/null --max-time 1 http://127.0.0.1:65535 2>/dev/null
    # return code 2 = init failed. likely bad command line options
    [ $? = 2 ] && return 1
    echo 2
    # curl can have tlsv1.3 key present but ssl library without TLS 1.3 support
    # this is online test because there's no other way to trigger library incompatibility case
    $CURL --tlsv1.3 --max-time 2 -Is -o /dev/null https://iana.org 2>/dev/null
    r=$?
    echo 3 r=$r
    [ $r != 4 -a $r != 35 ]

CURL=/usr/bin/curl sh test

что выдает ?

bol-van avatar Dec 29 '24 12:12 bol-van

Батник test

    $CURL --version
    $CURL --tlsv1.3 -Is -o /dev/null --max-time 1 http://127.0.0.1:65535 2>/dev/null
    # return code 2 = init failed. likely bad command line options
    [ $? = 2 ] && return 1
    echo 2
    # curl can have tlsv1.3 key present but ssl library without TLS 1.3 support
    # this is online test because there's no other way to trigger library incompatibility case
    $CURL --tlsv1.3 --max-time 2 -Is -o /dev/null https://iana.org 2>/dev/null
    r=$?
    echo 3 r=$r
    [ $r != 4 -a $r != 35 ]

CURL=/usr/bin/curl sh test

что выдает ?

1 2 3 r=35

TheVod avatar Dec 29 '24 13:12 TheVod

Так он не может

CURLE_SSL_CONNECT_ERROR (35)

A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others.

/usr/bin/curl --tlsv1.3 --max-time 2 -Is https://iana.org /usr/bin/curl --version

bol-van avatar Dec 29 '24 14:12 bol-van

Так он не может

CURLE_SSL_CONNECT_ERROR (35) A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others.

/usr/bin/curl --tlsv1.3 --max-time 2 -Is https://iana.org /usr/bin/curl --version

/usr/bin/curl --tlsv1.3 --max-time 2 -Is https://iana.org/ ----> ничего не выводит /usr/bin/curl --version ----> выводит текущую(последнюю версию курла). Попробовал удалить и заново установить курл, ничего не поменялось, к сожалению. Может какие-то отдельные пакеты ssl tls нужно поставить?

curl 8.7.1 (aarch64-openwrt-linux-gnu) libcurl/8.7.1 mbedTLS/2.28.9 nghttp2/1.57.0 Release-Date: 2024-03-27 Protocols: file ftp ftps http https ipfs ipns mqtt Features: alt-svc HSTS HTTP2 HTTPS-proxy IPv6 Largefile SSL threadsafe UnixSockets

TheVod avatar Dec 29 '24 14:12 TheVod