diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala index cb945a24..5f3391ac 100644 --- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala +++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala @@ -209,7 +209,11 @@ class Shadowsocks def updateTraffic(): Unit = if (trafficCache == null) callback.trafficUpdated(TrafficMonitor.getTxRate, TrafficMonitor.getRxRate, TrafficMonitor.getTxTotal, TrafficMonitor.getRxTotal) else { if (connectionTestResult == null) connectionTestResult = getString(R.string.connection_test_pending) - preferences.stat.setSummary(connectionTestResult + "\n" + trafficCache) + if (preferences.natSwitch.isChecked) { + preferences.stat.setSummary(trafficCache) + } else { + preferences.stat.setSummary(connectionTestResult + "\n" + trafficCache) + } } def attachService: Unit = attachService(callback) diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala index 8ca6623d..f25becb5 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala @@ -364,10 +364,11 @@ class ShadowsocksNatService extends BaseService { init_sb.append(cmd_bypass.replace("-p tcp -d 0.0.0.0", "-d " + config.proxy)) } init_sb.append(cmd_bypass.replace("-p tcp -d 0.0.0.0", "-d 127.0.0.1")) + init_sb.append(cmd_bypass.replace("-p tcp -d 0.0.0.0", "-m owner --uid-owner " + myUid)) init_sb.append(cmd_bypass.replace("-d 0.0.0.0", "--dport 53")) init_sb.append(Utils.getIptables - + " -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:" + 8153) + + " -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:8153") if (!config.isProxyApps || config.isBypassApps) { http_sb.append(Utils.getIptables + CMD_IPTABLES_DNAT_ADD_SOCKS) diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala index 51528c54..7fba788b 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala @@ -38,7 +38,7 @@ class ShadowsocksSettings extends PreferenceFragment with OnSharedPreferenceChan } ThrowableFuture { // Based on: https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/connectivity/NetworkMonitor.java#640 - autoDisconnect(new URL("https", "www.google.com", "/generate_204").openConnection + autoDisconnect(new URL("https", "www.google.com", "/generate_204").openConnection() .asInstanceOf[HttpURLConnection]) { conn => conn.setConnectTimeout(5 * 1000) conn.setReadTimeout(5 * 1000)