Compare commits

..
6 Commits
Author SHA1 Message Date
Max Lv 34af6aeef5 refine the IPC to tun2socks 2015-07-28 14:48:21 +08:00
Max Lv d9af2f93e0 fix plugin 2015-07-27 11:09:52 +08:00
Max Lv aae068b7b2 fix a UI issue 2015-07-26 10:22:15 +08:00
Max Lv 7626c1117e bump version 2015-07-26 09:36:04 +08:00
Max Lv 1188b59b05 update shadowsocks-libev 2015-07-26 09:10:46 +08:00
Max Lv cbd46d0c95 enable acl on devices before 5.0 2015-07-26 09:10:17 +08:00
4 changed files with 22 additions and 17 deletions
+3 -3
View File
@@ -1,7 +1,7 @@
resolvers += Resolver.url("scalasbt releases", new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-snapshots"))(Resolver.ivyStylePatterns)
addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.4.6")
addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.4.7")
resolvers += Resolver.sbtPluginRepo("snapshots")
resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin("com.hanhuy.sbt" % "sbt-idea" % "1.7.0-SNAPSHOT")
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.7.0-SNAPSHOT")
+2 -2
View File
@@ -1,7 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.github.shadowsocks"
android:versionCode="109"
android:versionName="2.7.1">
android:versionCode="111"
android:versionName="2.7.3">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
@@ -932,10 +932,14 @@ class Shadowsocks
private def recovery() {
val h = showProgress(getString(R.string.recovering))
serviceStop()
spawn {
reset()
h.sendEmptyMessage(0)
handler.post(new Runnable {
override def run() {
serviceStop
h.sendEmptyMessage(0)
}
})
}
}
@@ -266,22 +266,23 @@ class ShadowsocksVpnService extends VpnService with BaseService {
}
val fd = startVpn()
if (fd == -1) {
false
} else {
Thread.sleep(1000)
if (System.sendfd(fd) == -1) {
false
} else {
true
if (fd != -1) {
var tries = 1
while (tries < 5) {
Thread.sleep(1000 * tries)
if (System.sendfd(fd) != -1) {
return true
}
tries += 1
}
}
false
}
def startShadowsocksDaemon() {
if (Utils.isLollipopOrAbove && config.route != Route.ALL) {
if (config.route != Route.ALL) {
val acl: Array[String] = config.route match {
case Route.BYPASS_LAN => getResources.getStringArray(R.array.private_route)
case Route.BYPASS_CHN => getResources.getStringArray(R.array.chn_route_full)