Giter Site home page Giter Site logo

sagernet / sagernet Goto Github PK

View Code? Open in Web Editor NEW
5.6K 95.0 919.0 6.57 MB

The universal proxy toolchain for Android

Home Page: https://sagernet.org

License: Other

Kotlin 79.69% Java 18.77% Shell 1.37% AIDL 0.10% Batchfile 0.01% Python 0.07%
anti-censorship android

sagernet's Introduction

SagerNet for Android

API Releases License: GPL-3.0

The universal proxy toolchain for Android, written in Kotlin.


⚠️ The SagerNet app is looking for a new maintainer

Due to my physical condition, I may not be able to update SN / plugins in time.

I am looking for a new maintainer for the project. The new maintainer should have a track record of successfully maintaining an open-source project.

Potential maintainers can gain the required experience by contributing to this project. If you are interested, jump in and start contributing.

If you rely on the quality and ongoing maintenance of this package, please get involved by helping to maintain this package or finding people to help maintain the project.


Note for spammers: We never stop maintaining.


Documents

https://sagernet.org

Localization

Is SagerNet not in your language, or the translation is incorrect or incomplete? Get involved in the translations on our Weblate.

Translation status

Adding a new language

First and foremost, Android must already support the specific language and locale you want to add. We cannot work with languages that Android and the SDK do not support, the tools simply break down. Next, if you are considering adding a country-specific variant of a language (e.g. de-AT), first make sure that the main language is well maintained (e.g. de). Your contribution might be useful to more people if you contribute to the existing version of your language rather than the country-specific variant.

Anyone can create a new language via Weblate.

License

Copyright (C) 2021 by nekohasekai <[email protected]>

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/>.

sagernet's People

Contributors

129tyc avatar akinokaede avatar amd64v3 avatar arm64v8a avatar binarycraft007 avatar bolucat avatar cyberpuffer avatar ducksoft avatar dyhkwong avatar enfein avatar fei1yang avatar fhokud avatar ha-ku avatar jiuqi9997 avatar leohearts avatar linsui avatar mygod avatar nekohasekai avatar rprx avatar weblate avatar xjp-git avatar zedifen 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

sagernet's Issues

[Feature request] 可更换内置分流数据

Is your feature request related to a problem? Please describe.
想一直开程序,但是内置用于分流的数据比较少,流量容易走代理。

Describe the solution you'd like
希望可以更换 GeoIP 和 GeoSite 的数据,本地导入或者在线导入都可以。

若 SagerNet 不兼容 V2Ray 的 geo 数据格式,也希望可以自定义

Describe alternatives you've considered
在设置中只代理部分程序,但是这样去广告的效果就被折扣了

Additional context
image

0.1-beta8版本无法连接使用了ws传输协议的vmess节点

Describe the bug
0.1-beta8版本无法连接使用了ws传输协议的vmess节点,未使用ws传输协议的vmess节点可以正常连接

To Reproduce
Steps to reproduce the behavior:

  1. 导入一个使用ws传输协议的vmess节点
  2. 点击连接按钮
  3. 发现无法使用(vmess节点是正常的)
  4. 再导入一个使用tcp传输协议的vmess节点,连接,可以正常使用

Logcat

