Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4817539ca2 | ||
|
|
03c857536d | ||
|
|
14038cd152 | ||
|
|
935314a1c5 | ||
|
|
7263bf11a4 |
@@ -42,6 +42,7 @@ A [shadowsocks](http://shadowsocks.org) client for Android, written in Scala.
|
|||||||
* pdnsd: [GPLv3](https://github.com/shadowsocks/shadowsocks-android/blob/master/src/main/jni/pdnsd/COPYING)
|
* pdnsd: [GPLv3](https://github.com/shadowsocks/shadowsocks-android/blob/master/src/main/jni/pdnsd/COPYING)
|
||||||
* libev: [GPLv2](https://github.com/shadowsocks/shadowsocks-android/blob/master/src/main/jni/libev/LICENSE)
|
* libev: [GPLv2](https://github.com/shadowsocks/shadowsocks-android/blob/master/src/main/jni/libev/LICENSE)
|
||||||
* libevent: [BSD](https://github.com/shadowsocks/libevent/blob/master/LICENSE)
|
* libevent: [BSD](https://github.com/shadowsocks/libevent/blob/master/LICENSE)
|
||||||
|
* kcptun: [MIT](https://github.com/xtaci/kcptun)
|
||||||
|
|
||||||
### LICENSE
|
### LICENSE
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,16 @@ function try () {
|
|||||||
# Build native binaries
|
# Build native binaries
|
||||||
pushd src/main
|
pushd src/main
|
||||||
try $ANDROID_NDK_HOME/ndk-build -j8
|
try $ANDROID_NDK_HOME/ndk-build -j8
|
||||||
# copy executables
|
|
||||||
|
rm -rf assets/armeabi-v7a
|
||||||
|
rm -rf assets/x86
|
||||||
|
mkdir -p assets/armeabi-v7a
|
||||||
|
mkdir -p assets/x86
|
||||||
|
|
||||||
|
#copy executables
|
||||||
for app in pdnsd redsocks ss-local ss-tunnel tun2socks
|
for app in pdnsd redsocks ss-local ss-tunnel tun2socks
|
||||||
do
|
do
|
||||||
rm -f assets/armeabi-v7a
|
echo $app
|
||||||
rm -f assets/x86
|
|
||||||
mkdir -p assets/armeabi-v7a
|
|
||||||
mkdir -p assets/x86
|
|
||||||
try mv libs/armeabi-v7a/$app assets/armeabi-v7a/
|
try mv libs/armeabi-v7a/$app assets/armeabi-v7a/
|
||||||
try mv libs/x86/$app assets/x86/
|
try mv libs/x86/$app assets/x86/
|
||||||
done
|
done
|
||||||
|
|||||||
+1
-1
Submodule kcptun/go updated: 3549a9d374...f3e7e7b69f
@@ -1,7 +1,7 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools" package="com.github.shadowsocks"
|
xmlns:tools="http://schemas.android.com/tools" package="com.github.shadowsocks"
|
||||||
android:versionCode="143"
|
android:versionCode="144"
|
||||||
android:versionName="3.0.1">
|
android:versionName="3.0.2">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||||
|
|||||||
@@ -296,6 +296,7 @@ along with this program. If not, see <a href="http://www.gnu.org/licenses/">http
|
|||||||
<li>pdnsd: <a href="https://github.com/shadowsocks/shadowsocks-android/blob/master/src/main/jni/pdnsd/COPYING">GPLv3</a></li>
|
<li>pdnsd: <a href="https://github.com/shadowsocks/shadowsocks-android/blob/master/src/main/jni/pdnsd/COPYING">GPLv3</a></li>
|
||||||
<li>libev: <a href="https://github.com/shadowsocks/libevent/blob/shadowsocks-android/LICENSE">GPLv2</a></li>
|
<li>libev: <a href="https://github.com/shadowsocks/libevent/blob/shadowsocks-android/LICENSE">GPLv2</a></li>
|
||||||
<li>libevent: <a href="https://github.com/shadowsocks/shadowsocks-android/blob/master/src/main/jni/libevent/LICENSE">BSD</a></li>
|
<li>libevent: <a href="https://github.com/shadowsocks/shadowsocks-android/blob/master/src/main/jni/libevent/LICENSE">BSD</a></li>
|
||||||
|
<li>kcptun: <a href="https://github.com/xtaci/kcptun/commits/master/LICENSE.md">MIT</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -182,25 +182,25 @@ class ShadowsocksVpnService extends VpnService with BaseService {
|
|||||||
/** Called when the activity is first created. */
|
/** Called when the activity is first created. */
|
||||||
def handleConnection: Boolean = {
|
def handleConnection: Boolean = {
|
||||||
|
|
||||||
|
val fd = startVpn()
|
||||||
|
if (!sendFd(fd)) return false
|
||||||
|
|
||||||
|
if (profile.kcp) {
|
||||||
|
startKcptunDaemon()
|
||||||
|
}
|
||||||
|
|
||||||
|
startShadowsocksDaemon()
|
||||||
|
|
||||||
|
if (profile.udpdns && profile.kcp) {
|
||||||
|
startShadowsocksUDPDaemon()
|
||||||
|
}
|
||||||
|
|
||||||
if (!profile.udpdns) {
|
if (!profile.udpdns) {
|
||||||
startDnsDaemon()
|
startDnsDaemon()
|
||||||
startDnsTunnel()
|
startDnsTunnel()
|
||||||
}
|
}
|
||||||
|
|
||||||
startShadowsocksDaemon()
|
true
|
||||||
|
|
||||||
if (profile.udpdns) {
|
|
||||||
startShadowsocksUDPDaemon()
|
|
||||||
}
|
|
||||||
|
|
||||||
val fd = startVpn()
|
|
||||||
val ret = sendFd(fd)
|
|
||||||
|
|
||||||
if (ret && profile.kcp) {
|
|
||||||
startKcptunDaemon()
|
|
||||||
}
|
|
||||||
|
|
||||||
ret
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def startKcptunDaemon() {
|
def startKcptunDaemon() {
|
||||||
@@ -274,6 +274,8 @@ class ShadowsocksVpnService extends VpnService with BaseService {
|
|||||||
|
|
||||||
if (profile.auth) cmd += "-A"
|
if (profile.auth) cmd += "-A"
|
||||||
|
|
||||||
|
if (profile.udpdns && !profile.kcp) cmd += "-u"
|
||||||
|
|
||||||
if (profile.route != Route.ALL) {
|
if (profile.route != Route.ALL) {
|
||||||
cmd += "--acl"
|
cmd += "--acl"
|
||||||
cmd += (getApplicationInfo.dataDir + "/acl.list")
|
cmd += (getApplicationInfo.dataDir + "/acl.list")
|
||||||
|
|||||||
Reference in New Issue
Block a user