zlyBear / BearFree

iOS NetworkExtension ShadowSocket for iOS developer (swift 5) 支持系统小组件开关SS
305 stars 86 forks source link

VPN 连接了一下,没一会儿就断开了是什么情况啊? #11

Open nikkau opened 4 years ago

nikkau commented 4 years ago

Xcode 里面的日志有这个报错

2020-02-25 13:56:54.374059+0800 BearFree[2710:941921] invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. This message will only appear once per execution.

PacketTunnelProvider 这个类好像没有执行,有人遇到过这个问题么?

madonya commented 4 years ago

我也遇到这个问题了,你解决了没有

madonya commented 4 years ago

@nikkau 你这个问题是应为用了UISwitch的原因,PacketTunnelProvider 这个类是执行的,但是断电不会走,得使用Debug->Attach To Process这个模式去调试。我现在是vpn连上了,第一次可以,再刷新网络就断掉了,然后vpn就crash了,你是不是这个情况,是的话咱们可以交流一下。

nikkau commented 4 years ago

@madonya 没解决,我有空试下你说的这个 UISwitch 的问题的这个。。。

madonya commented 4 years ago

@nikkau 我这边已经有初步的判断了,ruleManager里边配置的countryRule与DomainList里的domain冲突了,我把两个rule注掉就好了,暂时能这么解决

    let chinaRule = CountryRule(countryCode: "CN", match: true, adapterFactory: directAdapterFactory)
    let unKnowLoc = CountryRule(countryCode: "--", match: true, adapterFactory: directAdapterFactory)
    let dnsFailRule = DNSFailRule(adapterFactory: ssAdapterFactory)

    let allRule = AllRule(adapterFactory: ssAdapterFactory)
//                    UserRules.append(contentsOf: [chinaRule,unKnowLoc,dnsFailRule,allRule])
    UserRules.append(contentsOf: [dnsFailRule,allRule])
nikkau commented 4 years ago

我把规则里面的内容都删除了也不好使,看来应该就是代码的问题了

nikkau commented 4 years ago

@madonya

我这边已经有初步的判断了,ruleManager里边配置的countryRule与DomainList里的domain冲突了,我把两个rule注掉就好了,暂时能这么解决

你是怎么找到的冲突啊,我看 log 里面啥也看不出来。。。

madonya commented 4 years ago

@madonya

我这边已经有初步的判断了,ruleManager里边配置的countryRule与DomainList里的domain冲突了,我把两个rule注掉就好了,暂时能这么解决

你是怎么找到的冲突啊,我看 log 里面啥也看不出来。。。

我感觉还是没太理解,再研究研究。。

madonya commented 4 years ago

现在还不太清楚这个countryRule、DNSFailRule还有AllRule这几个值跟上边手动解析出来的DomainListRule、IPRangeListRule有什么关系,为什么CountryRule之类的不用config file支持

ghost commented 4 years ago

老哥们,有研究明白么

madonya commented 4 years ago

老哥们,有研究明白么

基本明白了吧,你现在有什么问题

ghost commented 4 years ago

很多😂,首先我最关心的是如何支持ssr

JackLSH2016 commented 4 years ago

我这个demo在手机上跑起来了,配置了代理的ip 端口等信息,翻墙上google上不了,我这个翻墙软件是正常的,在我mac电脑上是可以正常访问google的,而且我手机去上网好像vpn就会断开了

老哥们,有研究明白么

基本明白了吧,你现在有什么问题

JackLSH2016 commented 4 years ago

我将APP的VPN功能打开,然后切换到网页去搜索,调试的时候发生了崩溃 1584497847480

madonya commented 4 years ago

不要使用geoip,这里应该是缺少了GeoLite2-Country.mmdb文件

madonya commented 4 years ago

把Country那几行给注掉,或者找个地方添加GeoLite2-Country.mmdb,这个库在转发TCP的时候会崩溃,我已经不用了

JackLSH2016 commented 4 years ago

要怎么修改,这个是这个demo下载就带的

JackLSH2016 commented 4 years ago

现在有更好用的吗?能不能推荐一个 929594162这是我QQ,私聊下

ghost commented 4 years ago

@madonya 组个群交流交流?

ghost commented 4 years ago

分享一下这issue我的解决方案: 报错是因为缺少GeoLite2-Country.mmdb数据库文件,需要自行到maxmind官网下载,下载后把GeoLite2-Country.mmdb文件拖到项目,最重要一步是要自行初始化geo ip database: let path = Bundle.main.path(forResource: "GeoLite2-Country", ofType: "mmdb") GeoIP.database = MMDB(path!)! 如果有知道如何支持ssr的朋友,我有几个问题想请教请教🤣

ghost commented 4 years ago

或者知道如何支持vmess的朋友也行🤣

ghost commented 4 years ago

@madonya 组个群交流交流?

可以加我微信

oook

AJ-song commented 4 years ago

@madonya 组个群交流交流?

可以加我微信

oook

问题解决了吗?组了个群没

AJ-song commented 4 years ago

@nikkau 我这边已经有初步的判断了,ruleManager里边配置的countryRule与DomainList里的domain冲突了,我把两个rule注掉就好了,暂时能这么解决

    let chinaRule = CountryRule(countryCode: "CN", match: true, adapterFactory: directAdapterFactory)
    let unKnowLoc = CountryRule(countryCode: "--", match: true, adapterFactory: directAdapterFactory)
    let dnsFailRule = DNSFailRule(adapterFactory: ssAdapterFactory)

    let allRule = AllRule(adapterFactory: ssAdapterFactory)
//                    UserRules.append(contentsOf: [chinaRule,unKnowLoc,dnsFailRule,allRule])
    UserRules.append(contentsOf: [dnsFailRule,allRule])

这样设置后,还能脸上代理服务器吗

2856571872 commented 3 years ago

@madonya 组个群交流交流?

可以加我微信

oook

问题解决了吗?组了个群没

群呢?

yangyu2010 commented 3 years ago

大佬们 我现在连接不上VPN 有什么问题吗?

Woxiee commented 2 years ago

老哥们,有研究明白么

基本明白了吧,你现在有什么问题

可以加个好友交流吗? 我的QQ号 97643020

yangyu2010 commented 2 years ago

@Woxiee 好久了 都忘记了 你要实现什么功能?

Woxiee commented 2 years ago

UserRules.append(contentsOf: [dnsFailRule,allRule]) 这个屏蔽掉 VXN 图标确实是一直显示了

Woxiee commented 2 years ago

@Woxiee 好久了 都忘记了 你要实现什么功能?

我想连接成功自己的订阅链接,方便加QQ交流吗?97643020

shadow-boy commented 2 years ago

这个vpx 还能用吗 ?有大佬解决了吗、现在缺个客户端、准备上架个vpx应用来变现、其他问题都已解决,缺个ss 或者是ssr客户端 有兴趣一起合作的可以联系我(QQ):12050623585