diff --git a/.travis.yml b/.travis.yml
index 1cef61ba..dc454e9f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,7 @@ language: java
before_install:
- wget http://dl.google.com/android/android-sdk_r21-linux.tgz
- tar -zxf android-sdk_r21-linux.tgz
- - export ANDROID_HOME=~/builds/madeye/shadowsocks-android/android-sdk-linux
+ - export ANDROID_HOME=~/builds/shadowsocks/shadowsocks-android/android-sdk-linux
- export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
- android update sdk --filter tools,platform-tools,android-16,addon-google_apis-google-16,extra-android-support,extra-google-admob_ads_sdk,extra-google-analytics_sdk,extra-google-gcm,extra-google-play_apk_expansion,extra-google-play_billing,extra-google-play_licensing --no-ui --force --no-https -a
install:
diff --git a/README.md b/README.md
index 234c94c8..87ad1ec1 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ A shadowsocks client for Android, powered by amazing nodejs/golang/libev.
## TRAVIS CI STATUS
-[](http://travis-ci.org/madeye/shadowsocks-android)
+[](http://travis-ci.org/shadowsocks/shadowsocks-android)
[Nightly Builds](http://buildbot.sinaapp.com)
diff --git a/res/layout/layout_progress_bar.xml b/res/layout/layout_progress_bar.xml
deleted file mode 100644
index 99b49a99..00000000
--- a/res/layout/layout_progress_bar.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 43d63fb4..fe4c64f8 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1,67 +1,23 @@
- Running in the background.
Shadowsocks
- Service started.
- Service failed to start.
- Shadowsocks service stopped.
- Auto Reconnected
- Reconnected successfully.
- Service has been stopped already.
- Service has been started already.
- Proxy Service Stopped
- Please check your network and login information
- Cannot reconnect
- OK, I know
- Server
- Local Port
- Password
- Auto Connect
- Auto reconnect
- Global Proxy
- Disconnect
- Connect
- Feedback @ofmax
- Shadowsocks Settings
- Feature Settings
- Proxy Switch
- Service Controller
- Enable / Disable Proxy
- Hostname of your Shadowsocks server
- Local port listening on
- Password of your Shadowsocks server
- The port number should be greater than 1024
- Start Shadowsocks at the startup
- Set up system wide proxy (require ROOT permission and
- IPTABLES)
-
- Port should not be empty
- Proxy should not be empty
- Package configure
- Install / Uninstall
- Downloading
- Downloading, Patient Please...
- Install / Uninstall extra packages (need SD card)
- Please install dependent module first! (Scroll to
- the bottom, and select to install)
-
- Please make sure you have a SD CARD!
- Reset
- Unzipping...
- Individual Proxy
- Set individual proxy for apps (needs ROOT permission and IPTABLES support)
-
- Bypass Mode
- Enable this option to bypass selected apps
- Select apps to use with Shadowsocks:
- An unexpected exit detected, context has been
- recovered
-
- Shadowsocks is an open source socks proxy.\n\nYou can find more details here:\ngithub.com/shadowsocks
-
- About
+
+ Service Controller
+ Proxy Switch
+ Enable / Disable Proxy
+
+
+ Shadowsocks Settings
+ Server
+ Hostname of your Shadowsocks server
+ Remote Port
+ Remote port of shadowsocks server.
+ Local Port
+ Local port listening on
+ Password
+ Password of your Shadowsocks server
Encrypt Method
- Table
@@ -72,105 +28,98 @@
- rc4
+
+ Feature Settings
HTTP Proxy
Local HTTP Proxy
+ DNS Proxy
+ Redirect DNS queries to remote server.
+ CHN Route
+ Bypass all sites located in China
+
+ Global Proxy
+ Set up system wide proxy
+
+ Individual Proxy
+ Set individual proxy for apps
+
+ Select apps to use with Shadowsocks:
+ Bypass Mode
+ Enable this option to bypass selected apps
+ Auto Connect
+ Start Shadowsocks at the startup
-
- - 209.0.0.0/8
- - 72.0.0.0/8
- - 74.0.0.0/8
- - 68.0.0.0/8
- - 69.0.0.0/8
- - 66.0.0.0/8
- - 64.0.0.0/8
- - 199.0.0.0/8
- - 168.0.0.0/8
- - 67.0.0.0/8
- - 173.0.0.0/8
- - 202.248.0.0/16
-
+
+ Shadowsocks started
+ Running in the background
+ Shadowsocks failed to start
+ Shadowsocks stopped
+ Shadowsocks stopped
+ Please check your network status and try again.
+
+
+ OK
+ The port number should be greater than 1024
+ Port should not be empty
+ Proxy should not be empty
+ An unexpected exit detected, context has been recovered
+
+ Connecting…
+ Initializing…
+ Reseting…
+ Loading app list…
+
+
+ Reset
+ About
+ Shadowsocks is an open source socks proxy.\n\nYou can find more details
+ here:\ngithub.com/shadowsocks
+
+
+
- - 1.0.0.0/8
+ - 0.0.0.0/7
- 14.0.0.0/8
- 27.0.0.0/8
- 36.0.0.0/8
- 39.0.0.0/8
- - 42.0.0.0/8
+ - 42.0.0.0/7
- 49.0.0.0/8
- 58.0.0.0/7
- 60.0.0.0/7
- - 96.0.0.0/3
- - 128.0.0.0/4
+ - 101.0.0.0/8
+ - 103.0.0.0/8
+ - 106.0.0.0/8
+ - 110.0.0.0/7
+ - 112.0.0.0/4
+ - 134.128.0.0/9
+ - 139.0.0.0/9
+ - 139.128.0.0/9
+ - 140.0.0.0/9
+ - 140.128.0.0/9
+ - 144.0.0.0/9
+ - 144.128.0.0/9
+ - 150.0.0.0/8
+ - 153.0.0.0/8
+ - 157.0.0.0/9
+ - 157.128.0.0/9
+ - 159.128.0.0/9
+ - 161.128.0.0/9
+ - 162.0.0.0/9
+ - 163.0.0.0/8
+ - 166.0.0.0/9
+ - 167.128.0.0/9
+ - 168.128.0.0/9
- 171.0.0.0/8
- 175.0.0.0/8
- 180.0.0.0/8
- - 182.0.0.0/8
- - 183.0.0.0/8
- - 202.0.0.0/8
- - 203.0.0.0/8
- - 210.0.0.0/8
- - 211.0.0.0/8
- - 216.0.0.0/5
- - 192.168.0.0/16
- - 10.0.0.0/8
- - 172.16.0.0/12
+ - 182.0.0.0/7
+ - 192.112.0.0/12
+ - 192.128.0.0/9
+ - 202.0.0.0/7
+ - 210.0.0.0/7
+ - 218.0.0.0/7
+ - 220.0.0.0/6
-
- d3dxZ3R4eHByb3h5LTF8d3dxZ3R4eHByb3h5LTJ8d3dxZ3R4eHByb3h5LTN8d3dxZ3R4eHByb3h5LTR8d3dxZ3R4eHByb3h5LTV8d3dxZ3R4eHByb3h5LTZ8d3dxZ3R4eHByb3h5LTd8d3dxZ3R4eHByb3h5LTh8d3dxZ3R4eHByb3h5LTl8d3dxZ3R4eHByb3h5LTEwfHd3cWd0eHhwcm94eTEtMXx3d3FndHh4cHJveHkxLTJ8d3dxZ3R4eHByb3h5MS0zfHd3cWd0eHhwcm94eTEtNHx3d3FndHh4cHJveHkxLTV8d3dxZ3R4eHByb3h5MS02fHd3cWd0eHhwcm94eTEtN3x3d3FndHh4cHJveHkxLTh8d3dxZ3R4eHByb3h5MS05fHd3cWd0eHhwcm94eTEtMTB8d3dxZ3R4eHByb3h5Mi0xfHd3cWd0eHhwcm94eTItMnx3d3FndHh4cHJveHkyLTN8d3dxZ3R4eHByb3h5Mi00fHd3cWd0eHhwcm94eTItNXx3d3FndHh4cHJveHkyLTZ8d3dxZ3R4eHByb3h5Mi03fHd3cWd0eHhwcm94eTItOHx3d3FndHh4cHJveHkyLTl8d3dxZ3R4eHByb3h5Mi0xMA==
-
- 2
- wwqgtxx-goagent
-
- Connecting…
- Initializing…
- Reseting…
- Please modify your proxy host to start with
- "https://"
-
- HTTPS Proxy
- Proxy HTTPS through GAE, not compatible with most
- apps
-
-
-
- Notification Settings
- Ringtone
- Select the notification\'s ringtone
- Vibrate
- Also vibrate when connection status changes
- Loading app list…
- Market Proxy
- Only for users in China, help to update app from
- Android Market (need reboot)
-
- CHN Route
- Bypass all sites located in China (needs ROOT
- permission and
- IPTABLES support)
-
- Connecting to Shadowsocks
- Reconnecting to Shadowsocks
- GAE Browser
- Start a browser through GAE proxy, for users
- without root permission or iptables support
-
- You are using the default proxy, which has a quota
- of only 10G bandwidth every day. Please deploy your own
- servers to get
- more free bandwidth quota with Google App Engine.\n\nYou can find more
- information here: https://github.com/phus/goagent
-
- Warning
-
- System Proxy
- Enable system wide proxy automatically without ROOT permission,
- only works for Wifi on Android 4.0 and above.
-
- Remote Port
- Remote port of shadowsocks server.
-
- DNS Proxy
- Redirect DNS queries to remote server.
-
diff --git a/src/com/github/shadowsocks/Shadowsocks.java b/src/com/github/shadowsocks/Shadowsocks.java
index 3b722a16..00ad1a9d 100755
--- a/src/com/github/shadowsocks/Shadowsocks.java
+++ b/src/com/github/shadowsocks/Shadowsocks.java
@@ -176,12 +176,10 @@ public class Shadowsocks extends PreferenceActivity implements
isBypassAppsCheck = (CheckBoxPreference) findPreference("isBypassApps");
isRunningCheck = (CheckBoxPreference) findPreference("isRunning");
- if (mProgressDialog == null)
+ if (mProgressDialog == null) {
mProgressDialog = ProgressDialog.show(this, "",
getString(R.string.initializing), true, true);
-
- final SharedPreferences settings = PreferenceManager
- .getDefaultSharedPreferences(this);
+ }
new Thread() {
@Override
@@ -197,14 +195,14 @@ public class Shadowsocks extends PreferenceActivity implements
versionName = "NONE";
}
- if (!settings.getBoolean(versionName, false)) {
+ final SharedPreferences settings = PreferenceManager
+ .getDefaultSharedPreferences(Shadowsocks.this);
+ if (!settings.getBoolean(versionName, false)) {
Editor edit = settings.edit();
edit.putBoolean(versionName, true);
edit.commit();
-
reset();
-
}
handler.sendEmptyMessage(MSG_INITIAL_FINISH);