diff --git a/mobile/src/main/jni/overture/armeabi-v7a/liboverture.so b/mobile/src/main/jni/overture/armeabi-v7a/liboverture.so index 4bc6a8c5..27273c78 100755 Binary files a/mobile/src/main/jni/overture/armeabi-v7a/liboverture.so and b/mobile/src/main/jni/overture/armeabi-v7a/liboverture.so differ diff --git a/mobile/src/main/jni/overture/x86/liboverture.so b/mobile/src/main/jni/overture/x86/liboverture.so index 53481243..33e19e31 100755 Binary files a/mobile/src/main/jni/overture/x86/liboverture.so and b/mobile/src/main/jni/overture/x86/liboverture.so differ diff --git a/mobile/src/main/scala/com/github/shadowsocks/BaseService.scala b/mobile/src/main/scala/com/github/shadowsocks/BaseService.scala index 994ab3d2..53246ac1 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/BaseService.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/BaseService.scala @@ -123,7 +123,7 @@ trait BaseService extends Service { false } else true - def getExternalIp() { + def getExternalIp(): String = { val url = "http://icanhazip.com" val client = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) @@ -133,7 +133,11 @@ trait BaseService extends Service { val request = new Request.Builder() .url(url) .build() - client.newCall(request).execute().body.string + val response = client.newCall(request).execute() + if (response.isSuccessful) + response.body.string.trim + else + "" } def connect() { diff --git a/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala b/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala index 2d202977..e4b73f63 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala @@ -89,9 +89,9 @@ class ShadowsocksNatService extends BaseService { ConfigUtils.OVERTURE_DIRECT.formatLocal(Locale.ENGLISH, profile.localPort + 53, // Local Port "119.29.29.29", // Primary DNS 1 - "tcp", // DNS type of Primary DNS 1 + "udp", // DNS type of Primary DNS 1 "114.114.114.114", // Primary DNS 2 - "tcp", // DNS type of Primary DNS 2 + "udp", // DNS type of Primary DNS 2 profile.remoteDns, // Alternative DNS "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy externalIp) // External IP