04-30 11:22:00.978 18995 19037 I GoLog   : [Warning] [4243460873] app/proxyman/outbound: failed to process outbound traffic > proxy/vmess/outbound: failed to find an available destination > common/retry: [transport/internet/websocket: failed to dial WebSocket > transport/internet/websocket: failed to dial to (ws://xxx.xx.xx:443/): 400 Bad Request > websocket: bad handshake] > common/retry: all retry attempts failed

Expected behavior
A clear and concise description of what you expected to happen.
使用ws传输协议的vmess节点可以被正常连接

Smartphone (please complete the following information):

  • OS: [Android9]

Additional context
Add any other context about the problem here.
0.1-beta7版本ws传输协议的vmess节点可以正常使用

代理,直连,阻止ip或者域名

Describe the solution you'd like
有些ip或者domain地址想拦截它

Describe alternatives you've considered
替代方案没有

Additional context
Add any other context or screenshots about the feature request here.

添加对SSH协议的支持

Is your feature request related to a problem? Please describe.
我访问的一个网站里面有关于SSH协议连接的计划,我用别的类似的软件都没有这个功能

Describe the solution you'd like
添加SSH协议的支持

Describe alternatives you've considered
暂无

Additional context
暂无

support "Geo assets files Option"

Support for importing Custom "geoip.dat" & "geosite.dat", Example: V2rayNG (Geo assets files Option)
& custom rules for bypassing or Direct List.

[Feature request] 增加隐藏后台和开机自启动

Is your feature request related to a problem? Please describe.
在使用时时不时会手残上划杀死进程(强迫症),网络直接就断掉了
以及,如果软件不在后台运行,点控制中心的按钮是无效的,必须得重新从桌面打开SagerNet,这样的话控制中心按钮也没什么用了

Describe the solution you'd like
在设置中添加常驻后台选项、隐藏后台选项,开启后可以在后台被关闭时自启动,或者点击控制中心按钮自启动

Describe alternatives you've considered
目前没有

Additional context
我知道的有Scene4实现了在主界面返回可以隐藏后台运行emmm

感谢开发!

Android 4.2.2

Hello, is there a way to install it on Android 4.2.2 ?

一些问题

1.先复制一个torjan的订阅地址 然后选择从剪贴板导入 没有识别成订阅地址
列表里点击修改图标后FC 出现空指针 username must not be null
没有正确识别 也没有校验

2.设置里的路由模式 选择 绕过局域网和大陆地址 并重新连接
在浏览器中使用百度查询ip 出现的ip是服务器的ip

3.logo 有点反人类

4.log里出现敏感信息 分享不方便 【ip port password etc】

5.开启vpn的时候 可以考虑可以修改设置 无操作延迟几秒后重新连接 或者加一个重启服务的按钮提示

6.扫描**应用 建议改成 分析**应用并勾选
以及分析时候的弹窗 随着显示的应用增多 不断被拉长 最后还直接消失了 这操作有点奇怪

7.分应用代理设置界面 关闭按钮对应打开按钮,那么 绕过按钮对应的放行按钮在哪? 第一次点了之后再点没反应

SagerNet-4509470032590749279.log

[Feature request] 允许隐藏默认组

Is your feature request related to a problem? Please describe.
由于个人基本使用订阅,不会手动导入节点,所以想删除默认组
但发现默认组无法隐藏或删除

Describe the solution you'd like
在默认组编辑名称界面增加隐藏按钮

Describe alternatives you've considered
暂无

Additional context
暂无

Unable to update some nodes in "Group"

Describe the bug
Since beta 18, I can't update some Subscriptions in "Group" they just refreshing non stop! but I had not this problem with older versions.
I've removed and added that nodes again but nothing changes.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Group
  2. Add this node:
    https://raw.githubusercontent.com/lord8203/text210221/main/baoliu20210226(207)%20-%202.txt
  3. Press Update.
  4. See refreshing nonstop with no differents

Logcat
Export it yourself :)

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
Screenshot_20210506-172016_SagerNet

Smartphone (please complete the following information):

  • Device: A50 Samsung
  • OS: Android 11
  • Version 0.1.21

Additional context
Add any other context about the problem here.

计划支持DOH吗?

我希望客户端能支持更改本地DNS,这样可以直接在手机端使用doh,我主要是用来屏蔽一些app上无法删除的广告的,希望可以支持

add features

Please change the display to be fresh and simple and add more internet speed

0.1-beta10问题

  1. vmess可以成功导入,但是连接的时候提示无法连接到服务器: security must not be null,前几个版本没有这个提示
  2. ssr节点偶尔能连上,偶尔连不上,使用ShadowsocksR没有该问题

0.1-beta9版本导入vmess链接错误

Describe the bug

从vmess链接导入的vmess节点原本传输层加密配置是tls,但导入sagernet后的配置传输层加密选项是none

To Reproduce

  1. 在sagernet中导入一个带有tls传输层加密选项的vmess节点
  2. 尝试连接该节点,发现无法连接
  3. 查看该节点配置,发现传输层加密处是none
  4. 将其改为tls,连接正常

Expected behavior

可以正常导入带有tls传输层加密选项的vmess节点链接

Screenshots

Screenshot_20210430-174538_SSRRAY_1_1

同一个vmess链接导入sagernet和另一个支持v2ray的客户端(ssrray)

Smartphone (please complete the following information):

  • OS: [Android9]

Additional context
Add any other context about the problem here.

#23 (comment)

上面这个链接描述的问题是由导入vmess链接错误导致的,手动修改传输层加密选项为tls即可正常使用

VLESS+grpc配置不正确

Bug:
在0.1-beta8上使用VLESS+grpc配置时,不能正确建立连接,导出配置时报错io.nekohasekai.sagernet.fmt.v2ray.VLESSBean cannot be cast to io.nekohasekai.sagernet.fmt.v2r...。重置应用数据后仍然有此问题。

Log:
查看导出的log发现,尽管GUI里已经填写了grpc服务名称,但log里显示config为"grpcSettings":{"serviceName":""},应该就是问题所在。

vless+xtls在Header Type为NONE时启动失败"Unknown plugin xtls-plugin"

Describe the bug
如题 推测和#63是同一问题

To Reproduce
Steps to reproduce the behavior:
不论是手动配置vless 或从v2rayNG导入可成功连接使用的xtls配置,
按上述操作启动连接即可复现

Logcat
Export it yourself :)

Expected behavior
能成功启动并连接成功

Screenshots

Smartphone (please complete the following information):

  • Device: Pixel 4
  • OS: Android 11
  • Version 0.1-rc09

Additional context
Add any other context about the problem here.

[Feature request] Add Tasker plugin support

Tasker is a convenient app for automation. Several V2Ray/XRay apps have support of Tasker plugin for connecting and disconnecting to server.

Could you add support of Tasker plugin?

Trojan 连接后没有Internet

使用域名和ip地址都是连接后没有网络,用其他igniter可以连接,不是服务器问题,ssr的订阅可以连接,速度挺快,不知道是不是trojan支持的问题,盼望解决

建议本地dns的udp dns走直连

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
如果代理的线路不稳定,导致国内的dns解析很慢。
Describe the solution you'd like
A clear and concise description of what you want to happen.
本地dns的udp dns走直连
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
分应用,但是浏览器没法分应用
Additional context
Add any other context or screenshots about the feature request here.
2021-05-09_11-17-45

添加对v2ray ws tls订阅的支持

该软件beta13版本中,获取机场关于 v2ray ws tls订阅时,会默认将 传输协议层 设置为 none ,从而缺少 tls和sni指示 的信息。

vless+xtls 协议 纯ipv6+nat64 vps 连接后无法上网,测试显示connect closed

Describe the bug
vless+xtls 协议 纯ipv6+nat64 vps 连接后无法上网,测试显示connect closed
在win10上使用qv2ray内核为xray1.4.2正常使用,手机为扫码导入

To Reproduce
主界面右上角添加-扫描二维码-点击添加的链接-左下角纸飞机启动-点击测试-connect closed-右边栏-路由-DNS设置-更改远程dns为“https://[2606:4700:4700::1111]/dns-query”-重新连接并测试-connect closed
(之后DNS设置只输入[2606:4700:4700::1111],2606:4700:4700::1111(无括号)同错误

Logcat
https://pastebin.com/raw/r7r7P2nq

Expected behavior
正常连接

Screenshots
photo_2021-05-01_14-49-56

Smartphone (please complete the following information):

  • Device: Unihertz Jelly2
  • OS: Android10

应用版本

  • Version: 0.1-beta13

HTTPS代理添加Padding(填充)選項

Naiveproxy電腦端自帶padding功能,iOS端shadowrocket的HTTPS代理也支持開啟padding,開啟padding可以緩解基於長度的流量分析,希望開發者考慮給HTTPS代理添加padding選項

添加热点分享功能

Is your feature request related to a problem? Please describe.
我想把一个代理通过热点的方式分享给其他设备,使其不用打开代理也可以访问网络

Describe the solution you'd like
添加热点分享功能

可能是DNS的错误。

05-09 00:37:17.011 31283 31491 I GoLog : [Error] app/dns: failed to retrieve response > Post "https://1.1.1.1/dns-query": io: read/write on closed pipe

Beta23,24,25覆盖安装Beta22后,原有的节点都能正常运行。但点击修改(只是个动作,不修改原配置)并保存后,报上面的错误。
配置是XTLS-VLESS协议。Trojan协议和XTLS-Trojan协议无此问题。

v2ray链接无法导入

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Logcat
Export it yourself :)

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Device: [e.g. MI6]
  • OS: [e.g. Android8.1]
  • Version [e.g. 5.15.0]

Additional context
Add any other context about the problem here.

Move to a better place!

Unfortunately, I have to say that you have put this program in a bad place! GitHub!
This app deserves places like: Codeberg, Gitea, GitLab (Instances), and wherever better…
GitHub boycotts users, removes apps, and actually says "Whatever I want is going to be saved and whatever I don't need Is going to be deleted." The app has not paid attention to users' requests for RTL support for years, and says this is not a priority!
Free software should be free somewhere, which GitHub does not have!
Aren't these enough to leave GitHub?

编译的时候出现这种问题 求解决方案?

No signature of method: build_dwpmq0xqf7xu6cu3cyp9012g3.android() is applicable for argument types: (build_dwpmq0xqf7xu6cu3cyp9012g3$_run_closure2) values: [build_dwpmq0xqf7xu6cu3cyp9012g3$_run_closure2@26bfc8a7]
Open File

startup crash on Nexus 5x (8.1.0)

Describe the bug
Startup crash, failure to launch.

To Reproduce
Just install and launch

Logcat

