[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [orbot/master] support dynamic SOCKS ip in polipo configuration
commit 4d6c32a6a250d99cf66bb0fdce80741ff2710b89
Author: Nathan Freitas <nathan@xxxxxxxxxxx>
Date: Tue Jul 15 16:10:24 2014 -0400
support dynamic SOCKS ip in polipo configuration
---
res/raw/torpolipo.conf | 138 --------------------
src/org/torproject/android/service/TorService.java | 25 +++-
2 files changed, 24 insertions(+), 139 deletions(-)
diff --git a/res/raw/torpolipo.conf b/res/raw/torpolipo.conf
index 5707c03..feb9d5b 100644
--- a/res/raw/torpolipo.conf
+++ b/res/raw/torpolipo.conf
@@ -1,159 +1,21 @@
-### Basic configuration
-### *******************
-
-# Uncomment one of these if you want to allow remote clients to
-# connect:
-
-# proxyAddress = "::0" # both IPv4 and IPv6
-# proxyAddress = "0.0.0.0" # IPv4 only
-
proxyAddress = "127.0.0.1"
proxyPort = 8118
-
-# If you do that, you'll want to restrict the set of hosts allowed to
-# connect:
-
-# allowedClients = "127.0.0.1, 134.157.168.57"
-# allowedClients = "127.0.0.1, 134.157.168.0/24"
-
allowedClients = 127.0.0.1
allowedPorts = 1-65535
-
-# Uncomment this if you want your Polipo to identify itself by
-# something else than the host name:
-
proxyName = "localhost"
-
-# Uncomment this if there's only one user using this instance of Polipo:
-
cacheIsShared = false
-
-# Uncomment this if you want to use a parent proxy:
-
-# parentProxy = "squid.example.org:3128"
-
-# Uncomment this if you want to use a parent SOCKS proxy:
-
socksParentProxy = "localhost:9050"
socksProxyType = socks5
-
-
-### Memory
-### ******
-
-# Uncomment this if you want Polipo to use a ridiculously small amount
-# of memory (a hundred C-64 worth or so):
-
chunkHighMark = 819200
objectHighMark = 128
-
-# Uncomment this if you've got plenty of memory:
-
-# chunkHighMark = 50331648
-# objectHighMark = 16384
-
-#chunkHighMark = 67108864
-
-### On-disk data
-### ************
-
-# Uncomment this if you want to disable the on-disk cache:
-
diskCacheRoot = ""
-
-# Uncomment this if you want to put the on-disk cache in a
-# non-standard location:
-
-# diskCacheRoot = "~/.polipo-cache/"
-
-# Uncomment this if you want to disable the local web server:
-
localDocumentRoot = ""
-
-# Uncomment this if you want to enable the pages under /polipo/index?
-# and /polipo/servers?. This is a serious privacy leak if your proxy
-# is shared.
-
-# disableIndexing = false
-# disableServersList = false
-
disableLocalInterface = true
disableConfiguration = true
-
-### Domain Name System
-### ******************
-
-# Uncomment this if you want to contact IPv4 hosts only (and make DNS
-# queries somewhat faster):
-#
-# dnsQueryIPv6 = no
-
-# Uncomment this if you want Polipo to prefer IPv4 to IPv6 for
-# double-stack hosts:
-#
-# dnsQueryIPv6 = reluctantly
-
-# Uncomment this to disable Polipo's DNS resolver and use the system's
-# default resolver instead. If you do that, Polipo will freeze during
-# every DNS query:
-
dnsUseGethostbyname = yes
-
-
-### HTTP
-### ****
-
-# Uncomment this if you want to enable detection of proxy loops.
-# This will cause your hostname (or whatever you put into proxyName
-# above) to be included in every request:
-
disableVia = true
-
-# Uncomment this if you want to slightly reduce the amount of
-# information that you leak about yourself:
-
-# censoredHeaders = from, accept-language
-# censorReferer = maybe
-
censoredHeaders = from,accept-language,x-pad,link
censorReferer = maybe
-
-# Uncomment this if you're paranoid. This will break a lot of sites,
-# though:
-
-# censoredHeaders = set-cookie, cookie, cookie2, from, accept-language
-# censorReferer = true
-
-# Uncomment this if you want to use Poor Man's Multiplexing; increase
-# the sizes if you're on a fast line. They should each amount to a few
-# seconds' worth of transfer; if pmmSize is small, you'll want
-# pmmFirstSize to be larger.
-
-# Note that PMM is somewhat unreliable.
-
-# pmmFirstSize = 16384
-# pmmSize = 8192
-
-# Uncomment this if your user-agent does something reasonable with
-# Warning headers (most don't):
-
-# relaxTransparency = maybe
-
-# Uncomment this if you never want to revalidate instances for which
-# data is available (this is not a good idea):
-
-# relaxTransparency = yes
-
-# Uncomment this if you have no network:
-
-# proxyOffline = yes
-
-# Uncomment this if you want to avoid revalidating instances with a
-# Vary header (this is not a good idea):
-
-# mindlesslyCacheVary = true
-
-# Suggestions from Incognito configuration
maxConnectionAge = 5m
maxConnectionRequests = 120
serverMaxSlots = 8
diff --git a/src/org/torproject/android/service/TorService.java b/src/org/torproject/android/service/TorService.java
index f72ba31..574ee0a 100644
--- a/src/org/torproject/android/service/TorService.java
+++ b/src/org/torproject/android/service/TorService.java
@@ -30,6 +30,7 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.concurrent.TimeoutException;
@@ -38,7 +39,6 @@ import java.util.regex.Pattern;
import net.freehaven.tor.control.ConfigEntry;
import net.freehaven.tor.control.EventHandler;
import net.freehaven.tor.control.TorControlConnection;
-import net.freehaven.tor.control.TorControlError;
import org.json.JSONArray;
import org.json.JSONObject;
@@ -896,6 +896,27 @@ public class TorService extends Service implements TorServiceConstants, TorConst
}
+ private void updatePolipoConfig () throws FileNotFoundException, IOException
+ {
+
+ SharedPreferences prefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
+ String socksPort = prefs.getString(TorConstants.PREF_SOCKS, TorServiceConstants.PORT_SOCKS_DEFAULT);
+
+ File file = new File(appBinHome, POLIPOCONFIG_ASSET_KEY);
+
+ Properties props = new Properties();
+
+ props.load(new FileReader(file));
+
+ props.put("socksParentProxy", "\"localhost:" + socksPort + "\"");
+ props.put("proxyPort","8118");
+
+ props.store(new FileWriter(file), "updated");
+
+ props.list(System.out);
+ }
+
+
private void runPolipoShellCmd () throws Exception
{
@@ -913,6 +934,8 @@ public class TorService extends Service implements TorServiceConstants, TorConst
{
log = new StringBuilder();
+ updatePolipoConfig();
+
String polipoConfigPath = new File(appBinHome, POLIPOCONFIG_ASSET_KEY).getCanonicalPath();
SimpleCommand cmdPolipo = new SimpleCommand(filePolipo.getCanonicalPath() + " -c " + polipoConfigPath + " &");
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits