From 5547b422834ef7984981e83337db1da71d5ff3d1 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Tue, 2 Dec 2014 14:58:17 +0800 Subject: [PATCH] fix some DNS issues --- build.sbt | 2 +- .../github/shadowsocks/ShadowsocksNatService.scala | 3 ++- .../com/github/shadowsocks/utils/ConfigUtils.scala | 12 ++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/build.sbt b/build.sbt index 9fa23552..538661fa 100644 --- a/build.sbt +++ b/build.sbt @@ -20,7 +20,7 @@ resolvers += "madeye private releases" at "http://madeye-maven-repository.google libraryDependencies ++= Seq( "dnsjava" % "dnsjava" % "2.1.5", - "org.scalaj" %% "scalaj-http" % "0.3.10", + "com.github.kevinsawicki" % "http-request" % "5.6", "commons-net" % "commons-net" % "3.3", "com.google.zxing" % "android-integration" % "2.2" ) diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala index 2c39505f..e19040bb 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala @@ -107,7 +107,7 @@ class ShadowsocksNatService extends Service with BaseService { } def resetDns() = { - setDnsForAllNetwork("8.8.8.8 208.67.222.222 114.114.114.114") + setDnsForAllNetwork("114.114.114.114 8.8.8.8 208.67.222.222") } def destroyConnectionReceiver() { @@ -486,6 +486,7 @@ class ShadowsocksNatService extends Service with BaseService { config = ConfigUtils.getPublicConfig(getBaseContext, holder.getContainer, config) } catch { case ex: Exception => + Log.e(TAG, ex.getMessage) changeState(State.STOPPED, getString(R.string.service_failed)) stopRunner() config = null diff --git a/src/main/scala/com/github/shadowsocks/utils/ConfigUtils.scala b/src/main/scala/com/github/shadowsocks/utils/ConfigUtils.scala index 430d983b..d45b0fd8 100644 --- a/src/main/scala/com/github/shadowsocks/utils/ConfigUtils.scala +++ b/src/main/scala/com/github/shadowsocks/utils/ConfigUtils.scala @@ -42,7 +42,7 @@ package com.github.shadowsocks.utils import android.content.{SharedPreferences, Context} import com.github.shadowsocks.ShadowsocksApplication import com.google.android.gms.tagmanager.Container -import scalaj.http.{HttpOptions, Http} +import com.github.kevinsawicki.http.HttpRequest import com.github.shadowsocks.aidl.Config object ConfigUtils { @@ -183,12 +183,12 @@ object ConfigUtils { def getPublicConfig(context: Context, container: Container, config: Config): Config = { val url = container.getString("proxy_url") val sig = Utils.getSignature(context) - val list = Http + val list = HttpRequest .post(url) - .params("sig" -> sig) - .option(HttpOptions.connTimeout(1000)) - .option(HttpOptions.readTimeout(5000)) - .asString + .connectTimeout(2000) + .readTimeout(2000) + .send("sig="+sig) + .body val proxies = util.Random.shuffle(list.split('|').toSeq).toSeq val proxy = proxies(0).split(':')