Commit 5547b422 authored by Max Lv's avatar Max Lv

fix some DNS issues

parent 3dba9663
...@@ -20,7 +20,7 @@ resolvers += "madeye private releases" at "http://madeye-maven-repository.google ...@@ -20,7 +20,7 @@ resolvers += "madeye private releases" at "http://madeye-maven-repository.google
libraryDependencies ++= Seq( libraryDependencies ++= Seq(
"dnsjava" % "dnsjava" % "2.1.5", "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", "commons-net" % "commons-net" % "3.3",
"com.google.zxing" % "android-integration" % "2.2" "com.google.zxing" % "android-integration" % "2.2"
) )
......
...@@ -107,7 +107,7 @@ class ShadowsocksNatService extends Service with BaseService { ...@@ -107,7 +107,7 @@ class ShadowsocksNatService extends Service with BaseService {
} }
def resetDns() = { 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() { def destroyConnectionReceiver() {
...@@ -486,6 +486,7 @@ class ShadowsocksNatService extends Service with BaseService { ...@@ -486,6 +486,7 @@ class ShadowsocksNatService extends Service with BaseService {
config = ConfigUtils.getPublicConfig(getBaseContext, holder.getContainer, config) config = ConfigUtils.getPublicConfig(getBaseContext, holder.getContainer, config)
} catch { } catch {
case ex: Exception => case ex: Exception =>
Log.e(TAG, ex.getMessage)
changeState(State.STOPPED, getString(R.string.service_failed)) changeState(State.STOPPED, getString(R.string.service_failed))
stopRunner() stopRunner()
config = null config = null
......
...@@ -42,7 +42,7 @@ package com.github.shadowsocks.utils ...@@ -42,7 +42,7 @@ package com.github.shadowsocks.utils
import android.content.{SharedPreferences, Context} import android.content.{SharedPreferences, Context}
import com.github.shadowsocks.ShadowsocksApplication import com.github.shadowsocks.ShadowsocksApplication
import com.google.android.gms.tagmanager.Container import com.google.android.gms.tagmanager.Container
import scalaj.http.{HttpOptions, Http} import com.github.kevinsawicki.http.HttpRequest
import com.github.shadowsocks.aidl.Config import com.github.shadowsocks.aidl.Config
object ConfigUtils { object ConfigUtils {
...@@ -183,12 +183,12 @@ object ConfigUtils { ...@@ -183,12 +183,12 @@ object ConfigUtils {
def getPublicConfig(context: Context, container: Container, config: Config): Config = { def getPublicConfig(context: Context, container: Container, config: Config): Config = {
val url = container.getString("proxy_url") val url = container.getString("proxy_url")
val sig = Utils.getSignature(context) val sig = Utils.getSignature(context)
val list = Http val list = HttpRequest
.post(url) .post(url)
.params("sig" -> sig) .connectTimeout(2000)
.option(HttpOptions.connTimeout(1000)) .readTimeout(2000)
.option(HttpOptions.readTimeout(5000)) .send("sig="+sig)
.asString .body
val proxies = util.Random.shuffle(list.split('|').toSeq).toSeq val proxies = util.Random.shuffle(list.split('|').toSeq).toSeq
val proxy = proxies(0).split(':') val proxy = proxies(0).split(':')
......
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