I am not sure if this is the right place to ask this, but here it goes.
The government of the country I live in has blocked wikipedia.org. Out of curiosity, I was messing around to maybe ascertain which methods were used etc. After changing my default DNS resolver to Cloudflare (18.104.22.168), I am now able to visit the address https://wikipedia.org using CLI browser lynx. However, I am not able to visit the site from my browser (Safari), nor cURL. The output of command
curl https://wikipedia.org/ -vv gives:
* Trying 22.214.171.124... * TCP_NODELAY set * Connected to wikipedia.org (126.96.36.199) port 443 (#0) * ALPN, offering http/1.1 * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * successfully set certificate verify locations: * CAfile: /anaconda3/ssl/cacert.pem CApath: none * TLSv1.2 (OUT), TLS header, Certificate Status (22): * TLSv1.2 (OUT), TLS handshake, Client hello (1): * OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to wikipedia.org:443 * Closing connection 0 curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to wikipedia.org:443
- From a technical viewpoint, why exactly can't I access https://wikipedia.org?
- What makes it so that lynx can access the site while cURL can't ? I'm thinking it has to do with CA certificates and ssl, but I can't understand how the government can modify the certificates on my device.
EDIT: Just for clarification, I am not interested in comments on how to circumvent this block or anything; obviously there are numerous ways but they are irrelevant to this question.
curl 7.58.0 (x86_64-apple-darwin13.4.0) libcurl/7.58.0 OpenSSL/1.0.2o zlib/1.2.11 Release-Date: 2018-01-24 Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy
Lynx Version 2.8.8rel.2 (09 Mar 2014) libwww-FM 2.14, SSL-MM 1.4.1, OpenSSL 1.0.2o, ncurses 5.7.20081102 Built on darwin17.0.0 Sep 18 2017 16:36:30