Commit efb61403 authored by Max Lv's avatar Max Lv

disable NAT mode again

parent 8f41ea29
......@@ -338,13 +338,15 @@ class Shadowsocks
Console.runCommand(ab.toArray)
ab.clear()
ab.append("kill -9 `cat /data/data/com.github.shadowsocks/redsocks.pid`")
ab.append("rm /data/data/com.github.shadowsocks/redsocks.conf")
ab.append("rm /data/data/com.github.shadowsocks/redsocks.pid")
ab.append(Utils.getIptables + " -t nat -F OUTPUT")
if (!Utils.isLollipopOrAbove) {
ab.clear()
ab.append("kill -9 `cat /data/data/com.github.shadowsocks/redsocks.pid`")
ab.append("rm /data/data/com.github.shadowsocks/redsocks.conf")
ab.append("rm /data/data/com.github.shadowsocks/redsocks.pid")
ab.append(Utils.getIptables + " -t nat -F OUTPUT")
Console.runRootCommand(ab.toArray)
Console.runRootCommand(ab.toArray)
}
}
private def getVersionName: String = {
......@@ -500,7 +502,7 @@ class Shadowsocks
// Bind to the service
spawn {
val isRoot = Console.isRoot
val isRoot = !Utils.isLollipopOrAbove && Console.isRoot
handler.post(new Runnable {
override def run() {
status.edit.putBoolean(Key.isRoot, isRoot).commit()
......@@ -770,7 +772,7 @@ class Shadowsocks
if (pref != null) {
if (Seq(Key.isGlobalProxy, Key.proxyedApps)
.contains(name)) {
pref.setEnabled(enabled && !isVpnEnabled)
pref.setEnabled(enabled && (Utils.isLollipopOrAbove || !isVpnEnabled))
} else {
pref.setEnabled(enabled)
}
......
......@@ -72,7 +72,7 @@ class ShadowsocksRunnerActivity extends Activity {
def isVpnEnabled: Boolean = {
if (vpnEnabled < 0) {
vpnEnabled = if (!Console.isRoot) {
vpnEnabled = if (Utils.isLollipopOrAbove || !Console.isRoot) {
1
} else {
0
......
......@@ -74,14 +74,6 @@ class ShadowsocksVpnService extends VpnService with BaseService {
private lazy val application = getApplication.asInstanceOf[ShadowsocksApplication]
def isLollipopOrAbove: Boolean = {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
true
} else {
false
}
}
def isByass(net: SubnetUtils): Boolean = {
val info = net.getInfo
info.isInRange(config.proxy)
......@@ -105,7 +97,7 @@ class ShadowsocksVpnService extends VpnService with BaseService {
def startShadowsocksDaemon() {
if (isLollipopOrAbove && config.route != Route.ALL) {
if (Utils.isLollipopOrAbove && config.route != Route.ALL) {
val acl: Array[String] = config.route match {
case Route.BYPASS_LAN => getResources.getStringArray(R.array.private_route)
case Route.BYPASS_CHN => getResources.getStringArray(R.array.chn_route_full)
......@@ -125,7 +117,7 @@ class ShadowsocksVpnService extends VpnService with BaseService {
, "-m", config.encMethod
, "-f", Path.BASE + "ss-local.pid")
if (isLollipopOrAbove && config.route != Route.ALL) {
if (Utils.isLollipopOrAbove && config.route != Route.ALL) {
cmd += "--acl"
cmd += (Path.BASE + "acl.list")
}
......@@ -151,7 +143,7 @@ class ShadowsocksVpnService extends VpnService with BaseService {
def startDnsDaemon() {
val conf = {
if (isLollipopOrAbove) {
if (Utils.isLollipopOrAbove) {
ConfigUtils.PDNSD_BYPASS.format("0.0.0.0", getString(R.string.exclude), 8163)
} else {
ConfigUtils.PDNSD_LOCAL.format("0.0.0.0", 8163)
......@@ -186,7 +178,7 @@ class ShadowsocksVpnService extends VpnService with BaseService {
.addAddress(PRIVATE_VLAN.format("1"), 24)
.addDnsServer("8.8.8.8")
if (isLollipopOrAbove) {
if (Utils.isLollipopOrAbove) {
if (!config.isGlobalProxy) {
val apps = AppManager.getProxiedApps(this, config.proxiedAppString)
val pkgSet: mutable.HashSet[String] = new mutable.HashSet[String]
......@@ -214,7 +206,7 @@ class ShadowsocksVpnService extends VpnService with BaseService {
if (InetAddressUtils.isIPv6Address(config.proxy)) {
builder.addRoute("0.0.0.0", 0)
} else {
if (!isLollipopOrAbove) {
if (!Utils.isLollipopOrAbove) {
config.route match {
case Route.ALL =>
for (i <- 1 to 223) {
......
......@@ -80,6 +80,14 @@ object Utils {
var data_path: String = null
var rootTries = 0
def isLollipopOrAbove: Boolean = {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
true
} else {
false
}
}
def getSignature(context: Context): String = {
val info = context
.getPackageManager
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment