Commit 4bf784fd authored by Max Lv's avatar Max Lv

fix a bypass issue

parent 1c4c54e9
......@@ -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
......
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