├── .gitignore ├── .gitmodules ├── .jvmopts ├── .travis.yml └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | classes 2 | bin 3 | gen 4 | target 5 | local.properties 6 | .classpath 7 | .project 8 | .settings 9 | tests/bin 10 | tests/gen 11 | tests/local.properties 12 | NUL 13 | gen_* 14 | *.class 15 | *.o 16 | local.sbt 17 | 18 | #Intellij IDEA 19 | *.iml 20 | *.ipr 21 | *.iws 22 | .idea/ 23 | out/ 24 | .d 25 | 26 | #NDK 27 | src/main/obj 28 | src/main/libs 29 | src/main/assets/armeabi 30 | src/main/assets/armeabi-v7a 31 | src/main/assets/x86 32 | src/main/assets/api-16/ 33 | jni/Application.mk 34 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "src/main/jni/badvpn"] 2 | path = src/main/jni/badvpn 3 | url = https://github.com/shadowsocks/badvpn.git 4 | branch = shadowsocks-android 5 | [submodule "src/main/jni/libancillary"] 6 | path = src/main/jni/libancillary 7 | url = https://github.com/shadowsocks/libancillary.git 8 | branch = shadowsocks-android 9 | [submodule "src/main/jni/libevent"] 10 | path = src/main/jni/libevent 11 | url = https://github.com/shadowsocks/libevent.git 12 | branch = shadowsocks-android 13 | [submodule "src/main/jni/redsocks"] 14 | path = src/main/jni/redsocks 15 | url = https://github.com/shadowsocks/redsocks.git 16 | branch = shadowsocks-android 17 | [submodule "src/main/jni/pdnsd"] 18 | path = src/main/jni/pdnsd 19 | url = https://github.com/shadowsocks/pdnsd.git 20 | branch = shadowsocks-android 21 | [submodule "src/main/jni/shadowsocks-libev"] 22 | path = src/main/jni/shadowsocks-libev 23 | url = https://github.com/shadowsocksr/shadowsocksr-libev.git 24 | branch = master 25 | [submodule "src/main/jni/mbedtls"] 26 | path = src/main/jni/mbedtls 27 | url = https://github.com/ARMmbed/mbedtls 28 | [submodule "src/main/jni/pcre"] 29 | path = src/main/jni/pcre 30 | url = https://android.googlesource.com/platform/external/pcre 31 | [submodule "src/main/jni/proxychains"] 32 | path = src/main/jni/proxychains 33 | url = https://github.com/esdeathlove/proxychains-ng.git 34 | branch = master 35 | -------------------------------------------------------------------------------- /.jvmopts: -------------------------------------------------------------------------------- 1 | -XX:MaxPermSize=512m 2 | -Xms1g 3 | -Xmx3g 4 | -Xss2m 5 | -XX:+CMSClassUnloadingEnabled 6 | -XX:+UseConcMarkSweepGC 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: scala 2 | 3 | jdk: 4 | - oraclejdk8 5 | 6 | sudo: false 7 | 8 | addons: 9 | apt: 10 | packages: 11 | - gcc-multilib 12 | - g++-multilib 13 | - libstdc++6:i386 14 | - libgcc1:i386 15 | - zlib1g:i386 16 | - libncurses5:i386 17 | 18 | scala: 19 | - 2.11.8 20 | 21 | before_cache: 22 | - find $HOME/.sbt -name "*.lock" | xargs rm 23 | - find $HOME/.ivy2 -name "*.lock" | xargs rm 24 | 25 | cache: 26 | directories: 27 | - $HOME/.ivy2 28 | - $HOME/.sbt 29 | 30 | android: 31 | components: 32 | - tools 33 | - build-tools-25.0.2 34 | - extra-android-m2repository 35 | - extra-google-m2repository 36 | 37 | install: 38 | - ./travis-ci/setup.sh 39 | - export NDK_CCACHE=ccache 40 | - export ARCH=`uname -m` 41 | - export ANDROID_NDK_HOME=$HOME/.android/android-ndk-r12b 42 | - export ANDROID_HOME=$HOME/.android/android-sdk-linux 43 | - export PATH=${ANDROID_NDK_HOME}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools:${PATH} 44 | - cp local.properties.travis local.properties 45 | 46 | script: 47 | - sbt native-build android:package-release 48 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | :) 2 | --------------------------------------------------------------------------------