Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Не работает curl -s “https://get.sdkman.io” | bash

#linux #bash #curl #elementary_os


Хочу установить sdkman на elementary OS Loki.
Пытаюсь делать всё по инструкции с сайта, ввожу в консоли curl -s "https://get.sdkman.io"
| bash и ничего не происходит. Разработчики sdkman сказали, что возможно это из-за
блокировок серверов, но у меня стоит vpn и я могу пинговать get.sdkman.io, а также
если я ввожу этот адрес в браузер то у меня открывается их страница, отсюда я сделал
вывод, что дело не в блокировке, в чём тогда может быть проблема?

UPD:
попробовал изменить запрос вот результат

curl -sv "https://get.sdkman.io/" | bash
Rebuilt URL to: https://get.sdkman.io/
Trying 159.89.187.78...
Connected to get.sdkman.io (159.89.187.78) port 443 (#0)
found 148 certificates in /etc/ssl/certs/ca-certificates.crt
found 597 certificates in /etc/ssl/certs
ALPN, offering http/1.1
gnutls_handshake() failed: Error in the push function.
Closing connection 0


UPD2:

ls -l $(which bash)
-rwxr-xr-x 1 root root 1037528 ноя 27  2017 /bin/bash

bash --version
GNU bash, версия 4.3.48(1)-release (x86_64-pc-linux-gnu)


UPD3:

$ wget 'https://get.sdkman.io'
--2018-09-27 16:25:07--  https://get.sdkman.io/
Распознаётся get.sdkman.io (get.sdkman.io)... 159.89.187.78
Подключение к get.sdkman.io (get.sdkman.io)|159.89.187.78|:443... 
соединение установлено.
Не удаётся установить SSL-соединение.


UPD4:
Я использую VPN, на сайт get.sdkman.io через браузер я зайти могу.

    


Ответы

Ответ 1



согласно информации с сайта https://zapret.info/index.php?url=get.sdkman.io: Сожалеем, ресурс get.sdkman.io (159.89.187.78) находится в списке заблокированных ресурсов на территории Российской Федерации! если у вас имеется ssh-доступ к серверу, на котором сайт get.sdkman.io (и api.sdkman.io, к которому происходят обращения уже внутри скрипта, который вы хотите получить и выполнить) не заблокирован, то можете воспользоваться советом из другого моего ответа: Как проксировать http[s] через ssh-туннель? (точнее, первым пунктом из ответа). в отдельном эмуляторе терминала запускаете проксирующий процесс: $ ssh -D 1122 user@server в другом эмуляторе терминала, где собираетесь запускать программу curl, объявляете переменную окружения HTTPS_PROXY, значение которой использует программа: $ export HTTPS_PROXY=socks5://localhost:1122 (номер порта — тот же самый, что вы указывали и при запуске ssh) теперь в этом эмуляторе терминала команда $ curl https://get.sdkman.io | ... благополучно отработает. если вы, как и я, не доверяете всяким левым сайтам и устанавливаете программы с них исключительно в docker-контейнерах, то контейнер надо запускать (хотя бы на стадии запуска скриптов с sdkman.io), например, с опцией --network=host. первый пункт выполняете на хост-машине, второй и третий — внутри контейнера.

Ответ 2



Просто используй curl -s "http://get.sdkman.io" | bash

Комментариев нет:

Отправить комментарий