Merge branch 'master' of github.com:shadowsocks/shadowsocks-android
Conflicts: src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala
This commit is contained in:
@@ -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(':')
|
||||
|
||||
|
||||
@@ -181,20 +181,24 @@ object Utils {
|
||||
}
|
||||
|
||||
def resolve(host: String, addrType: Int): Option[String] = {
|
||||
val lookup = new Lookup(host, addrType)
|
||||
val resolver = new SimpleResolver("114.114.114.114")
|
||||
resolver.setTimeout(5)
|
||||
lookup.setResolver(resolver)
|
||||
val result = lookup.run()
|
||||
if (result == null) return None
|
||||
val records = scala.util.Random.shuffle(result.toList)
|
||||
for (r <- records) {
|
||||
addrType match {
|
||||
case Type.A =>
|
||||
return Some(r.asInstanceOf[ARecord].getAddress.getHostAddress)
|
||||
case Type.AAAA =>
|
||||
return Some(r.asInstanceOf[AAAARecord].getAddress.getHostAddress)
|
||||
try {
|
||||
val lookup = new Lookup(host, addrType)
|
||||
val resolver = new SimpleResolver("114.114.114.114")
|
||||
resolver.setTimeout(5)
|
||||
lookup.setResolver(resolver)
|
||||
val result = lookup.run()
|
||||
if (result == null) return None
|
||||
val records = scala.util.Random.shuffle(result.toList)
|
||||
for (r <- records) {
|
||||
addrType match {
|
||||
case Type.A =>
|
||||
return Some(r.asInstanceOf[ARecord].getAddress.getHostAddress)
|
||||
case Type.AAAA =>
|
||||
return Some(r.asInstanceOf[AAAARecord].getAddress.getHostAddress)
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
case e: Exception => None
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user