{"action":"created","issue":{"url":"https://api.github.com/repos/sabnzbd/sabnzbd/issues/292","labels_url":"https://api.github.com/repos/sabnzbd/sabnzbd/issues/292/labels{/name}","comments_url":"https://api.github.com/repos/sabnzbd/sabnzbd/issues/292/comments","events_url":"https://api.github.com/repos/sabnzbd/sabnzbd/issues/292/events","html_url":"https://github.com/sabnzbd/sabnzbd/issues/292","id":102546357,"number":292,"title":"test_ipv6() and thus _EXTERNAL_IPV6 unreliable with www.google.com 80 and 443","user":{"login":"sanderjo","id":1273502,"avatar_url":"https://avatars.githubusercontent.com/u/1273502?v=3","gravatar_id":"","url":"https://api.github.com/users/sanderjo","html_url":"https://github.com/sanderjo","followers_url":"https://api.github.com/users/sanderjo/followers","following_url":"https://api.github.com/users/sanderjo/following{/other_user}","gists_url":"https://api.github.com/users/sanderjo/gists{/gist_id}","starred_url":"https://api.github.com/users/sanderjo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sanderjo/subscriptions","organizations_url":"https://api.github.com/users/sanderjo/orgs","repos_url":"https://api.github.com/users/sanderjo/repos","events_url":"https://api.github.com/users/sanderjo/events{/privacy}","received_events_url":"https://api.github.com/users/sanderjo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":28,"created_at":"2015-08-22T15:55:40Z","updated_at":"2015-08-25T18:59:31Z","closed_at":null,"body":"As the subject says: test_ipv6() and thus _EXTERNAL_IPV6 is unreliable with www.google.com (and ipv6.google.com) 80 and 443. \r\nSee the proof below: on a working IPv6 connection, within 30 seconds, _EXTERNAL_IPV6 randomly reports True and False; the sock.connect() times out on 6 seconds. I don't know why this happens. Maybe www.google.com protects itself against connect() without a HTTP GET?\r\nThat is bad; SAB uses _EXTERNAL_IPV6 to determine if it should look up AAAA / IPv6 addresses at all.\r\n\r\nReliable FQDNs to use:\r\n* www.akamai.net\r\n* ipv6.msftncsi.com (resolves to a978.i6g1.akamai.net). Used by Windows 7+ to determine if the IPv6 internet is working. MSFTNCSI stands for Microsoft Network Connectivity Status Indicator\r\n* v4v6.ipv6-test.com and v6.ipv6-test.com. \r\n* www.cisco.com\r\n* ... many more ...\r\n\r\nSo, if www.google.com is not OK for this purpose, which FQDN to use? Requirements:\r\n* it should have an AAAA address\r\n* it should always be up and reachable\r\n* the site owner should be OK with it's usage\r\n* it should be clear to SABnzbd users what is going on; nothing alarming\r\n\r\nWhat do you think?\r\n\r\n\r\n\r\n(FWIW: not related to https://github.com/sabnzbd/sabnzbd/issues/274 )\r\n```\r\nsander@superstreamer:~$ time python sab-test_ipv6.py \r\n[(10, 1, 6, 'www.google.com', ('2a00:1450:4001:80b::1014', 80, 0, 0))]\r\nTrue\r\n\r\nreal\t0m0.056s\r\nuser\t0m0.024s\r\nsys\t0m0.012s\r\nsander@superstreamer:~$ time python sab-test_ipv6.py \r\n[(10, 1, 6, 'www.google.com', ('2a00:1450:4001:80b::1014', 80, 0, 0))]\r\nFalse\r\n\r\nreal\t0m6.050s\r\nuser\t0m0.028s\r\nsys\t0m0.008s\r\nsander@superstreamer:~$ time python sab-test_ipv6.py \r\n[(10, 1, 6, 'www.google.com', ('2a00:1450:4001:80b::1014', 80, 0, 0))]\r\nFalse\r\n\r\nreal\t0m6.048s\r\nuser\t0m0.024s\r\nsys\t0m0.012s\r\nsander@superstreamer:~$ time python sab-test_ipv6.py \r\n[(10, 1, 6, 'www.google.com', ('2a00:1450:4001:80b::1014', 80, 0, 0))]\r\nTrue\r\n\r\nreal\t0m0.056s\r\nuser\t0m0.032s\r\nsys\t0m0.004s\r\nsander@superstreamer:~$ time python sab-test_ipv6.py \r\n[(10, 1, 6, 'www.google.com', ('2a00:1450:4001:80b::1014', 80, 0, 0))]\r\nTrue\r\n\r\nreal\t0m0.053s\r\nuser\t0m0.020s\r\nsys\t0m0.016s\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/sabnzbd/sabnzbd/issues/comments/134702320","html_url":"https://github.com/sabnzbd/sabnzbd/issues/292#issuecomment-134702320","issue_url":"https://api.github.com/repos/sabnzbd/sabnzbd/issues/292","id":134702320,"user":{"login":"jeffgeorge","id":806112,"avatar_url":"https://avatars.githubusercontent.com/u/806112?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffgeorge","html_url":"https://github.com/jeffgeorge","followers_url":"https://api.github.com/users/jeffgeorge/followers","following_url":"https://api.github.com/users/jeffgeorge/following{/other_user}","gists_url":"https://api.github.com/users/jeffgeorge/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffgeorge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffgeorge/subscriptions","organizations_url":"https://api.github.com/users/jeffgeorge/orgs","repos_url":"https://api.github.com/users/jeffgeorge/repos","events_url":"https://api.github.com/users/jeffgeorge/events{/privacy}","received_events_url":"https://api.github.com/users/jeffgeorge/received_events","type":"User","site_admin":false},"created_at":"2015-08-25T18:59:31Z","updated_at":"2015-08-25T18:59:31Z","body":"Alright guys, test-ipv6.sabnzbd.org now exists. It should be fine for now just being handled by Cloudflare, but once I get back from vacation next week I'll make sure that hostname is additionally backed by a valid IPv6 host in Linode."}}