Compare commits

..
45 Commits
Author SHA1 Message Date
Max Lv a3519fbdc8 enable aarch64 and x86_64 build 2014-11-19 10:12:49 +08:00
Max Lv 486288a513 Merge pull request #152 from CzBiX/patch-1
Update pref_all.xml
2014-11-18 17:15:53 +08:00
Liu VRan 0111bd5471 Update pref_all.xml
set input type for port
2014-11-18 17:08:22 +08:00
Max Lv 66fe67ae21 fix build error 2014-11-18 10:24:15 +08:00
Max Lv 04a8b49abc update submodule 2014-11-18 09:16:10 +08:00
Max Lv 3561c7f317 update sdk plugin 2014-11-18 09:14:29 +08:00
Max Lv 694534be58 add missing file 2014-11-17 21:24:51 +08:00
Max Lv efb614030f disable NAT mode again 2014-11-17 20:56:17 +08:00
Max Lv 8f41ea291f bump version 2014-11-17 20:23:10 +08:00
Max Lv 27ba7d64f4 fix a very old bug in redsocks 2014-11-17 19:51:08 +08:00
Max Lv 8fb5d7f8c6 fix a bug in autostart 2014-11-17 14:48:57 +08:00
Max Lv 014692cb84 udpate default settings 2014-11-17 09:44:11 +08:00
Max Lv 948db260b6 bump version 2014-11-17 09:39:34 +08:00
Max Lv b7c3c7d269 enable NAT mode again 2014-11-17 09:15:01 +08:00
Max Lv 897b222aa8 refine some strings 2014-11-17 08:46:12 +08:00
Max Lv 9a724cd063 fix #148 2014-11-16 21:35:54 +08:00
Max Lv b15a4604f2 fix chn list 2014-11-15 12:28:17 +08:00
Max Lv 2e3a2c9544 bypass private IP on Lollipop 2014-11-13 20:33:02 +08:00
Max Lv d6ed052338 clean up 2014-11-13 18:15:39 +08:00
Max Lv 4b99f8e3d6 Fix a bug 2014-11-13 18:04:19 +08:00
Max Lv 475cfe3269 update shadowsocks-libev 2014-11-11 18:00:38 +08:00
Max Lv 102387077f refine DNS resolver on Lollipop 2014-11-05 15:52:57 +08:00
Max Lv 72824eb8f4 remove traffic stat 2014-10-31 12:39:24 +08:00
Max Lv 1f40be1ad3 update some strings 2014-10-30 12:28:52 +08:00
Max Lv c12ec62d8b update shadowsocks-libev 2014-10-28 13:19:05 +08:00
Max Lv e38ed2d069 bump version 2014-10-27 20:43:14 +08:00
Max Lv 2e05e3cda8 bypass private ipv4 addresses 2014-10-27 20:17:42 +08:00
Max Lv 92ffb357a6 Merge pull request #134 from zhaofengli/master
Fix NDK build
2014-10-26 13:44:29 +08:00
Zhaofeng Li 4beff01a3f .travis.yml: Minor clean-up 2014-10-26 13:03:14 +08:00
Zhaofeng Li 7627952234 README.md: Fix typo
[ci skip]
2014-10-26 12:55:37 +08:00
Zhaofeng Li 425d4a42e8 .travis.yml: Fix typo
ANDROID_NDK -> ANDROID_NDK_HOME
2014-10-26 12:31:02 +08:00
Zhaofeng Li 194d978143 build-ndk.sh: Don't assume NDK is in $PATH 2014-10-26 12:29:48 +08:00
Max Lv f6841848a3 chnroute works perfectly without root on lollipop 2014-10-21 20:37:04 +08:00
Max Lv 52cb15069c update travis 2014-10-21 12:28:40 +08:00
Max Lv 70ed2189b1 add iptables back 2014-10-21 12:06:12 +08:00
Max Lv aeee9c2fac fix an issue for autostart 2014-10-19 20:38:16 +08:00
Max Lv 70dc8e9995 bypass IPv6 instead 2014-10-19 19:47:59 +08:00
Max Lv 558a39ec14 refine per-app VPN 2014-10-19 18:33:04 +08:00
Max Lv 5f95cccce4 implement per-app VPN for Android 5.0 2014-10-19 18:23:27 +08:00
Max Lv 55f25d3272 disable NAT mode on lollipop for now 2014-10-19 14:09:27 +08:00
Max Lv 93273cbc44 fix an issue on lollipop 2014-10-19 13:58:19 +08:00
Max Lv c0514ee169 disable bypass feature of pdnsd 2014-10-18 10:46:54 +08:00
Max Lv 06d736b22d fix all issues for lollipop 2014-10-18 09:58:40 +08:00
Max Lv e34d5675eb update shadowsocks-libev 2014-10-14 12:58:09 +08:00
Max Lv 94c7ffb788 remove large icon 2014-09-30 12:59:15 +08:00
3953 changed files with 1424 additions and 1877 deletions
-1
View File
@@ -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
View File
@@ -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
View File
@@ -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
+3 -8
View File
@@ -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
```
-28
View File
@@ -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/
+3 -1
View File
@@ -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/"
-4
View File
@@ -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
View File
@@ -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")
+3 -3
View File
@@ -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.
+5 -36
View File
@@ -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
########################################################
+4
View File
@@ -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