Commit a27d2e00 authored by Amogh Pradeep's avatar Amogh Pradeep Committed by Richard Pospesel
Browse files

Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.

See Bug 1357997 for partial uplift.

Also:
Bug 28051 - Use our Orbot for proxying our connections

Bug 31144 - ESR68 Network Code Review
parent 5c9c5369
Loading
Loading
Loading
Loading
+24 −1
Original line number Diff line number Diff line
@@ -28,6 +28,10 @@ import java.net.URLConnection;
import java.util.List;

public class ProxySelector {
  private static final String TOR_PROXY_ADDRESS = "127.0.0.1";
  private static final int TOR_SOCKS_PROXY_PORT = 9150;
  private static final int TOR_HTTP_PROXY_PORT = 8218;

  public static URLConnection openConnectionWithProxy(final URI uri) throws IOException {
    final java.net.ProxySelector ps = java.net.ProxySelector.getDefault();
    Proxy proxy = Proxy.NO_PROXY;
@@ -38,7 +42,26 @@ public class ProxySelector {
      }
    }

    return uri.toURL().openConnection(proxy);
    /* Ignore the proxy we found from the VM, only use Tor. We can probably
     * safely use the logic in this class in the future. */
    return uri.toURL().openConnection(getProxy());
  }

  public static Proxy getProxy() {
    // TODO make configurable
    return new Proxy(Proxy.Type.SOCKS, new InetSocketAddress(TOR_PROXY_ADDRESS, TOR_SOCKS_PROXY_PORT));
  }

  public static String getProxyHostAddress() {
    return TOR_PROXY_ADDRESS;
  }

  public static int getSocksProxyPort() {
    return TOR_SOCKS_PROXY_PORT;
  }

  public static int getHttpProxyPort() {
    return TOR_HTTP_PROXY_PORT;
  }

  public ProxySelector() {}