カールで KeepSolid (VPN Unlimited) プロキシを使用する

カールで KeepSolid (VPN Unlimited) プロキシを使用する

KeepSolidのサーバーがSquid(https://89.45.7.90:3129)、Firefoxアドインは、Firefoxが使用できるように何らかの方法で認証します。

curlKeepSolidサーバー(VPN Unlimitedとも呼ばれます)と一緒に使用したいと思います。

(Analyticshub.linkはTLS証明書のCNのようです)。

$ curl -v --proxy https://analyticshub.link:3129 --proxy-digest --proxy-user $user:$pass --location https://www.google.com/
*   Trying 89.45.7.90:3129...
* TCP_NODELAY set
* Connected to analyticshub.link (89.45.7.90) port 3129 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server did not agree to a protocol
* Proxy certificate:
*  subject: CN=analyticshub.link
*  start date: Jul  5 08:11:25 2021 GMT
*  expire date: Oct  3 08:11:24 2021 GMT
*  subjectAltName: host "analyticshub.link" matched cert's "analyticshub.link"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
* allocate connect buffer!
* Establish HTTP proxy tunnel to www.google.com:443
* Proxy auth using Digest with user '[email protected]'
> CONNECT www.google.com:443 HTTP/1.1
> Host: www.google.com:443
> User-Agent: curl/7.68.0
> Proxy-Connection: Keep-Alive
> 
< HTTP/1.1 407 Proxy Authentication Required
< Server: squid/3.5.23
< Mime-Version: 1.0
< Date: Sun, 01 Aug 2021 19:02:51 GMT
< Content-Type: text/html;charset=utf-8
< Content-Length: 3557
< X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
< Vary: Accept-Language
< Content-Language: en
< Proxy-Authenticate: Basic realm="Web-Proxy"
< X-Cache: MISS from vpnunlimitedapp.com
< X-Cache-Lookup: NONE from vpnunlimitedapp.com:4129
< Connection: close
< 
* Ignore 3557 bytes of response-body
* Received HTTP code 407 from proxy after CONNECT
* CONNECT phase completed!
* Closing connection 0
curl: (56) Received HTTP code 407 from proxy after CONNECT

ご覧のとおり、上記の方法は機能しません。私は何をすべきですか?

答え1

これはまったく100%の答えではありませんが、Firefoxアドオンがどのように機能するかを見てみました。

つまり、JWTを使用して認証サービス(冗長性/バイパスをブロックするために複数のクラウドストレージプロバイダから取得されたトークンを使用)でうまく認証し、プロキシauth.simplexsolutionsinc.com資格情報で使用する一時的な戻り値を返すようです。

これらの短期資格情報をキャプチャして今のように使用できるはずですが、これは単純なユーザー/パスではない可能性があり、OAuth2フォワーダー、プロキシ、またはJWTの追加層と同じである可能性があります。

また、GNU Parallelを書いてくれてありがとう!

関連情報