support dynamic SOCKS ip in polipo configuration
This commit is contained in:
parent
1cd0dcf71c
commit
4d6c32a6a2
|
@ -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"
|
proxyAddress = "127.0.0.1"
|
||||||
proxyPort = 8118
|
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
|
allowedClients = 127.0.0.1
|
||||||
allowedPorts = 1-65535
|
allowedPorts = 1-65535
|
||||||
|
|
||||||
# Uncomment this if you want your Polipo to identify itself by
|
|
||||||
# something else than the host name:
|
|
||||||
|
|
||||||
proxyName = "localhost"
|
proxyName = "localhost"
|
||||||
|
|
||||||
# Uncomment this if there's only one user using this instance of Polipo:
|
|
||||||
|
|
||||||
cacheIsShared = false
|
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"
|
socksParentProxy = "localhost:9050"
|
||||||
socksProxyType = socks5
|
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
|
chunkHighMark = 819200
|
||||||
objectHighMark = 128
|
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 = ""
|
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 = ""
|
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
|
disableLocalInterface = true
|
||||||
disableConfiguration = 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
|
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
|
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
|
censoredHeaders = from,accept-language,x-pad,link
|
||||||
censorReferer = maybe
|
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
|
maxConnectionAge = 5m
|
||||||
maxConnectionRequests = 120
|
maxConnectionRequests = 120
|
||||||
serverMaxSlots = 8
|
serverMaxSlots = 8
|
||||||
|
|
|
@ -30,6 +30,7 @@ import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
import java.util.concurrent.TimeoutException;
|
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.ConfigEntry;
|
||||||
import net.freehaven.tor.control.EventHandler;
|
import net.freehaven.tor.control.EventHandler;
|
||||||
import net.freehaven.tor.control.TorControlConnection;
|
import net.freehaven.tor.control.TorControlConnection;
|
||||||
import net.freehaven.tor.control.TorControlError;
|
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONObject;
|
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
|
private void runPolipoShellCmd () throws Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -913,6 +934,8 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
{
|
{
|
||||||
log = new StringBuilder();
|
log = new StringBuilder();
|
||||||
|
|
||||||
|
updatePolipoConfig();
|
||||||
|
|
||||||
String polipoConfigPath = new File(appBinHome, POLIPOCONFIG_ASSET_KEY).getCanonicalPath();
|
String polipoConfigPath = new File(appBinHome, POLIPOCONFIG_ASSET_KEY).getCanonicalPath();
|
||||||
SimpleCommand cmdPolipo = new SimpleCommand(filePolipo.getCanonicalPath() + " -c " + polipoConfigPath + " &");
|
SimpleCommand cmdPolipo = new SimpleCommand(filePolipo.getCanonicalPath() + " -c " + polipoConfigPath + " &");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue