Giter VIP home page Giter VIP logo

shadowsocksr-v2ray-trojan-android's Introduction

A ShadowsocksR, V2Ray and Trojan Client for Android

A fully featured ShadowsocksR, V2Ray and Trojan client for Android, written in Scala.

build GitHub release GitHub issues

PREREQUISITES

  • A really fast proxy
  • JDK 1.8
    sudo apt-get install openjdk-8-jdk
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    export PATH=$PATH:$JAVA_HOME/bin
    java -version
  • SBT 0.13.8
  • Android SDK
    • Build Tools 30+
    • Android Support Repository and Google Repository (see build.sbt for version)
  • Android NDK r21e+

BUILD with Android Studio

Warnning: Cannot build in windows

  • Download Android Studio

  • Download Android NDK r20b

  • Install Scala plugin for IntelliJ IDEA

  • Set proxy for Android Studio: File | Settings | Appearance & Behavior | System Settings | HTTP Proxy
    Set proxy for sbt: File | Settings | Build, Execution, Deployment | Build Tools | sbt, in VM parameters input:

      -Dhttps.proxyHost=127.0.0.1
      -Dhttps.proxyPort=8080
      -Dhttp.proxyHost=127.0.0.1
      -Dhttp.proxyPort=8080
    
  • Set environment variable ANDROID_HOME to /path/to/Android/Sdk

  • Set environment variable ANDROID_NDK_HOME to /path/to/Android/android-ndk-r21e

  • Create your key following the instructions at https://developer.android.com/studio/publish/app-signing.html

  • Put your key in ~/.keystore or any other place

  • Create local.properties from local.properties.example with your own key information

      key.alias: abc
      key.store: /path/to/Android/abc.jks
      key.store.password: abc
    
  • if you installed multiple versions of Java, use sudo update-alternatives --config java to select Java 8

  • Before build apk, make sure inside ./project/build.properties, sbt.version=0.13.18

  • Invoke the building like this

    export https_proxy=http://127.0.0.1:8080 # !important
    export ANDROID_HOME=/path/to/Android/Sdk
    export ANDROID_NDK_HOME=/path/to/Android/android-ndk-r20b
    # install and update all git submodule
    git submodule update --init
    # cd ./src/main/jni/shadowsocks-libev && git checkout Akkariiin/master
    # Build the App and fix the problems as the error messages indicated
    sbt native-build clean android:package-release
    # run app
    sbt android:run
If you use x64 linux like Archlinux x86_64, or your linux have new version ncurses lib, you may need install the 32bit version ncurses and link it as follow (make sure all these *.so files in the right location under your system, otherwise you have to copy them to /usr/lib/ and /usr/lib32/ directory):
    # use Archlinux x86_64 as example
    
    # install ncurses x64 and x86 version
    sudo pacman -S lib32-ncurses ncurses
    
    # link the version-6 ncurses to version-5
    sudo ln -s /usr/lib/libncursesw.so /usr/lib/libncurses.so.5
    sudo ln -s /usr/lib32/libncursesw.so /usr/lib32/libncurses.so.5
    
    # link libncurses to libtinfo
    sudo ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5
    sudo ln -s /usr/lib32/libncurses.so.5 /usr/lib32/libtinfo.so.5

Integration with Android Studio

