Commit a53c9ff5 authored by Max Lv's avatar Max Lv

run nodejs in non-root user

parent d1c75d99
......@@ -7,7 +7,6 @@
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-feature
......@@ -40,12 +39,6 @@
android:name=".ShadowsocksService"
android:enabled="true"/>
<receiver android:name=".ShadowsocksReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
</application>
</manifest>
......@@ -34,17 +34,17 @@ LOCAL_CFLAGS := -Wall -O2 -I$(LOCAL_PATH)/pdnsd
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
#include $(CLEAR_VARS)
LOCAL_MODULE := shadowsocks
LOCAL_SRC_FILES := shadowsocks/local.c shadowsocks/encrypt.c
LOCAL_CFLAGS := -Wall -O2 -I$(LOCAL_PATH)/libev/ -I$(LOCAL_PATH)/openssl/include -std=c99
#LOCAL_MODULE := shadowsocks
#LOCAL_SRC_FILES := shadowsocks/local.c shadowsocks/encrypt.c
#LOCAL_CFLAGS := -Wall -O2 -I$(LOCAL_PATH)/libev/ -I$(LOCAL_PATH)/openssl/include -std=c99
LOCAL_STATIC_LIBRARIES := libev libcrypto
#LOCAL_STATIC_LIBRARIES := libev libcrypto
LOCAL_LDLIBS := -llog
#LOCAL_LDLIBS := -llog
include $(BUILD_EXECUTABLE)
#include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
......@@ -57,9 +57,20 @@ LOCAL_LDLIBS := -ldl -llog
include $(BUILD_SHARED_LIBRARY)
subdirs := $(addprefix $(LOCAL_PATH)/openssl/,$(addsuffix /Android.mk, \
crypto \
))
include $(CLEAR_VARS)
LOCAL_MODULE:= node
LOCAL_SRC_FILES:= \
node.c
LOCAL_LDLIBS := -ldl
include $(BUILD_SHARED_LIBRARY)
#subdirs := $(addprefix $(LOCAL_PATH)/openssl/,$(addsuffix /Android.mk, \
#crypto \
#))
include $(subdirs)
#include $(subdirs)
#include <jni.h>
void Java_com_github_shadowsocks_Node_exec(JNIEnv *env, jobject thiz, jstring cmd) {
const char *str = (*env)->GetStringUTFChars(env, cmd, 0);
setenv("LD_LIBRARY_PATH", "/vendor/lib:/system/lib", 1);
setegid(getgid());
seteuid(getuid());
system(str);
(*env)->ReleaseStringUTFChars(env, cmd, str);
}
......@@ -52,7 +52,7 @@
<string name="proxyed_help">选择使用Shadowsocks的应用:</string>
<string name="crash_alert">检测到一次非正常退出,状态已重置</string>
<string name="copy_rights">Shadowsocks是一款开源软件,依照GPLv3协议发布。\n\n如果您有任何问题,请前往项目网站进行反馈。
\n\n(gaeproxy.googlecode.com)</string>
\n\n(github.com/clowwindy/shadowsocks)</string>
<string name="about">关于</string>
<string name="proxy_type">代理类型</string>
<string name="connecting">正在连接...</string>
......@@ -83,455 +83,5 @@
<string name="system_proxy">系统代理</string>
<string name="system_proxy_summary">设置系统代理,无需ROOT权限,仅工作在Android 4.0及以上系统,并仅对当前Wifi连接生效</string>
<!--
Zirco Browser for Android Copyright (C) 2010 - 2011 J. Devauchelle
and contributors. This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License version
3 as published by the Free Software Foundation. This program is distributed
in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
-->
<string name="ApplicationName">Zirco Browser</string>
<string name="ApplicationNameUrl">Zirco Browser - %s</string>
<string name="ApplicationDescription">使用Zirco Browser让你更好的使用互联网</string>
<string name="AboutActivity.Title">关于</string>
<string name="AboutActivity.LicenseText">版权:</string>
<string name="AboutActivity.UrlTextValue">http://code.google.com/p/zirco-browser/</string>
<string name="AboutActivity.LicenseTextValue">GPL v3</string>
<string name="Main.MenuAddBookmark">添加书签</string>
<string name="Main.MenuShowBookmarks">书签</string>
<string name="Main.MenuShowHistory">历史</string>
<string name="Main.MenuShowDownloads">下载</string>
<string name="Main.MenuPreferences">配置</string>
<string name="Main.MenuOpen">打开</string>
<string name="Main.MenuOpenNewTab">在新页中打开</string>
<string name="Main.MenuDownload">下载</string>
<string name="Main.DownloadStartedMsg">下载开始</string>
<string name="Main.DownloadFinishedMsg">下载结束</string>
<string name="Main.DownloadErrorMsg">下载错误: %s</string>
<string name="Main.ToastTabSwitchMessage">页 %s</string>
<string name="Main.ToastTabSwitchFullMessage">页 %1$s: %2$s</string>
<string name="Main.VndErrorTitle">不能打开网址</string>
<string name="Main.VndErrorMessage">本程序不支持这个网址: %s.</string>
<string name="BookmarksListActivity.Title">书签</string>
<string name="BookmarksListActivity.MenuSortMode">排序方式</string>
<string name="BookmarksListActivity.MenuAddBookmark">增加书签</string>
<string name="BookmarksListActivity.Empty">没有书签</string>
<string name="BookmarksListActivity.MenuOpenInTab">打开新页</string>
<string name="BookmarksListActivity.MenuEditBookmark">编辑书签</string>
<string name="BookmarksListActivity.MenuDeleteBookmark">删除书签</string>
<string name="BookmarksListActivity.ImportBookmarks">导入书签</string>
<string name="BookmarksListActivity.ExportBookmarks">导出书签</string>
<string name="BookmarksListActivity.ClearBookmarks">清空所有书签</string>
<string name="BookmarksListActivity.ImportingBookmarks">正在导入书签中...</string>
<string name="BookmarksListActivity.ExportingBookmarks">重在导出书签中...</string>
<string name="BookmarksListActivity.ClearingBookmarks">正在清空书签中...</string>
<string name="BookmarksListActivity.AlphaSortMode">顺序</string>
<string name="BookmarksListActivity.RecentSortMode">倒序</string>
<string name="BookmarksListActivity.ImportSource">选择导入源</string>
<string name="BookmarksListActivity.AndroidImportSource">Android浏览器的书签</string>
<string name="BookmarksListActivity.ExportDialogTitle">选择导出目标</string>
<string name="EditBookmarkActivity.Title">编辑书签</string>
<string name="EditBookmarkActivity.TitleAdd">增加书签</string>
<string name="EditBookmarkActivity.TitleLabel">显示名称:</string>
<string name="EditBookmarkActivity.UrlLabel">地址Location:</string>
<string name="HistoryListActivity.Title">历史</string>
<string name="HistoryListActivity.MenuOpenInTab">打开新页</string>
<string name="HistoryListActivity.MenuDelete">删除</string>
<string name="DownloadListActivity.Title">Zirco Browser-下载</string>
<string name="DownloadListActivity.Empty">没有下载</string>
<string name="DownloadListActivity.Aborted">%s (取消)</string>
<string name="DownloadListActivity.Finished">%s (完成)</string>
<string name="AdBlockerWhiteListActivity.Title">Zirco Browser - Ad 白名单</string>
<string name="AdBlockerWhiteListActivity.Empty">白名单是空的.</string>
<string name="AdBlockerWhiteListActivity.AddMessage">添加至白名单</string>
<string name="AdBlockerWhiteListActivity.ClearMessage">清空白名单</string>
<string name="PreferencesActivity.GeneralSettingsCategoryTitle">通用设置</string>
<string name="PreferencesActivity.HomePagePreferenceTitle">主页设定</string>
<string name="PreferencesActivity.HomePagePreferenceSummary">定义你的默认主页</string>
<string name="PreferencesActivity.FullScreenPreferenceTitle">是否全屏幕</string>
<string name="PreferencesActivity.FullScreenPreferenceSummary">在全屏幕模式下显示 (需要重新启动程序).</string>
<string name="PreferencesActivity.ShowToastOnTabSwitchPreferenceTitle">页切换时是否显示对话框</string>
<string name="PreferencesActivity.ShowToastOnTabSwitchPreferenceSummary">如果选中,也切换时会有提示</string>
<string name="PreferencesActivity.BrowserSettingsCategoryTitle">浏览器设定</string>
<string name="PreferencesActivity.HistorySizePreferenceTitle">历史记录大小</string>
<string name="PreferencesActivity.HistorySizePreferenceSummary">每天历史记录大小</string>
<string name="PreferencesActivity.EnableJavascriptPreferenceTitle">是否支持JavaScript</string>
<string name="PreferencesActivity.EnableJavascriptPreferenceSummary">如果不支持JavaScript,很多网站效果不能打开,建议打开.</string>
<string name="PreferencesActivity.LoadImagesPreferenceTitle">是否加载图像</string>
<string name="PreferencesActivity.LoadImagesPreferenceSummary">使用或者不使用图像</string>
<string name="PreferencesActivity.PrivacyPreferenceTitle">隐私设定</string>
<string name="PreferencesActivity.PrivacyPreferenceSummary">管理你的上网痕迹,确保隐私</string>
<string name="PreferencesActivity.EnableFormDataPreferenceTitle">保存表单数据</string>
<string name="PreferencesActivity.EnableFormDataPreferenceSummary">可保存数据,减少你下次输入时间</string>
<string name="PreferencesActivity.EnablePasswordsPreferenceTitle">保存密码</string>
<string name="PreferencesActivity.EnablePasswordsPreferenceSummary">可保存密码,让你下次访问更加方便</string>
<string name="PreferencesActivity.EnableCookiesPreferenceTitle">允许cookie</string>
<string name="PreferencesActivity.EnableCookiesPreferenceSummary">是否允许Cookie</string>
<string name="PreferencesActivity.PrivacyClearHistoryTitle">清空历史</string>
<string name="PreferencesActivity.PrivacyClearFormDataTitle">清空表单数据</string>
<string name="PreferencesActivity.PrivacyClearCacheTitle">清空缓存</string>
<string name="PreferencesActivity.PrivacyClearCookiesTitle">清空cookies</string>
<string name="PreferencesActivity.BarDurationPreferenceTitle">工具条显示时间</string>
<string name="PreferencesActivity.BarDurationPreferenceSummary">显示工具条多长时间自动隐藏</string>
<string name="PreferencesActivity.BarDuration1sec">1 秒</string>
<string name="PreferencesActivity.BarDuration2sec">2 秒</string>
<string name="PreferencesActivity.BarDuration3sec">3 秒</string>
<string name="PreferencesActivity.BarDuration4sec">4 秒</string>
<string name="PreferencesActivity.BarDuration5sec">5 秒</string>
<string-array name="BarDurationEntries">
<item>@string/PreferencesActivity.BarDuration1sec</item>
<item>@string/PreferencesActivity.BarDuration2sec</item>
<item>@string/PreferencesActivity.BarDuration3sec</item>
<item>@string/PreferencesActivity.BarDuration4sec</item>
<item>@string/PreferencesActivity.BarDuration5sec</item>
</string-array>
<string-array name="BarDurationValues">
<item>1000</item>
<item>2000</item>
<item>3000</item>
<item>4000</item>
<item>5000</item>
</string-array>
<string name="PreferencesActivity.BubblePositionPreferenceTitle">工具条图标</string>
<string name="PreferencesActivity.BubblePositionPreferenceSummary">工具条图标位置</string>
<string name="PreferencesActivity.BubbleRight"></string>
<string name="PreferencesActivity.BubbleLeft"></string>
<string name="PreferencesActivity.BubbleBoth">两边都有</string>
<string-array name="BubblePositionEntries">
<item>@string/PreferencesActivity.BubbleRight</item>
<item>@string/PreferencesActivity.BubbleLeft</item>
<item>@string/PreferencesActivity.BubbleBoth</item>
</string-array>
<string-array name="BubblePositionValues">
<item>right</item>
<item>left</item>
<item>both</item>
</string-array>
<string name="PreferencesActivity.AdBlockerSettingsCategoryTitle">Ad广告设定</string>
<string name="PreferencesActivity.EnableAdBlockerPreferenceTitle">是否允许 Ad-blocker</string>
<string name="PreferencesActivity.EnableAdBlockerPreferenceSummary">Ad广告必须要求JavaScript能使用</string>
<string name="PreferencesActivity.AdBlockerWhiteListPreferenceTitle">白名单</string>
<string name="PreferencesActivity.AdBlockerWhiteListPreferenceSummary">管理 Ad广告白名单.</string>
<string name="Commons.Ok">确定</string>
<string name="Commons.Cancel">取消</string>
<string name="Commons.PleaseWait">请等待</string>
<string name="Commons.Yes"></string>
<string name="Commons.No"></string>
<string name="Commons.NoUndoMessage">操作没有完成,是否继续?</string>
<string name="Commons.Today">今天 (%s)</string>
<string name="Commons.Yesterday">昨天 (%s)</string>
<string name="Commons.DaysAgo">%1$s 以前 (%2$s)</string>
<string name="Commons.JavaScriptDialog">JavaScript对话框</string>
<string name="Commons.ClearHistory">清空历史记录</string>
<string name="Commons.ClearingHistory">正在清空历史记录...</string>
<string name="Commons.ClearFormData">清空表单数据</string>
<string name="Commons.ClearingFormData">正在清空表单数据...</string>
<string name="Commons.ClearCache">清空缓存</string>
<string name="Commons.ClearingCache">正在清空缓存...</string>
<string name="Commons.ClearCookies">清空Cookies</string>
<string name="Commons.ClearingCookies">正在清空缓存...</string>
<string name="Commons.SDCardErrorTitle">SD卡不能使用</string>
<string name="Commons.SDCardErrorNoSDMsg">找不到SD卡</string>
<string name="Commons.SDCardErrorSDUnavailable">SD卡不能使用</string>
<string name="Commons.Close">关闭</string>
<string name="DATE_FORMAT_ISO8601">yyyy-MM-dd\'T\'HH:mm:ss.SSS</string>
<!-- 0.3.1 -->
<string name="PreferencesActivity.AboutCategoryTitle">关于</string>
<string name="PreferencesActivity.AboutPreferenceTitle">关于</string>
<string name="PreferencesActivity.AboutPreferenceSummary">本程序信息.</string>
<!-- 0.3.2 -->
<string name="BookmarksListActivity.MostUsedSortMode">更多..</string>
<string name="PreferencesActivity.DefaultZoomPreferenceTitle">默认缩放级别</string>
<string name="PreferencesActivity.DefaultZoomPreferenceSummary">设定默认缩放</string>
<string name="PreferencesActivity.DefaultZoomClose">关闭</string>
<string name="PreferencesActivity.DefaultZoomMedium"></string>
<string name="PreferencesActivity.DefaultZoomFar">非常大</string>
<string-array name="DefaultZoomEntries">
<item>@string/PreferencesActivity.DefaultZoomClose</item>
<item>@string/PreferencesActivity.DefaultZoomMedium</item>
<item>@string/PreferencesActivity.DefaultZoomFar</item>
</string-array>
<string-array name="DefaultZoomValues">
<item>CLOSE</item>
<item>MEDIUM</item>
<item>FAR</item>
</string-array>
<string name="StartPage.Welcome">欢迎!</string>
<string name="StartPage.Bookmarks">使用最多的书签</string>
<string name="StartPage.History">历史记录</string>
<string name="ChangelogActivity.Title">更新历史</string>
<string name="PreferencesActivity.ChangelogPreferenceTitle">更新日志</string>
<string name="PreferencesActivity.ChangelogPreferenceSummary">本应用程序更新日志</string>
<string name="HomepagePreferenceActivity.Title">主页</string>
<string name="HomepagePreferenceActivity.Prompt">主页</string>
<string name="PreferencesActivity.HomepageStart">开始页</string>
<string name="PreferencesActivity.HomepageBlank">空白页</string>
<string name="PreferencesActivity.HomepageCustom">自定义</string>
<string-array name="HomepageValues">
<item>@string/PreferencesActivity.HomepageStart</item>
<item>@string/PreferencesActivity.HomepageBlank</item>
<item>@string/PreferencesActivity.HomepageCustom</item>
</string-array>
<!-- 0.3.3 -->
<string name="Constants.SearchUrlGoogle">http://www.google.com/m?hl=en&amp;gl=us&amp;client=ms-null&amp;source=android-browser-key&amp;q=%s</string>
<string name="Constants.SearchUrlWikipedia">http://www.baidu.com/s?wd=%s</string>
<string name="PreferencesActivity.SearchUrlPreferenceTitle">搜索 URL</string>
<string name="PreferencesActivity.SearchUrlPreferenceSummary">自定义搜索URL</string>
<string name="SearchUrlPreferenceActivity.Title">搜索</string>
<string name="SearchUrlPreferenceActivity.Prompt">搜索</string>
<string name="PreferencesActivity.SearchUrlGoogle">谷歌</string>
<string name="PreferencesActivity.SearchUrlWikipedia">百度</string>
<string name="PreferencesActivity.SearchUrlCustom">自定义</string>
<string-array name="SearchUrlValues">
<item>@string/PreferencesActivity.SearchUrlGoogle</item>
<item>@string/PreferencesActivity.SearchUrlWikipedia</item>
<item>@string/PreferencesActivity.SearchUrlCustom</item>
</string-array>
<string name="StartPage.Search">搜索</string>
<string name="StartPage.SearchButton"></string>
<string name="PreferencesActivity.StartPageCustomizationPreferenceTitle">开始页设定</string>
<string name="PreferencesActivity.StartPageCustomizationPreferenceSummary">自定义开始页.</string>
<string name="PreferencesActivity.StartPageEnableSearchPreferenceTitle">是否显示搜索栏</string>
<string name="PreferencesActivity.StartPageEnableSearchPreferenceSummary">如果选中,首页显示搜索栏</string>
<string name="PreferencesActivity.StartPageEnableBookmarksPreferenceTitle">显示最常用书签</string>
<string name="PreferencesActivity.StartPageEnableBookmarksPreferenceSummary">如果选中,首页显示最常用书签</string>
<string name="PreferencesActivity.StartPageEnableHistoryPreferenceTitle">是否显示历史</string>
<string name="PreferencesActivity.StartPageEnableHistoryPreferenceSummary">如果选中,显示浏览历史</string>
<string name="PreferencesActivity.StartPageBookmarksLimitPreferenceTitle">书签个数</string>
<string name="PreferencesActivity.StartPageBookmarksLimitPreferenceSummary">首页中最常用的书签显示</string>
<string name="PreferencesActivity.StartPageHistoryLimitPreferenceTitle">当前历史记录数</string>
<string name="PreferencesActivity.StartPageHistoryLimitPreferenceSummary">在首页中显示的历史记录个数</string>
<string name="PreferencesActivity.UserAgentPreferenceTitle">User agent(UA)</string>
<string name="PreferencesActivity.UserAgentPreferenceSummary">定义UA,网站根据UA显示给适合你浏览器的网页</string>
<string name="UserAgentPreferenceActivity.Title">User Agent</string>
<string name="UserAgentPreferenceActivity.Prompt">User agent</string>
<string name="PreferencesActivity.UserAgentDefault">Android默认</string>
<string name="PreferencesActivity.UserAgentDesktop">桌面级</string>
<string name="PreferencesActivity.UserAgentCustom">自定义</string>
<string-array name="UserAgentValues">
<item>@string/PreferencesActivity.UserAgentDefault</item>
<item>@string/PreferencesActivity.UserAgentDesktop</item>
<item>@string/PreferencesActivity.UserAgentCustom</item>
</string-array>
<string name="BookmarksListActivity.AndroidExportTarget">Android浏览器的书签</string>
<string name="BookmarksListActivity.SDCardExportTarget">SD卡</string>
<string name="BookmarksListActivity.BookmarksExportSDCardDoneTitle">导出完成</string>
<string name="BookmarksListActivity.BookmarksExportSDCardDoneMessage">你的所有书签已经保存在[%s]中</string>
<string name="BookmarksListActivity.BookmarksExportSDCardFailedTitle">导出失败</string>
<string name="BookmarksListActivity.BookmarksExportSDCardFailedMessage">错误信息: %s.</string>
<string name="Main.MenuCopyLinkUrl">复制链接地址</string>
<string name="Main.MenuViewImage">显示图片</string>
<string name="Main.MenuCopyImageUrl">复制图片地址</string>
<string name="Main.MenuDownloadImage">下载图片</string>
<string name="Main.MenuSendEmail">发送邮件</string>
<string name="Main.MenuCopyEmailUrl">复制邮件地址</string>
<string name="Commons.UrlCopyToastMessage">地址已经复制到粘贴板</string>
<string name="DownloadNotification.DownloadStart">下载开始.</string>
<string name="DownloadNotification.DownloadInProgress">正在下载中.</string>
<string name="DownloadNotification.DownloadComplete">下载完成.</string>
<string name="DownloadNotification.DownloadCanceled">下载已经取消.</string>
<string name="BookmarksHistoryActivity.MenuCopyLinkUrl">复制URL</string>
<string name="PreferencesActivity.ClearCacheOnExitPreferenceTitle">清空缓存</string>
<string name="PreferencesActivity.ClearCacheOnExitPreferenceSummary">如果选中,当程序退出的时候清空缓存.</string>
<string name="PreferencesActivity.UIPreferenceTitle">自定义首页</string>
<string name="PreferencesActivity.UIPreferenceSummary">自定义首页界面</string>
<string name="Main.MenuExit">退出</string>
<string name="PreferencesActivity.RestartDialogTitle">需要重启</string>
<string name="PreferencesActivity.RestartDialogMessage">效果改变后需要重新启动程序,是否马上重启</string>
<!-- 0.3.5 -->
<string name="PreferencesActivity.EnablePluginsTitle">可以使用插件</string>
<string name="PreferencesActivity.PluginsAlwaysOff">关闭</string>
<string name="PreferencesActivity.PluginsOnDemand">需要的时候提示</string>
<string name="PreferencesActivity.PluginsAlwaysOn">打开</string>
<string-array name="PluginsEntries">
<item>@string/PreferencesActivity.PluginsAlwaysOff</item>
<item>@string/PreferencesActivity.PluginsOnDemand</item>
<item>@string/PreferencesActivity.PluginsAlwaysOn</item>
</string-array>
<string-array name="PluginsValues">
<item>OFF</item>
<item>ON_DEMAND</item>
<item>ON</item>
</string-array>
<string name="Commons.Continue">继续</string>
<string name="Commons.SslWarning">安全警告</string>
<string name="Commons.SslWarningsHeader">网站的安全证书存在问题</string>
<string name="Commons.SslUntrusted">网站证书没有可信任的发行者</string>
<string name="Commons.SslIDMismatch">站点名和证书不匹配</string>
<string name="Commons.SslExpired">证书已经过期</string>
<string name="Commons.SslNotYetValid">证书没有验证</string>
<string name="MobileViewListActivity.Title">Zirco Browser-通过网关访问的网站列表</string>
<string name="MobileViewListActivity.ListEmpty">列表为空</string>
<string name="MobileViewListActivity.AddMessage">添加一个网站</string>
<string name="MobileViewListActivity.ClearMessage">清空所有站点</string>
<string name="PreferencesActivity.MobileViewCategoryTitle">移动网站列表</string>
<string name="PreferencesActivity.MobileViewListPreferenceTitle">管理网站</string>
<string name="PreferencesActivity.MobileViewListPreferenceSummary">通过google移动平台访问网站,会减少流量和加快速度.</string>
<string name="Commons.Add">增加</string>
<string name="Commons.Clear">清空</string>
<string name="Commons.Delete">删除</string>
<!-- 0.3.6 -->
<string name="PreferencesActivity.VolumeKeysBehaviourPreferenceTitle">声音键</string>
<string name="PreferencesActivity.VolumeKeysBehaviourPreferenceSummary">选择声音键的功能</string>
<string name="PreferencesActivity.VolumeKeysActionDefault">默认不改变</string>
<string name="PreferencesActivity.VolumeKeysActionZoom">放大</string>
<string name="PreferencesActivity.VolumeKeysActionSwitchTabs">选择不同页</string>
<string name="PreferencesActivity.VolumeKeysActionHistory">前进/后退</string>
<string-array name="VolumeKeysActionEntries">
<item>@string/PreferencesActivity.VolumeKeysActionDefault</item>
<item>@string/PreferencesActivity.VolumeKeysActionZoom</item>
<item>@string/PreferencesActivity.VolumeKeysActionSwitchTabs</item>
<item>@string/PreferencesActivity.VolumeKeysActionHistory</item>
</string-array>
<string-array name="VolumeKeysActionValues">
<item>DEFAULT</item>
<item>ZOOM</item>
<item>SWITCH_TABS</item>
<item>HISTORY</item>
</string-array>
<!-- 0.3.7 -->
<string name="Main.MenuSharePage">Share page</string>
<string name="Main.ShareChooserTitle">Share via</string>
<string name="Main.MenuShareLinkUrl">Share link url</string>
<string name="Main.MenuShareImageUrl">Share image url</string>
<string name="Main.MenuShareEmailUrl">Share email address</string>
<!-- 0.3.8 -->
<string name="PreferencesActivity.HideTitleBarPreferenceTitle">Hide title bars</string>
<string name="PreferencesActivity.HideTitleBarPreferenceSummary">If checked, windows title bars will not be
displayed (need application restart).</string>
<string name="PreferencesActivity.UseWideViewPortPreferenceTitle">Use wide viewport</string>
<string name="PreferencesActivity.UseWideViewPortPreferenceSummary">If checked, browser will use a viewport similar to
desktop browsers.</string>
<string name="PreferencesActivity.LoadWithOverviewPreferenceTitle">Load pages with overview</string>
<string name="PreferencesActivity.LoadWithOverviewPreferenceSummary">If checked, pages will load zoomed out to show an
overview of the page.</string>
<string name="PreferencesActivity.SwitchTabsMethodPreferenceTitle">Switch tabs method</string>
<string name="PreferencesActivity.SwitchTabsMethodPreferenceSummary">Define how you can switch between open tabs.</string>
<string name="PreferencesActivity.SwitchTabButtons">Buttons</string>
<string name="PreferencesActivity.SwitchTabFling">Fling</string>
<string name="PreferencesActivity.SwitchTabBoth">Both</string>
<string-array name="SwitchTabsMethodEntries">
<item>@string/PreferencesActivity.SwitchTabButtons</item>
<item>@string/PreferencesActivity.SwitchTabFling</item>
<item>@string/PreferencesActivity.SwitchTabBoth</item>
</string-array>
<string-array name="SwitchTabsMethodValues">
<item>buttons</item>
<item>fling</item>
<item>both</item>
</string-array>
<!-- 0.3.9 -->
<string name="HistoryListActivity.Today">Today</string>
<string name="HistoryListActivity.Yesterday">Yesterday</string>
<string name="HistoryListActivity.LastSevenDays">Last 7 days</string>
<string name="HistoryListActivity.LastMonth">Last month</string>
<string name="HistoryListActivity.Older">Older</string>
<string name="QuickAction.Home">主页</string>
<string name="QuickAction.Menu">菜单</string>
<string name="QuickAction.Share">分享</string>
<string name="QuickAction.SelectText">选择文本</string>
<string name="QuickAction.MobileView">移动网关</string>
<string name="AboutActivity.OtherLicenseText">This application include code from the GreenDroid
project (https://github.com/cyrilmottier/GreenDroid/), licensed under
the Apache license, version 2.</string>
<!-- 0.4.0 -->
<string name="PreferencesActivity.WeavePreferenceTitle">Firefox bookmarks synchronization</string>
<string name="PreferencesActivity.WeavePreferenceSummary">Manage the settings of the bookmarks
synchronization with Firefox Sync.</string>
<string name="PreferencesActivity.UseWeavePreferenceTitle">Use Firefox Sync</string>
<string name="PreferencesActivity.UseWeavePreferenceSummary">If checked, you can retrieve your bookmarks from
Firefox Sync.</string>
<string name="PreferencesActivity.WeaveServerPreferenceTitle">Server</string>
<string name="PreferencesActivity.WeaveServerPreferenceSummary">Set the Firefox Sync server.</string>
<string name="PreferencesActivity.WeaveUsernameTitle">User name</string>
<string name="PreferencesActivity.WeaveUsernameSummary">Enter your Firefox Sync user name.</string>
<string name="PreferencesActivity.WeavePasswordTitle">Password</string>
<string name="PreferencesActivity.WeavePasswordSummary">Enter your Firefox Sync password.</string>
<string name="PreferencesActivity.WeaveKeyTitle">Key</string>
<string name="PreferencesActivity.WeaveKeySummary">Enter your Firefox Sync key.</string>
<string name="WeaveBookmarksListActivity.Title">Firefox bookmarks</string>
<string name="WeaveBookmarksListActivity.MenuSync">Synchronize</string>
<string name="WeaveBookmarksListActivity.MenuClear">Clear</string>
<string name="WeaveBookmarksListActivity.WeaveRootFolder">Places</string>
<string name="WeaveBookmarksListActivity.EmptyText">Firefox bookmarks are not synchronized. Setup your
account informations and do a synchronization.</string>
<string name="WeaveBookmarksListActivity.EmptyFolderText">No bookmarks in this folder.</string>
<string name="WeaveBookmarksListActivity.SetupButton">Setup</string>
<string name="WeaveBookmarksListActivity.SyncButton">Synchronize</string>
<string name="WeaveSync.SyncTitle">Synchronization</string>
<string name="WeaveSync.Connecting">Connecting to server...</string>
<string name="WeaveSync.GettingData">Getting data...</string>
<string name="WeaveSync.ReadingData">Reading data: %1$s / %2$s</string>
<string name="WeaveSync.WrittingData">Writting data...</string>
<string name="Errors.WeaveSyncFailedTitle">Synchronization failed.</string>
<string name="Errors.WeaveSyncFailedMessage">Synchronization failed: %s</string>
<string name="Errors.WeaveAuthFailedMessage">Invalid authentication token. Check your settings.</string>
<string name="WeaveServerPreferenceActivity.Prompt">Server</string>
<string name="WeaveServerPreferenceActivity.Title">Server</string>
<string name="WeaveServerPreferenceActivity.DefaultServer">Firefox Sync server</string>
<string name="WeaveServerPreferenceActivity.CustomServer">Custom server</string>
<string-array name="WeaveServerValues">
<item>@string/WeaveServerPreferenceActivity.DefaultServer</item>
<item>@string/WeaveServerPreferenceActivity.CustomServer</item>
</string-array>
<string name="Main.FileChooserPrompt">Choose file for upload</string>
<string name="Commons.HistoryBookmarksExportSDCardConfirmation">Export history and bookmarks</string>
<string name="Commons.HistoryBookmarksExportSDCardDoneTitle">Export done</string>
<string name="Commons.HistoryBookmarksExportSDCardDoneMessage">Your history and bookmarks have been saved to %s.</string>
<string name="Commons.HistoryBookmarksExportSDCardFailedTitle">Export failed</string>
<string name="Commons.HistoryBookmarksFailedMessage">Error message: %s.</string>
<string name="Commons.HistoryBookmarksImportSDCardFailedTitle">Import failed</string>
<string name="Commons.OperationCanBeLongMessage">This operation can take some times. Do you wish to
proceed?</string>
<string name="PreferencesActivity.ToolsCategoryTitle">Tools</string>
<string name="PreferencesActivity.ToolsHistoryBookmarksPreferenceTitle">Manage bookmarks and history</string>
<string name="PreferencesActivity.ToolsHistoryBookmarksPreferenceSummary">Import, export, clear history and bookmarks.</string>
<string name="PreferencesActivity.ExportHistoryBookmarksPreferenceTitle">Export bookmarks and history</string>
<string name="PreferencesActivity.ExportHistoryBookmarksPreferenceSummary">Export bookmarks and history to the SD card.</string>
<string name="PreferencesActivity.ImportHistoryBookmarksPreferenceTitle">Import bookmarks and history</string>
<string name="PreferencesActivity.ImportHistoryBookmarksPreferenceSummary">Import bookmarks and history from the SD card.</string>
<string name="PreferencesActivity.PrivacyClearHistoryBookmarksTitle">Clear history and/or bookmarks</string>
<string name="PreferencesActivity.SummaryCannotBeUndone">Use with caution, this operation cannot be undone.</string>
<string name="Commons.ClearingHistoryBookmarks">Clearing history and/or bookmarks...</string>
<string name="Commons.ClearHistoryBookmarks">Clear history and/or bookmarks</string>
<string name="Commons.Bookmarks">Bookmarks</string>
<string name="Commons.History">History</string>
<string name="Commons.All">All</string>
<string name="Commons.ExportingHistoryBookmarks">Exporting history and bookmarks...</string>
<string name="Commons.ImportingHistoryBookmarks">Importing history and bookmarks...</string>
<string name="Commons.ImportHistoryBookmarksSource">Choose the import source</string>
<string name="Commons.ClearingBookmarks">正在清空书签中...</string>
<string name="DownloadListActivity.RemoveCompletedDownloads">Remove completed downloads</string>
<string name="QuickAction.Find">Find on page</string>
<string name="SearchDialog.Hint">Find on page</string>
</resources>
......@@ -62,7 +62,7 @@
published under
the GPLv3. \n\nIf you have any questions, please visit
our project page on
googlecode. \n\n(gaeproxy.googlecode.com)
googlecode. \n\n(github.com/clowwindy/shadowsocks)
</string>
<string name="about">About</string>
<string name="proxy_type">Proxy Type</string>
......
......@@ -36,11 +36,6 @@
</EditTextPreference>
</PreferenceCategory>
<PreferenceCategory android:title="@string/fearute_cat">
<CheckBoxPreference
android:key="isAutoConnect"
android:summary="@string/auto_connect_summary"
android:title="@string/auto_connect">
</CheckBoxPreference>
<CheckBoxPreference
android:defaultValue="true"
android:key="isGFWList"
......
package com.github.shadowsocks;
public class Node {
static {
System.loadLibrary("node");
}
public static native void exec(String cmd);
}
......@@ -103,7 +103,6 @@ public class Shadowsocks extends PreferenceActivity implements
private static ProgressDialog mProgressDialog = null;
private CheckBoxPreference isAutoConnectCheck;
private CheckBoxPreference isGlobalProxyCheck;
private EditTextPreference proxyText;
private EditTextPreference portText;
......@@ -169,7 +168,6 @@ public class Shadowsocks extends PreferenceActivity implements
isGFWListCheck.setEnabled(false);
isBypassAppsCheck.setEnabled(false);
isAutoConnectCheck.setEnabled(false);
isGlobalProxyCheck.setEnabled(false);
}
......@@ -185,7 +183,6 @@ public class Shadowsocks extends PreferenceActivity implements
isBypassAppsCheck.setEnabled(true);
}
isAutoConnectCheck.setEnabled(true);
}
private boolean isTextEmpty(String s, String msg) {
......@@ -213,7 +210,6 @@ public class Shadowsocks extends PreferenceActivity implements
proxyedApps = findPreference("proxyedApps");
isRunningCheck = (CheckBoxPreference) findPreference("isRunning");
isAutoConnectCheck = (CheckBoxPreference) findPreference("isAutoConnect");
isGlobalProxyCheck = (CheckBoxPreference) findPreference("isGlobalProxy");
isGFWListCheck = (CheckBoxPreference) findPreference("isGFWList");
isBypassAppsCheck = (CheckBoxPreference) findPreference("isBypassApps");
......
......@@ -57,6 +57,7 @@ import android.util.Log;
import com.google.analytics.tracking.android.EasyTracker;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.ref.WeakReference;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
......@@ -183,10 +184,15 @@ public class ShadowsocksService extends Service {
}
public void startShadowsocksDaemon() {
final String cmd = String.format("nohup " + BASE
+ "node " + BASE + "local.js -s \"%s\" -p \"%d\" -l \"%d\" -k \"%s\" &",
appHost, remotePort, port, sitekey);
Utils.runRootCommand(cmd);
new Thread() {
@Override
public void run() {
final String cmd = String.format(BASE
+ "node " + BASE + "local.js -s \"%s\" -p \"%d\" -l \"%d\" -k \"%s\"",
appHost, remotePort, port, sitekey);
Node.exec(cmd);
}
}.start();
}
public void startDnsDaemon() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment