Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3519fbdc8 | ||
|
|
486288a513 | ||
|
|
0111bd5471 | ||
|
|
66fe67ae21 | ||
|
|
04a8b49abc | ||
|
|
3561c7f317 | ||
|
|
694534be58 | ||
|
|
efb614030f | ||
|
|
8f41ea291f | ||
|
|
27ba7d64f4 | ||
|
|
8fb5d7f8c6 | ||
|
|
014692cb84 | ||
|
|
948db260b6 | ||
|
|
b7c3c7d269 | ||
|
|
897b222aa8 | ||
|
|
9a724cd063 | ||
|
|
b15a4604f2 | ||
|
|
2e3a2c9544 | ||
|
|
d6ed052338 | ||
|
|
4b99f8e3d6 | ||
|
|
475cfe3269 | ||
|
|
102387077f | ||
|
|
72824eb8f4 | ||
|
|
1f40be1ad3 | ||
|
|
c12ec62d8b | ||
|
|
e38ed2d069 | ||
|
|
2e05e3cda8 | ||
|
|
92ffb357a6 | ||
|
|
4beff01a3f | ||
|
|
7627952234 | ||
|
|
425d4a42e8 | ||
|
|
194d978143 | ||
|
|
f6841848a3 | ||
|
|
52cb15069c | ||
|
|
70ed2189b1 | ||
|
|
aeee9c2fac | ||
|
|
70dc8e9995 | ||
|
|
558a39ec14 | ||
|
|
5f95cccce4 | ||
|
|
55f25d3272 | ||
|
|
93273cbc44 | ||
|
|
c0514ee169 | ||
|
|
06d736b22d | ||
|
|
e34d5675eb | ||
|
|
94c7ffb788 |
@@ -29,7 +29,6 @@ src/main/assets/armeabi
|
||||
src/main/assets/armeabi-v7a
|
||||
src/main/assets/x86
|
||||
src/main/assets/api-16/
|
||||
src/main/jni
|
||||
jni/Application.mk
|
||||
obj
|
||||
libs
|
||||
|
||||
+3
-3
@@ -1,3 +1,3 @@
|
||||
[submodule "jni/shadowsocks"]
|
||||
path = jni/shadowsocks
|
||||
url = https://github.com/madeye/shadowsocks-libev.git
|
||||
[submodule "src/main/jni/shadowsocks"]
|
||||
path = src/main/jni/shadowsocks
|
||||
url = https://github.com/madeye/shadowsocks-libev
|
||||
|
||||
+6
-11
@@ -3,25 +3,20 @@ scala:
|
||||
- 2.10.4
|
||||
before_install:
|
||||
- sudo apt-get update
|
||||
- sudo apt-get install libc6-dev-i386
|
||||
- sudo apt-get install lib32ncurses5-dev
|
||||
- sudo apt-get install libx11-dev
|
||||
- sudo apt-get install g++-multilib
|
||||
- sudo apt-get install lib32z1-dev
|
||||
- sudo apt-get install ccache
|
||||
install:
|
||||
- sudo apt-get install -y libc6-dev-i386 lib32ncurses5-dev libx11-dev g++-multilib lib32z1-dev ccache
|
||||
- export NDK_CCACHE=ccache
|
||||
- export ARCH=`uname -m`
|
||||
- wget http://dl.google.com/android/android-sdk_r23-linux.tgz
|
||||
- tar xf android-sdk_r23-linux.tgz
|
||||
- wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz
|
||||
- tar xf android-sdk_r23.0.2-linux.tgz
|
||||
- wget http://dl.google.com/android/ndk/android-ndk-r9d-linux-${ARCH}.tar.bz2
|
||||
- tar xf android-ndk-r9d-linux-${ARCH}.tar.bz2
|
||||
- export ANDROID_NDK=`pwd`/android-ndk-r9d
|
||||
- export ANDROID_NDK_HOME=`pwd`/android-ndk-r9d
|
||||
- export ANDROID_HOME=`pwd`/android-sdk-linux
|
||||
- export PATH=${PATH}:${ANDROID_NDK_HOME}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
|
||||
- echo "y" | android update sdk --filter tools,platform-tools,build-tools-20.0.0,android-19,extra-google-m2repository --no-ui --no-https -a
|
||||
- echo "y" | android update sdk --filter tools,platform-tools,build-tools-21.0.1,android-21,extra-google-m2repository --no-ui --no-https -a
|
||||
- echo "y" | android update sdk --filter extra-android-m2repository --no-ui --no-https -a
|
||||
script:
|
||||
- ./build-ndk.sh
|
||||
- cp local.properties.travis local.properties
|
||||
- sbt android:package-release
|
||||
- exit 0
|
||||
|
||||
@@ -29,9 +29,6 @@ Help to translate shadowsocks: http://crowdin.net/project/shadowsocks/invite
|
||||
```bash
|
||||
git submodule update --init
|
||||
|
||||
# Build native binaries
|
||||
./build-ndk.sh
|
||||
|
||||
# Build the App
|
||||
sbt clean android:package-release
|
||||
```
|
||||
@@ -39,8 +36,9 @@ Help to translate shadowsocks: http://crowdin.net/project/shadowsocks/invite
|
||||
#### BUILD on Mac OS X (with HomeBrew)
|
||||
|
||||
* Install Android SDK and NDK by run `brew install android-ndk android-sdk`
|
||||
* Add `export ANDROID_HOME=/usr/local/Cellar/android-sdk/$version` to your .bashrc , then reopen the shell to loat it.
|
||||
* Run `echo "y" | android update sdk --filter tools,platform-tools,build-tools-19.0.3,android-19,extra-google-m2repository,extra-android-m2repository --no-ui --no-https -a`
|
||||
* Add `export ANDROID_HOME=/usr/local/Cellar/android-sdk/$version` to your .bashrc , then reopen the shell to load it.
|
||||
* echo "y" | android update sdk --filter tools,platform-tools,build-tools-21.0.1,android-21,extra-google-m2repository --no-ui --no-https -a
|
||||
* echo "y" | android update sdk --filter extra-android-m2repository --no-ui --no-https -a
|
||||
* Create your key following the instructions at http://developer.android.com/guide/publishing/app-signing.html#cert
|
||||
* Put your key in ~/.keystore
|
||||
* Create `local.properties` from `local.properties.example` with your own key information .
|
||||
@@ -49,9 +47,6 @@ Help to translate shadowsocks: http://crowdin.net/project/shadowsocks/invite
|
||||
```bash
|
||||
git submodule update --init
|
||||
|
||||
# Build native binaries
|
||||
./build-ndk.sh
|
||||
|
||||
# Build the apk
|
||||
sbt clean android:package-release
|
||||
```
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
function try () {
|
||||
"$@" || exit -1
|
||||
}
|
||||
|
||||
# Build
|
||||
try ndk-build clean
|
||||
try ndk-build
|
||||
|
||||
# copy executables
|
||||
rm -rf src/main/assets/armeabi-v7a
|
||||
rm -rf src/main/assets/x86
|
||||
mkdir -p src/main/assets/armeabi-v7a
|
||||
mkdir -p src/main/assets/x86
|
||||
for app in pdnsd redsocks
|
||||
do
|
||||
try mv libs/armeabi-v7a/$app src/main/assets/armeabi-v7a/
|
||||
try mv libs/x86/$app src/main/assets/x86/
|
||||
done
|
||||
|
||||
# copy libraries
|
||||
rm -rf src/main/jni/armeabi-v7a
|
||||
rm -rf src/main/jni/x86
|
||||
mkdir -p src/main/jni/armeabi-v7a
|
||||
mkdir -p src/main/jni/x86
|
||||
try mv libs/armeabi-v7a/*.so src/main/jni/armeabi-v7a/
|
||||
try mv libs/x86/*.so src/main/jni/x86/
|
||||
@@ -4,12 +4,14 @@ import android.Dependencies.{apklib,aar}
|
||||
|
||||
android.Plugin.androidBuild
|
||||
|
||||
platformTarget in Android := "android-19"
|
||||
platformTarget in Android := "android-21"
|
||||
|
||||
name := "shadowsocks"
|
||||
|
||||
compileOrder in Compile := CompileOrder.JavaThenScala
|
||||
|
||||
ndkJavah in Android := List()
|
||||
|
||||
resolvers += "JRAF" at "http://JRAF.org/static/maven/2"
|
||||
|
||||
resolvers += "madeye private releases" at "http://madeye-maven-repository.googlecode.com/git/"
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
APP_ABI := armeabi-v7a x86
|
||||
APP_PLATFORM := android-16
|
||||
APP_STL := stlport_static
|
||||
NDK_TOOLCHAIN_VERSION := 4.8
|
||||
Submodule jni/shadowsocks deleted from d700557978
+1
-1
@@ -1,5 +1,5 @@
|
||||
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.2.20")
|
||||
addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.3.10")
|
||||
|
||||
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.github.shadowsocks"
|
||||
android:versionCode="73"
|
||||
android:versionName="2.2.5">
|
||||
android:versionCode="81"
|
||||
android:versionName="2.4.1">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="16"
|
||||
android:targetSdkVersion="19"/>
|
||||
android:targetSdkVersion="21"/>
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
|
||||
@@ -14,6 +14,7 @@ public class Config implements Parcelable {
|
||||
public String profileName = "Untitled";
|
||||
public String proxy = "127.0.0.1";
|
||||
public String sitekey = "null";
|
||||
public String route = "all";
|
||||
|
||||
public String encMethod = "rc4";
|
||||
public String proxiedAppString = "";
|
||||
@@ -33,7 +34,7 @@ public class Config implements Parcelable {
|
||||
|
||||
public Config(boolean isGlobalProxy, boolean isGFWList, boolean isBypassApps,
|
||||
boolean isTrafficStat, boolean isUdpDns, String profileName, String proxy, String sitekey,
|
||||
String encMethod, String proxiedAppString, int remotePort, int localPort) {
|
||||
String encMethod, String proxiedAppString, String route, int remotePort, int localPort) {
|
||||
this.isGlobalProxy = isGlobalProxy;
|
||||
this.isGFWList = isGFWList;
|
||||
this.isBypassApps = isBypassApps;
|
||||
@@ -44,6 +45,7 @@ public class Config implements Parcelable {
|
||||
this.sitekey = sitekey;
|
||||
this.encMethod = encMethod;
|
||||
this.proxiedAppString = proxiedAppString;
|
||||
this.route = route;
|
||||
this.remotePort = remotePort;
|
||||
this.localPort = localPort;
|
||||
}
|
||||
@@ -63,6 +65,7 @@ public class Config implements Parcelable {
|
||||
sitekey = in.readString();
|
||||
encMethod = in.readString();
|
||||
proxiedAppString = in.readString();
|
||||
route = in.readString();
|
||||
remotePort = in.readInt();
|
||||
localPort = in.readInt();
|
||||
}
|
||||
@@ -82,6 +85,7 @@ public class Config implements Parcelable {
|
||||
out.writeString(sitekey);
|
||||
out.writeString(encMethod);
|
||||
out.writeString(proxiedAppString);
|
||||
out.writeString(route);
|
||||
out.writeInt(remotePort);
|
||||
out.writeInt(localPort);
|
||||
}
|
||||
|
||||
@@ -44,10 +44,12 @@ public class Core {
|
||||
java.lang.System.loadLibrary("ss-tunnel-jni");
|
||||
java.lang.System.loadLibrary("tun2socks-jni");
|
||||
java.lang.System.loadLibrary("pdnsd-jni");
|
||||
java.lang.System.loadLibrary("redsocks-jni");
|
||||
}
|
||||
|
||||
public static native void sslocal(String[] cmd);
|
||||
public static native void sstunnel(String[] cmd);
|
||||
public static native void tun2socks(String[] cmd);
|
||||
public static native void pdnsd(String[] cmd);
|
||||
public static native void redsocks(String[] cmd);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2013 Jorrit "Chainfire" Jongma
|
||||
* Copyright (C) 2012-2014 Jorrit "Chainfire" Jongma
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2013 Jorrit "Chainfire" Jongma
|
||||
* Copyright (C) 2012-2014 Jorrit "Chainfire" Jongma
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -18,6 +18,7 @@ package eu.chainfire.libsuperuser;
|
||||
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
|
||||
import com.github.shadowsocks.BuildConfig;
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2014 Jorrit "Chainfire" Jongma
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package eu.chainfire.libsuperuser;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Base receiver to extend to catch notifications when overlays should be
|
||||
* hidden.
|
||||
* </p>
|
||||
* <p>
|
||||
* Tapjacking protection in SuperSU prevents some dialogs from receiving user
|
||||
* input when overlays are present. For security reasons this notification is
|
||||
* only sent to apps that have previously been granted root access, so even if
|
||||
* your app does not <em>require</em> root, you still need to <em>request</em>
|
||||
* it, and the user must grant it.
|
||||
* </p>
|
||||
* <p>
|
||||
* Note that the word overlay as used here should be interpreted as "any view or
|
||||
* window possibly obscuring SuperSU dialogs".
|
||||
* </p>
|
||||
*/
|
||||
public abstract class HideOverlaysReceiver extends BroadcastReceiver {
|
||||
public static final String ACTION_HIDE_OVERLAYS = "eu.chainfire.supersu.action.HIDE_OVERLAYS";
|
||||
public static final String CATEGORY_HIDE_OVERLAYS = Intent.CATEGORY_INFO;
|
||||
public static final String EXTRA_HIDE_OVERLAYS = "eu.chainfire.supersu.extra.HIDE";
|
||||
|
||||
@Override
|
||||
public final void onReceive(Context context, Intent intent) {
|
||||
if (intent.hasExtra(EXTRA_HIDE_OVERLAYS)) {
|
||||
onHideOverlays(intent.getBooleanExtra(EXTRA_HIDE_OVERLAYS, false));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when overlays <em>should</em> be hidden or <em>may</em> be shown
|
||||
* again.
|
||||
*
|
||||
* @param hide Should overlays be hidden?
|
||||
*/
|
||||
public abstract void onHideOverlays(boolean hide);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2013 Jorrit "Chainfire" Jongma
|
||||
* Copyright (C) 2012-2014 Jorrit "Chainfire" Jongma
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2013 Jorrit "Chainfire" Jongma
|
||||
* Copyright (C) 2012-2014 Jorrit "Chainfire" Jongma
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2013 Jorrit "Chainfire" Jongma
|
||||
* Copyright (C) 2012-2014 Jorrit "Chainfire" Jongma
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
||||
@@ -37,7 +37,7 @@ LIBEVENT_SOURCES := \
|
||||
|
||||
LOCAL_MODULE := event
|
||||
LOCAL_SRC_FILES := $(addprefix libevent/, $(LIBEVENT_SOURCES))
|
||||
LOCAL_CFLAGS := -O2 -g -I$(LOCAL_PATH)/libevent \
|
||||
LOCAL_CFLAGS := -O2 -I$(LOCAL_PATH)/libevent \
|
||||
-I$(LOCAL_PATH)/libevent/include \
|
||||
-I$(LOCAL_PATH)/openssl/include
|
||||
|
||||
@@ -120,27 +120,13 @@ REDSOCKS_SOURCES := base.c dnstc.c http-connect.c \
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := libevent
|
||||
|
||||
LOCAL_MODULE := redsocks
|
||||
LOCAL_SRC_FILES := $(addprefix redsocks/, $(REDSOCKS_SOURCES))
|
||||
LOCAL_CFLAGS := -O2 -std=gnu99 -g -I$(LOCAL_PATH)/redsocks \
|
||||
LOCAL_MODULE := redsocks-jni
|
||||
LOCAL_SRC_FILES := $(addprefix redsocks/, $(REDSOCKS_SOURCES)) main-jni.cpp
|
||||
LOCAL_CFLAGS := -O2 -std=gnu99 -DREDSOCKS_JNI -I$(LOCAL_PATH)/redsocks \
|
||||
-I$(LOCAL_PATH)/libevent/include \
|
||||
-I$(LOCAL_PATH)/libevent
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
|
||||
########################################################
|
||||
## pdnsd
|
||||
########################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
PDNSD_SOURCES := $(wildcard $(LOCAL_PATH)/pdnsd/src/*.c)
|
||||
|
||||
LOCAL_MODULE := pdnsd
|
||||
LOCAL_SRC_FILES := $(PDNSD_SOURCES:$(LOCAL_PATH)/%=%)
|
||||
LOCAL_CFLAGS := -Wall -O2 -I$(LOCAL_PATH)/pdnsd
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
########################################################
|
||||
## pdnsd library
|
||||
@@ -183,23 +169,6 @@ include $(BUILD_SHARED_LIBRARY)
|
||||
## shadowsocks tunnel
|
||||
########################################################
|
||||
|
||||
# include $(CLEAR_VARS)
|
||||
#
|
||||
# SHADOWSOCKS_SOURCES := tunnel.c cache.c udprelay.c encrypt.c utils.c json.c jconf.c
|
||||
#
|
||||
# LOCAL_MODULE := ss-tunnel
|
||||
# LOCAL_SRC_FILES := $(addprefix shadowsocks/src/, $(SHADOWSOCKS_SOURCES))
|
||||
# LOCAL_CFLAGS := -Wall -O2 -fno-strict-aliasing -DUDPRELAY_LOCAL -DUDPRELAY_TUNNEL \
|
||||
# -DUSE_CRYPTO_OPENSSL -DANDROID -DHAVE_CONFIG_H \
|
||||
# -I$(LOCAL_PATH)/libev/ \
|
||||
# -I$(LOCAL_PATH)/openssl/include
|
||||
#
|
||||
# LOCAL_STATIC_LIBRARIES := libev libcrypto
|
||||
#
|
||||
# LOCAL_LDLIBS := -llog
|
||||
#
|
||||
# include $(BUILD_EXECUTABLE)
|
||||
|
||||
########################################################
|
||||
## shadowsocks tunnel library
|
||||
########################################################
|
||||
@@ -0,0 +1,4 @@
|
||||
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
|
||||
APP_PLATFORM := android-16
|
||||
APP_STL := stlport_static
|
||||
NDK_TOOLCHAIN_VERSION := 4.9
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user