Checkout this link

  • rm -rf ~/.android/sbt/exploded-aars/*
  • In Project Settings -> Modules -> shadowsocksr-v2ray-trojan-android, change Structure, Generated Sources to correct file path
  • In Run/Debug Configuration -> Before launch, replace Gradle-aware Make with android:run

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 load it.
  • Add export ANDROID_NDK_HOME=/usr/local/Cellar/android-ndk/$version to your .bashrc , then reopen the shell to load it.
  • echo "y" | android update sdk --filter tools,platform-tools,build-tools-23.0.2,android-23,extra-google-m2repository --no-ui -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 .
  • Invoke the building like this
    git submodule update --init

    # Build native binaries
    ./build.sh

    # Build the apk
    sbt clean android:package-release

OPEN SOURCE LICENSES

LICENSE

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

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.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

shadowsocksr-v2ray-trojan-android's People

Contributors

akkariiin avatar anyofyou avatar ayanamist avatar captain-miao avatar clowwindy avatar czbix avatar esdeathlove avatar glzjin avatar haobug avatar hexhu avatar huihuimoe avatar jllk avatar jlund avatar kaneawk avatar madeye avatar milkice233 avatar mygod avatar prihlop avatar shuangzhijinghua avatar sunsysjp avatar tai7sy avatar umud66 avatar vmlinz avatar winer632 avatar wongsyrone avatar wyzegob avatar xxf098 avatar yyxida avatar zhaofengli avatar zhongl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shadowsocksr-v2ray-trojan-android's Issues

#Featurerequest

换个包名。
eg:in.zhaoj.shadowsocksrray
或者,com.xxf098.shadowsocksrray
目的:跟原版的ssrr能够共存。

开发者你好! 飞机更新订阅后节点排序混乱的bug和建议

Android版本9.0 软件版本3.7.0
墙每天在变化 机场的节点也频繁更新 所以梯子使用时常常会更新订阅
一般机场的节点 都是排序好的 要么是按等级排序 要么是按区域排序 更新订阅下来同类型节点聚合在一起 一目了然
软件bug: 更新订阅后 新加的节点排序在最下面 手动拖动排序无效 返回后再进节点管理页面 那个节点又自动回去最下面了
建议: 更新订阅后 重建节点列表 而不是在当前列表尾部 "追加" ! 这是ssr的遗留问题 用过N个版本都是这样 实在受不了 真的很难受! 举个例子就像v2rayng 一样 更新订阅 全部节点重置 排序整整齐齐!
求您改改吧 这问题不是强迫症都要命 ! 真的影响使用 实在没办法 每次更新都是直接删除订阅连节点一起删除 然后再重新订阅 ...

服务开启后延迟启动

服务开启后,立即打开gmail.com会有小几秒速度慢。使用v2rayNG也是,但是使用Clash就会秒开。

无线网络和移动网络

感谢辛苦付出,移动网络切换到无线网络的时候,v2节点不能翻墙,需要更换节点或重新开关一次软件,无线网切换到移动网络没有发现这个问题。

v2ray订阅格式

请问这软件v2ray订阅链接支持的格式和哪些软件等效,我试了v2rayng和clash的并不支持。

不显示流量监控

感谢作者的劳动成果。
如题,手机下拉不显示流量速度等信息。原版SSRR可以显示的。
手机权限什么都开了。

反馈

建议作者将程序颜色和图标颜色换成蓝色,不要和SSR一样,然后请完善一下程序的稳定性,如果能加上节点组的功能就再好不过了,谢谢

使用v2ray节点的问题

使用起来,总是过一段时间就断流,需要断开链接重新连接,然后就是在v2rayNG上面能用的节点,在ssrray里面ping不通,使用起来也总是断流。

是否可以增加自动订阅按钮

这个软件特别好,不用弄几个软件来回切换,一个全搞定。
是否可以增加自动订阅按钮,可以选择手动更新订阅;
也可以选择自动订阅,每次打开软件自动更新订阅。
谢谢大神!

混淆参数加上端口无网络问题

强大的作者你好
不知道您是否使用停机保号卡用绿色充值来免流
这个绿色充值通道的网址为lt.hn.189.cn:1082

当远程端口为80或者443,那么Host设置为lt.hn.189.cn:1082即可上网。(这项配置原版的ssr和v2ray客户端连接上网没问题的,但ssrray软件按照这样配置就会没网)

如果是服务器远程端口是1082,那么Host设置为lt.hn.189.cn即可上网。(这个ssrray是没问题的)

建议增加指定程序全局代理功能

开发者你好,这个软件非常好用,首先感谢你的付出。目前使用下来影响体验的可能就是无法更改订阅组名称这类细节的小问题。
但是我有一个建议:现在可以通过使用分应用代理功能能够使指定程序不走代理,能否添加一项类似的功能,就是在分流规则生效前指定某些应用走全局代理?之前是在某冲浪板代理软件中看到支持这样的规则:

PROCESS-NAME,com.android.vending,Proxy

分应用代理功能好像是基于android的vpn功能?那是否也能实现类似的功能呢?
支持这样的功能有几点好处:给分流规则的编写和维护带来方便,降低分流规则设置难度。打开youtube、spotify、Telegram这类的软件必须要代理,就指定他们经过的流量全局经过代理。或者某些app能够直连但是速度欠佳,就可以使用该功能进行加速,避免频繁更改基于gfwlist的分流规则。
某些软件可能根据请求的ip区域显示不同的内容,使用国内ip浏览和使用国外ip浏览是不一样的,往常的做法是更改代理软件路由为全局,不使用这个软件时再改为分流,如果支持此功能就能避免这样繁琐的步骤。
这只是我一点建议,希望软件越来越好!

你好,反应个问题!

我是用v2rayng 和ssrray分别通过同一个自建节点翻墙,v2rayng使用一切使用正常,ssrray链接时,唯独google play打开时显示服务器检索出错,无法正常使用,其余包括youtube,浏览器等均正常使用!不知什么问题望大神指导……

ping小建议...

如果ping失败,列表不会显示0ms或者-1ms。希望优化一下这个...不然全局ping的时候你不看鬼知道服务器炸了没...

无法仅代理国外网站?

3.7.0路由里面选择绕过局域网和大陆,多半网站依然走代理,但是ip.cn显示是国内地址不是代理地址,很奇怪的现象🤔

配置添加无效

1.扫描v2ary二维码配置无效!
2.添加配置链接也无效!
3.只能把所有的完整配置json添加才可以成功!
不知道是我这边的原因还是什么原因?

分应用代理问题

分应用代理只支持绕行模式,如果正常模式,代理显示连接服务器失败,无数据

新功能建议

能否增加一个,不使用vpn,仅仅开启服务作为代理使用的功能或者开关。主要原因是安卓只能有一个vpn,所以使用adguard的时候无法同时使用ssrray。

貌似手工添加的时候v2ray的特性字段没显示,另外排序不能保存

问题1:手工添加节点的时候,不能区分v2ray还是ssr,所以目前v2ray只能通过粘贴导入方式,如果我没理解错误的话

问题2:利用粘贴进来的v2ray,也看不了详细,例如AlterID,所以也不能单独修改,还是只能粘贴导入

问题3:排序不能保存,下次打开又变回去了,例如我把一个节点拖到分组的最上面,下次打开又回去了

问题4:这个比较解决估计蛮烦,就是手工添加新节点,输一半,不想输了,这时候不管节点是不是完整,点一下,就是立马以这个节点链接,之前的链接就断了。

需求1:可以滑动分组,直接删除整个分组及里面的节点不,

多谢,现在很方便,不用切换不同的工具了。

在小米10 pro上运行经常发生断流问题

确认本机WiFi没有断流,当把程序放在后台运行之后,过一段时间app就断流了,连不上任何节点。先是检查手机网络,能够正常上网;然后同样WiFi下,换用电脑用小飞机连接同样的节点,可以正常科学上网。
所以不清楚是否是app在米10 pro上面有兼容性问题,导致断流。

能否把首页界面改成 v2rayng 那种格式

1.首页默认为配置页,我看了您做的 这个 订阅分组 (就是配置文件那个页面),很棒,如果默认首页展示这个界面就好了
2.配置文件页 右上角 第一个为全部测速按钮,第二个貌似无用,可以移除的,建议右侧所有按钮都放到 那个 ... 里面,把 ... 改名为操作,或者类似的ICON。底部右侧那个加号里的菜单也都可以加到 右上角 菜单里,移除那个NFC功能

只是一些产品上的建议

几个建议

1.可以编辑v2ray群组名
2.可以编辑v2ray设置,比如端口,加密方式,传输协议
3.可以安装hosts.txt文件

建议V2ray分组优化一下...

在订阅地址填写上希望能和原版一样加个备注(即群组名)不然群组名是域名很难受啊(虽然不会覆盖).....

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.