{"action":"created","issue":{"url":"https://api.github.com/repos/getlantern/lantern/issues/3070","labels_url":"https://api.github.com/repos/getlantern/lantern/issues/3070/labels{/name}","comments_url":"https://api.github.com/repos/getlantern/lantern/issues/3070/comments","events_url":"https://api.github.com/repos/getlantern/lantern/issues/3070/events","html_url":"https://github.com/getlantern/lantern/pull/3070","id":103939660,"number":3070,"title":"Don't stick to single masquerade","user":{"login":"fffw","id":10410437,"avatar_url":"https://avatars.githubusercontent.com/u/10410437?v=3","gravatar_id":"","url":"https://api.github.com/users/fffw","html_url":"https://github.com/fffw","followers_url":"https://api.github.com/users/fffw/followers","following_url":"https://api.github.com/users/fffw/following{/other_user}","gists_url":"https://api.github.com/users/fffw/gists{/gist_id}","starred_url":"https://api.github.com/users/fffw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fffw/subscriptions","organizations_url":"https://api.github.com/users/fffw/orgs","repos_url":"https://api.github.com/users/fffw/repos","events_url":"https://api.github.com/users/fffw/events{/privacy}","received_events_url":"https://api.github.com/users/fffw/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-08-30T18:40:33Z","updated_at":"2015-08-31T23:05:45Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/getlantern/lantern/pulls/3070","html_url":"https://github.com/getlantern/lantern/pull/3070","diff_url":"https://github.com/getlantern/lantern/pull/3070.diff","patch_url":"https://github.com/getlantern/lantern/pull/3070.patch"},"body":"Main changes of this PR:\r\n\r\n1. Check masquerades using direct domain fronting against http://geo.getiantem.org/lookup, instead of full domain fronting against Google. This prevents the 403 error. Ideally we can setup a static page as test target which is always cached by CF, though for now, geo-server's load is very light.\r\n\r\n2. Instead of using fixed http.Client, subcomponents will request a new direct domain fronter each time. This prevents a failed masquerade from keep failing.\r\n\r\nfronted_test.go is failed due to 403 errors. I choose to leave it as a indicator to tell us if CF recovered or not.\r\n\r\nWith this change, Lantern can update config 1 minutes after it starts up. geolookup still not work, as it access `http://nl.fallbacks.getiantem.org` to gain ip and country. We can't move it to `geo.getiantem.org/lookup` unless it add a field of requester ip address in the response."},"comment":{"url":"https://api.github.com/repos/getlantern/lantern/issues/comments/136523751","html_url":"https://github.com/getlantern/lantern/pull/3070#issuecomment-136523751","issue_url":"https://api.github.com/repos/getlantern/lantern/issues/3070","id":136523751,"user":{"login":"myleshorton","id":1143966,"avatar_url":"https://avatars.githubusercontent.com/u/1143966?v=3","gravatar_id":"","url":"https://api.github.com/users/myleshorton","html_url":"https://github.com/myleshorton","followers_url":"https://api.github.com/users/myleshorton/followers","following_url":"https://api.github.com/users/myleshorton/following{/other_user}","gists_url":"https://api.github.com/users/myleshorton/gists{/gist_id}","starred_url":"https://api.github.com/users/myleshorton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/myleshorton/subscriptions","organizations_url":"https://api.github.com/users/myleshorton/orgs","repos_url":"https://api.github.com/users/myleshorton/repos","events_url":"https://api.github.com/users/myleshorton/events{/privacy}","received_events_url":"https://api.github.com/users/myleshorton/received_events","type":"User","site_admin":false},"created_at":"2015-08-31T23:05:45Z","updated_at":"2015-08-31T23:05:45Z","body":"Thanks @fffw I somehow missed you had submitted this PR until today, but I think our PRs are almost entirely complementary. I would vote for merging yours in followed by mine, likely with a conflict or two."}}