diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml
index 06ae9864..98a5222a 100644
--- a/src/main/res/values-ru/strings.xml
+++ b/src/main/res/values-ru/strings.xml
@@ -60,6 +60,7 @@
Shadowsocks запущен.
Неправильное имя сервера
Ошибка при подключении к удалённому серверу
+ ВНИМАНИЕ:В настоящее время метод шифрования является небезопасным
ВНИМАНИЕ:режим NAT не работает в Android 5.0
Режим NAT требует наличия ROOT прав
Переключить на режим VPN
diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml
index f91ce369..6309eb9a 100644
--- a/src/main/res/values-zh-rCN/strings.xml
+++ b/src/main/res/values-zh-rCN/strings.xml
@@ -35,6 +35,7 @@
后台服务已开始运行。
无法连接远程服务器
服务器名无效
+ 警告:当前使用的加密算法不安全
警告:在 Android 5.0 及更高版本中不建议使用 NAT 模式
NAT 模式需要 ROOT 权限
切换到 VPN 模式
diff --git a/src/main/res/values-zh/strings.xml b/src/main/res/values-zh/strings.xml
index d455536e..94af6526 100644
--- a/src/main/res/values-zh/strings.xml
+++ b/src/main/res/values-zh/strings.xml
@@ -36,6 +36,7 @@
Shadowsocks 已啟動。
連線至遠端伺服器失敗
伺服器名稱無效
+ 警告:當前使用的加密算法不安全
警告:自 Android 5.0 開始, NAT 模式已過時
NAT 模式需要 ROOT 權限
切換至 VPN 模式
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 078c0d24..8c472f3b 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -66,6 +66,7 @@
Shadowsocks started.
Invalid server name
Failed to connect the remote server
+ WARNING: The current encryption method is unsafe
WARNING: NAT mode has been deprecated since Android 5.0
NAT mode requires ROOT permission
Switch to VPN mode
diff --git a/src/main/scala/com/github/shadowsocks/BaseService.scala b/src/main/scala/com/github/shadowsocks/BaseService.scala
index d2cea36d..c65143b1 100644
--- a/src/main/scala/com/github/shadowsocks/BaseService.scala
+++ b/src/main/scala/com/github/shadowsocks/BaseService.scala
@@ -166,6 +166,8 @@ trait BaseService extends Service {
changeState(State.CONNECTING)
+ if (profile.isMethodUnsafe) Toast.makeText(this, R.string.method_unsafe, Toast.LENGTH_LONG).show
+
Utils.ThrowableFuture(connect)
}
diff --git a/src/main/scala/com/github/shadowsocks/database/Profile.scala b/src/main/scala/com/github/shadowsocks/database/Profile.scala
index ede0c720..19570fd3 100644
--- a/src/main/scala/com/github/shadowsocks/database/Profile.scala
+++ b/src/main/scala/com/github/shadowsocks/database/Profile.scala
@@ -101,4 +101,6 @@ class Profile {
override def toString = "ss://" + Base64.encodeToString("%s%s:%s@%s:%d".formatLocal(Locale.ENGLISH,
method, if (auth) "-auth" else "", password, host, remotePort).getBytes, Base64.NO_PADDING | Base64.NO_WRAP)
+
+ def isMethodUnsafe = "table".equalsIgnoreCase(method) || "rc4".equalsIgnoreCase(method)
}