abbat / ydcmd

Консольный клиент Linux/FreeBSD для работы с Яндекс.Диск (Yandex.Disk) посредством REST API
158 stars 23 forks source link

ydcmd перестал работать. Или yandex поменял API или висит, или yandex блокирует. Вчера работал #59

Open mal19992 opened 1 month ago

mal19992 commented 1 month ago

ydcmd --debug ls

--> GET https://cloud-api.yandex.net/v1/disk/resources?path=disk%3A%2F&offset=0&limit=100
--> Retry 1/3: <urlopen error [Errno 2] No such file or directory>
--> GET https://cloud-api.yandex.net/v1/disk/resources?path=disk%3A%2F&offset=0&limit=100
--> Retry 2/3: <urlopen error [Errno 2] No such file or directory>
--> GET https://cloud-api.yandex.net/v1/disk/resources?path=disk%3A%2F&offset=0&limit=100
--> Retry 3/3: <urlopen error [Errno 2] No such file or directory>
<urlopen error [Errno 2] No such file or directory>

ydcmd --debug info

--> GET https://cloud-api.yandex.net/v1/disk/
--> Retry 1/3: <urlopen error [Errno 2] No such file or directory>
--> GET https://cloud-api.yandex.net/v1/disk/
--> Retry 2/3: <urlopen error [Errno 2] No such file or directory>
--> GET https://cloud-api.yandex.net/v1/disk/
--> Retry 3/3: <urlopen error [Errno 2] No such file or directory>
<urlopen error [Errno 2] No such file or directory>
abbat commented 1 month ago

Что говорит резолвер?

$ host cloud-api.yandex.net
cloud-api.yandex.net is an alias for api.disk.yandex.net.
api.disk.yandex.net has address 213.180.204.127
api.disk.yandex.net has IPv6 address 2a02:6b8::1:127

Открывается ли https://cloud-api.yandex.net просто в браузере?

mal19992 commented 1 month ago

то же самое

 host cloud-api.yandex.net
cloud-api.yandex.net has address 213.180.204.127
cloud-api.yandex.net is an alias for api.disk.yandex.net.
api.disk.yandex.net has IPv6 address 2a02:6b8::1:127
cloud-api.yandex.net is an alias for api.disk.yandex.net.

вчера работало, сегодня перестало

mal19992 commented 1 month ago

https://cloud-api.yandex.net/ в browser-е нормально открывается Screenshot 2024-09-25 at 11-46-23

а ydcmd не работает

 ydcmd  --debug info
--> GET https://cloud-api.yandex.net/v1/disk/
--> Retry 1/3: <urlopen error [Errno 2] No such file or directory>
--> GET https://cloud-api.yandex.net/v1/disk/
--> Retry 2/3: <urlopen error [Errno 2] No such file or directory>
--> GET https://cloud-api.yandex.net/v1/disk/
--> Retry 3/3: <urlopen error [Errno 2] No such file or directory>
<urlopen error [Errno 2] No such file or directory>
abbat commented 1 month ago

Не воспроизводится. А что покажет вывод?

$ curl -v https://cloud-api.yandex.net/v1/disk/
mal19992 commented 1 month ago

выдаёт нормально

 curl -v https://cloud-api.yandex.net/v1/disk/ 
* Host cloud-api.yandex.net:443 was resolved.
* IPv6: 2a02:6b8::1:127
* IPv4: 213.180.204.127
*   Trying [2a02:6b8::1:127]:443...
* Immediate connect fail for 2a02:6b8::1:127: Network is unreachable
*   Trying 213.180.204.127:443...
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/pki/tls/certs/ca-bundle.crt
*  CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: C=RU; ST=Moscow; L=Moscow; O=YANDEX LLC; CN=*.cloud-api.yandex.pl
*  start date: Jun 28 15:25:19 2024 GMT
*  expire date: Jan 28 15:25:19 2025 GMT
*  subjectAltName: host "cloud-api.yandex.net" matched cert's "cloud-api.yandex.net"
*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign RSA OV SSL CA 2018
*  SSL certificate verify ok.
*   Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 2: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Connected to cloud-api.yandex.net (213.180.204.127) port 443
* using HTTP/1.x
> GET /v1/disk/ HTTP/1.1
> Host: cloud-api.yandex.net
> User-Agent: curl/8.10.1
> Accept: */*
> 
* Request completely sent off
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
< HTTP/1.1 401 UNAUTHORIZED
< Access-Control-Allow-Credentials: true
< Access-Control-Allow-Headers: Accept-Language, X-Borigin, Accept, X-Uid, X-HTTP-Method, X-Requested-With, Content-Type, Authorization
< Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
< Access-Control-Allow-Origin: *
< Cache-Control: no-cache
< Content-Length: 99
< Content-Type: application/json
< Date: Wed, 25 Sep 2024 18:12:57 GMT
< NEL: {"report_to": "network-errors", "max_age": 604800, "success_fraction": 0.005, "failure_fraction": 0.5}
< Report-To: {"group": "network-errors", "max_age": 604800, "endpoints": [{"url": "https://dr.yandex.net/ya360/nel", "priority": 1}, {"url": "https://dr2.yandex.net/ya360/nel", "priority": 2}]}
< Strict-Transport-Security: max-age=31536000; preload
< Yandex-Cloud-Request-ID: rest-5a0b454aebf2091aa67928936a4224f0-disk-api-stable-extapi-26
< 
* Connection #0 to host cloud-api.yandex.net left intact
{"message":"Не авторизован.","description":"Unauthorized","error":"UnauthorizedError"}