fix a bypass issue
This commit is contained in:
@@ -118,7 +118,7 @@ class ShadowsocksNatService extends Service with BaseService {
|
||||
Path.BASE + "ss-local.pid")
|
||||
.format(config.proxy, config.remotePort, 8153, config.sitekey, config.encMethod)
|
||||
} else {
|
||||
val conf = ConfigUtils.PDNSD.format("127.0.0.1", getString(R.string.exclude), System.getDNS1);
|
||||
val conf = ConfigUtils.PDNSD.format("127.0.0.1", getString(R.string.exclude), Utils.getDNS);
|
||||
ConfigUtils.printToFile(new File(Path.BASE + "pdnsd.conf"))(p => {
|
||||
p.println(conf)
|
||||
})
|
||||
@@ -310,8 +310,8 @@ class ShadowsocksNatService extends Service with BaseService {
|
||||
|
||||
// Bypass DNS servers
|
||||
init_sb.append(cmd_bypass.replace("0.0.0.0", "127.0.0.1"))
|
||||
init_sb.append(cmd_bypass.replace("0.0.0.0", Utils.getDNS))
|
||||
init_sb.append(cmd_bypass.replace("0.0.0.0", "114.114.114.114"))
|
||||
init_sb.append(cmd_bypass.replace("0.0.0.0", "114.114.115.115"))
|
||||
|
||||
if (hasRedirectSupport) {
|
||||
init_sb
|
||||
|
||||
@@ -91,7 +91,7 @@ class ShadowsocksVpnService extends VpnService with BaseService {
|
||||
Path.BASE + "ss-tunnel.pid")
|
||||
.format(config.proxy, config.remotePort, 8153, config.sitekey, config.encMethod)
|
||||
} else {
|
||||
val conf = ConfigUtils.PDNSD.format("0.0.0.0", getString(R.string.exclude), System.getDNS1)
|
||||
val conf = ConfigUtils.PDNSD.format("0.0.0.0", getString(R.string.exclude), Utils.getDNS)
|
||||
ConfigUtils.printToFile(new File(Path.BASE + "pdnsd.conf"))(p => {
|
||||
p.println(conf)
|
||||
})
|
||||
@@ -115,7 +115,7 @@ class ShadowsocksVpnService extends VpnService with BaseService {
|
||||
|
||||
def isByass(util: SubnetUtils): Boolean = {
|
||||
val info = util.getInfo
|
||||
info.isInRange(config.proxy) || info.isInRange("114.114.114.114") || info.isInRange("114.114.115.115")
|
||||
info.isInRange(config.proxy) || info.isInRange("114.114.114.114") || info.isInRange(Utils.getDNS)
|
||||
}
|
||||
|
||||
def startVpn() {
|
||||
|
||||
@@ -86,7 +86,7 @@ object ConfigUtils {
|
||||
|
|
||||
|server {
|
||||
| label = "china-servers";
|
||||
| ip = %s, 114.114.114.114, 114.114.115.115;
|
||||
| ip = %s, 114.114.114.114;
|
||||
| timeout = 5;
|
||||
|}
|
||||
|
|
||||
|
||||
@@ -53,7 +53,7 @@ import android.os.Build
|
||||
import android.provider.Settings
|
||||
import scala.Some
|
||||
import java.security.MessageDigest
|
||||
import com.github.shadowsocks.{BuildConfig}
|
||||
import com.github.shadowsocks.{BuildConfig, System}
|
||||
|
||||
|
||||
object Utils {
|
||||
@@ -80,6 +80,15 @@ object Utils {
|
||||
var data_path: String = null
|
||||
var rootTries = 0
|
||||
|
||||
def getDNS(): String = {
|
||||
val dns1 = System.getDNS1
|
||||
if (dns1 != null && !dns1.isEmpty && InetAddressUtils.isIPv4Address(dns1)) {
|
||||
dns1
|
||||
} else {
|
||||
"114.114.114.114"
|
||||
}
|
||||
}
|
||||
|
||||
def getSignature(context: Context): String = {
|
||||
val info = context
|
||||
.getPackageManager
|
||||
|
||||
Reference in New Issue
Block a user