A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 19150 (asekai.sagernet), pid 19150 (asekai.sagernet)
A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
A/DEBUG: Revision: 'rev_1.0'
A/DEBUG: ABI: 'arm64'
A/DEBUG: pid: 19150, tid: 19150, name: asekai.sagernet  >>> io.nekohasekai.sagernet <<<
A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
A/DEBUG: Cause: null pointer dereference
A/DEBUG:     x0   0000007a7e660a40  x1   0000007fec8d8020  x2   0000000000000010  x3   0000000000000000
A/DEBUG:     x4   0000000000000000  x5   00000000ffffffff  x6   00000000ffffffff  x7   0000000000000000
A/DEBUG:     x8   0000000000000000  x9   0000000000000002  x10  0000000000000001  x11  0000000000000000
A/DEBUG:     x12  6ab9447f7e3b2e3e  x13  7f738c2b6a042c2d  x14  00000079f9916de4  x15  0000000000000000
A/DEBUG:     x16  00000079e32f5eb8  x17  0000007a7ae71adc  x18  0000000000000008  x19  0000000000001e96
A/DEBUG:     x20  00000079f9aa8200  x21  0000000000000000  x22  0000007fec8d833c  x23  00000079e372c82f
A/DEBUG:     x24  0000000000000004  x25  0000007a7e660a40  x26  00000079f9abeaa0  x27  0000000000000160
A/DEBUG:     x28  0000007a7b12d400  x29  0000007fec8d8050  x30  00000079e239ff58
A/DEBUG:     sp   0000007fec8d7f30  pc   00000079e239ff8c  pstate 0000000080000000
A/DEBUG: backtrace:
A/DEBUG:     #00 pc 00000000004ccf8c  /data/app/io.nekohasekai.sagernet-RO8TxgmD6CoGPRLZxszBRH==/lib/arm64/libgojni.so
A/DEBUG:     #01 pc 00000000004ccf54  /data/app/io.nekohasekai.sagernet-RO8TxgmD6CoGPRLZxszBRH==/lib/arm64/libgojni.so

Smartphone (please complete the following information):

  • Device: Nexus 5x
  • OS: Android 8.1.1
  • Version: 0.1-beta13

Additional context

  • root: Magisk 22.1

在分应用代理,选择**应用时闪退

Describe the bug
如题

To Reproduce
路由设置-分应用代理-在右上角选项中选择扫描**应用,在扫描途中闪退

Logcat
https://pastebin.com/raw/p9tcFikp

Expected behavior
没有闪退

Screenshots

Smartphone (please complete the following information):

  • Device: Unihertz Jelly2
  • OS: Android10

应用版本

  • Version: 0.1-beta13

Screenshots for F-Droid

You can add Screenshots for F-Droid, too, if you want.
https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/
https://gitlab.com/snippets/1895688
That was simply information about what is still possible. You would then only have to enter the screenshots in fastlane. This is just one way that you can also add screenshots to the app view if you can. If you added screenshots (then F-Droid is happy) and if you can't add any -> then you can close the issue because it was only an info. Thank you that your app is available in
fdroid. Very much for your attention.

it is only information.

unable to detect proxies from clash Subscription url

Describe the bug
i have issue with this url subscription (for clash) :
https://raw.githubusercontent.com/AzadNetCH/Clash/main/AzadNet.yml

after I enter that url in "Group" section, it shows http proxies in list (v0.1-beta9)
but in version 0.1-beta13, list of new group is Empty after I enter that url in "Group",even I press "update" button ! but I have no problem with "Clash for Android". for using that url subscription!

Logcat
Export it yourself :)

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots

Smartphone (please complete the following information):

  • Device: A71 4G Samsubg (SM-A715F/DS)
  • OS: Android 11
  • Version 0.1-beta13

Additional context
Add any other context about the problem here.

Unsupported "Import Custom Config"

I have a config (.json) contains "Trojan+CDN" that I use in V2rayNG, but SagerNet doesn't support "Import custom config". please resolve this issue

Logcat
Export it yourself :)

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Device: SM-A715F/DS
  • OS: Android 11
  • Version 0.1-beta14

Additional context
Add any other context about the problem here.

节点已连接的情况下无法正确的修改配置文件

Describe the bug
在一个节点已经连接的情况下,可以进入编辑页面编辑配置文件,也可以保存。但断开并重新连接节点后,配置文件会被还原。

To Reproduce
Steps to reproduce the behavior:

  1. 连接一个已有的节点
  2. 点击编辑按钮,编辑一个配置,点击保存
  3. 回到主界面,点击断开节点
  4. 再次点击编辑按钮,发现刚才的配置被还原了。

Expected behavior
无法在节点已经连接的情况下编辑配置文件,或者编辑保存后不会被还原。

Application Information

  • Version 0.1-beta17

ping and delay problems

No delay
We can not tell which server has better ping or which server is healthy

Please add delay or ping and ping sorting like v2rayNG or Clash software

thanks a lot for your application

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.