{"action":"created","issue":{"url":"https://api.github.com/repos/guardianproject/NetCipher/issues/29","labels_url":"https://api.github.com/repos/guardianproject/NetCipher/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/guardianproject/NetCipher/issues/29/comments","events_url":"https://api.github.com/repos/guardianproject/NetCipher/issues/29/events","html_url":"https://github.com/guardianproject/NetCipher/pull/29","id":99288925,"number":29,"title":"new generic ProxyHelper interface and Psiphon3 implementation","user":{"login":"n8fr8","id":30851,"avatar_url":"https://avatars.githubusercontent.com/u/30851?v=3","gravatar_id":"","url":"https://api.github.com/users/n8fr8","html_url":"https://github.com/n8fr8","followers_url":"https://api.github.com/users/n8fr8/followers","following_url":"https://api.github.com/users/n8fr8/following{/other_user}","gists_url":"https://api.github.com/users/n8fr8/gists{/gist_id}","starred_url":"https://api.github.com/users/n8fr8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/n8fr8/subscriptions","organizations_url":"https://api.github.com/users/n8fr8/orgs","repos_url":"https://api.github.com/users/n8fr8/repos","events_url":"https://api.github.com/users/n8fr8/events{/privacy}","received_events_url":"https://api.github.com/users/n8fr8/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"eighthave","id":143465,"avatar_url":"https://avatars.githubusercontent.com/u/143465?v=3","gravatar_id":"","url":"https://api.github.com/users/eighthave","html_url":"https://github.com/eighthave","followers_url":"https://api.github.com/users/eighthave/followers","following_url":"https://api.github.com/users/eighthave/following{/other_user}","gists_url":"https://api.github.com/users/eighthave/gists{/gist_id}","starred_url":"https://api.github.com/users/eighthave/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eighthave/subscriptions","organizations_url":"https://api.github.com/users/eighthave/orgs","repos_url":"https://api.github.com/users/eighthave/repos","events_url":"https://api.github.com/users/eighthave/events{/privacy}","received_events_url":"https://api.github.com/users/eighthave/received_events","type":"User","site_admin":false},"milestone":null,"comments":9,"created_at":"2015-08-05T20:12:29Z","updated_at":"2015-09-01T19:35:59Z","closed_at":"2015-08-10T18:19:44Z","pull_request":{"url":"https://api.github.com/repos/guardianproject/NetCipher/pulls/29","html_url":"https://github.com/guardianproject/NetCipher/pull/29","diff_url":"https://github.com/guardianproject/NetCipher/pull/29.diff","patch_url":"https://github.com/guardianproject/NetCipher/pull/29.patch"},"body":"This implements a more generic, extensible way to discover and interact with local device proxies. Psiphon3 is the default implementation."},"comment":{"url":"https://api.github.com/repos/guardianproject/NetCipher/issues/comments/136835952","html_url":"https://github.com/guardianproject/NetCipher/pull/29#issuecomment-136835952","issue_url":"https://api.github.com/repos/guardianproject/NetCipher/issues/29","id":136835952,"user":{"login":"vanevery","id":431774,"avatar_url":"https://avatars.githubusercontent.com/u/431774?v=3","gravatar_id":"","url":"https://api.github.com/users/vanevery","html_url":"https://github.com/vanevery","followers_url":"https://api.github.com/users/vanevery/followers","following_url":"https://api.github.com/users/vanevery/following{/other_user}","gists_url":"https://api.github.com/users/vanevery/gists{/gist_id}","starred_url":"https://api.github.com/users/vanevery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanevery/subscriptions","organizations_url":"https://api.github.com/users/vanevery/orgs","repos_url":"https://api.github.com/users/vanevery/repos","events_url":"https://api.github.com/users/vanevery/events{/privacy}","received_events_url":"https://api.github.com/users/vanevery/received_events","type":"User","site_admin":false},"created_at":"2015-09-01T19:35:59Z","updated_at":"2015-09-01T19:35:59Z","body":"They change, which is part of the difficulty of using Psiphon.\nPsiphonHelper runs a port discovery routine which broadcasts the ports\nmaking it easier to use.\n\nOn 9/1/15 3:32 PM, Hans-Christoph Steiner wrote:\n> Is Psiphon guaranteed to run on ports 1080 and 8080, or does it change\n> its ports sometimes? If so, then Psiphon will need to communcate that to\n> NetCipher. The current |PsiphonHelper| is written from the perspective\n> as if it was code in Psiphon itself because it is broadcasting the proxy\n> ports. But NetCipher represents the app's point of view when interacting\n> with proxies like Orbot and Psiphon.\n> \n> If those ports are fixed, then no need to broadcast those ports at all.\n> They can just be hard-coded into NetCipher, then used as the proxy\n> whenever the app chooses to use Psiphon.\n> \n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/guardianproject/NetCipher/pull/29#issuecomment-136835075>.\n> \n"}}