{"action":"created","issue":{"url":"https://api.github.com/repos/getlantern/lantern/issues/2290","labels_url":"https://api.github.com/repos/getlantern/lantern/issues/2290/labels{/name}","comments_url":"https://api.github.com/repos/getlantern/lantern/issues/2290/comments","events_url":"https://api.github.com/repos/getlantern/lantern/issues/2290/events","html_url":"https://github.com/getlantern/lantern/issues/2290","id":60071908,"number":2290,"title":"Only send HTTPS traffic to peers","user":{"login":"oxtoacart","id":5000654,"avatar_url":"https://avatars.githubusercontent.com/u/5000654?v=3","gravatar_id":"","url":"https://api.github.com/users/oxtoacart","html_url":"https://github.com/oxtoacart","followers_url":"https://api.github.com/users/oxtoacart/followers","following_url":"https://api.github.com/users/oxtoacart/following{/other_user}","gists_url":"https://api.github.com/users/oxtoacart/gists{/gist_id}","starred_url":"https://api.github.com/users/oxtoacart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oxtoacart/subscriptions","organizations_url":"https://api.github.com/users/oxtoacart/orgs","repos_url":"https://api.github.com/users/oxtoacart/repos","events_url":"https://api.github.com/users/oxtoacart/events{/privacy}","received_events_url":"https://api.github.com/users/oxtoacart/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/getlantern/lantern/labels/P1","name":"P1","color":"eb6420"},{"url":"https://api.github.com/repos/getlantern/lantern/labels/security","name":"security","color":"ff6666"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/getlantern/lantern/milestones/87","html_url":"https://github.com/getlantern/lantern/milestones/2.0%20Beta%205","labels_url":"https://api.github.com/repos/getlantern/lantern/milestones/87/labels","id":1038831,"number":87,"title":"2.0 Beta 5","description":"1) Auto-updates\r\n2) Choosing server pools based on geography","creator":{"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},"open_issues":15,"closed_issues":4,"state":"open","created_at":"2015-03-25T17:24:36Z","updated_at":"2015-04-01T15:20:19Z","due_on":"2015-04-16T07:00:00Z","closed_at":null},"comments":23,"created_at":"2015-03-06T08:13:45Z","updated_at":"2015-04-04T03:45:21Z","closed_at":null,"body":"Especially with domain fronting, but also with extended trust networks, peer proxies are essentially untrusted parties.  To avoid them being able to read user's content and worse, inject malicious JavaScript, we should never send them HTTP traffic (thanks for that suggestion @myleshorton!).  From a network management perspective, this probably isn't such a horrible thing since popular sites like Google, Facebook and YouTube are HTTPS sites (even YouTube videos are streamed in HTTPS).\r\n\r\nOne thing to keep in mind though is that even with HTTPS traffic, peer proxies will see which sites you are accessing.  This is much less bad than them injecting JavaScript, but it is still some information leakage."},"comment":{"url":"https://api.github.com/repos/getlantern/lantern/issues/comments/89494430","html_url":"https://github.com/getlantern/lantern/issues/2290#issuecomment-89494430","issue_url":"https://api.github.com/repos/getlantern/lantern/issues/2290","id":89494430,"user":{"login":"aranhoide","id":2204867,"avatar_url":"https://avatars.githubusercontent.com/u/2204867?v=3","gravatar_id":"","url":"https://api.github.com/users/aranhoide","html_url":"https://github.com/aranhoide","followers_url":"https://api.github.com/users/aranhoide/followers","following_url":"https://api.github.com/users/aranhoide/following{/other_user}","gists_url":"https://api.github.com/users/aranhoide/gists{/gist_id}","starred_url":"https://api.github.com/users/aranhoide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aranhoide/subscriptions","organizations_url":"https://api.github.com/users/aranhoide/orgs","repos_url":"https://api.github.com/users/aranhoide/repos","events_url":"https://api.github.com/users/aranhoide/events{/privacy}","received_events_url":"https://api.github.com/users/aranhoide/received_events","type":"User","site_admin":false},"created_at":"2015-04-04T03:45:21Z","updated_at":"2015-04-04T03:45:21Z","body":"@xiam:\r\n\r\n> I mean, no. HTTPs traffic is not what we're trying to route exclusively, it's HTTP.\r\n\r\nYes, I agree.  If I understand correctly what you're replying to, I said\r\n\r\n> you could just pretend that peers.getiantem.org is really backed by peers, and make sure that only HTTPS traffic gets sent to those\r\n\r\nBy \"only HTTPS traffic gets sent to those\" I meant that no HTTP traffic should be sent.\r\n\r\n> Can we really trust any server but peers.geiantem.org with plaing HTTP traffic?\r\n\r\n*Currently* yes, because there is only support for fronted peers, and all the fronted peers are accessed through that round robin.\r\n\r\nWhen we add chained (non-fronted) peers we'll need to figure out how to distribute knowledge about their IPs to users.  This includes deciding how we'll mark them as peers vs fallbacks.  But I think that problem will require a relatively minor addition, once we have the routing working for fronted peers.\r\n\r\n"}}