手机版开发遇到问题

337 views
Skip to first unread message

Michael(Maintainer)

unread,
Jul 8, 2015, 7:50:42 AM7/8/15
to xx-...@googlegroups.com
Android版xx-net上核心逻辑已经能通了,细节还没有开始。

发现很大问题:
1. Android很多无法设置系统级的代理
2. 如果没有root,很多手机无法导入证书
3. 很多app是无法通过GAE代理
  特别是Facebook, Twitter这两个巨头

原来fqrouter完全没有实现goagent https的代理模式,就是这个原因。
正在考虑实现一个翻墙浏览器,内置xx-net代理,使用起来就是一个浏览器。
至于app能不能代理,只能看运气。
大家说说想法。
  
手上有一套vpn的方案,不过需要买vps服务器,也许那才适合手机用。
Message has been deleted

林华

unread,
Jul 8, 2015, 9:56:16 PM7/8/15
to xx-...@googlegroups.com
我的理解中有两种方法
1、需root,使用redsocks和iptables,但是redsocks还不支持FQDN:port,只支持ip:port,需要自己解决DNS污染的问题。
2、用vpn,需要实现vpn到https协议的转换

不知道APN代理是怎么回事,cmwap和cmnet是怎么回事

Net XX

unread,
Jul 8, 2015, 10:29:16 PM7/8/15
to 林华, xx-net
看过fqrouter的源码,里面是有redsocks+iptables的实现,但并没有使用goagent 去转发https的加密请求。
怀疑就是遇到证书问题。

导入证书到系统中,但是担心很多app会不支持。

我计划先在GAEproxy的基础上开发一个版本,看反馈再说。

--
您收到此邮件是因为您订阅了Google网上论坛上的“XX-Net”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到xx-net+un...@googlegroups.com
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/xx-net/b4357bc0-1866-40cd-8c1b-5b367feb4ccc%40googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout

9mail...@gmail.com

unread,
Jul 9, 2015, 4:47:35 AM7/9/15
to xx-...@googlegroups.com, 5lin...@gmail.com

其实我觉得,只要实现了ROOT模式和VPN两种模式就可以了吧?具体的不太明白,之前fqrouter没死的时候,用着还是很爽的。
至于说浏览器的话,我现在手机中装有一款浏览器,名称叫做“自由浏览”,其实,我个人翻墙的主要目的就是为了访问Google的产品,比如,google play,数据备份之类的东西,浏览器无法满足啊。

9mail...@gmail.com

unread,
Jul 9, 2015, 4:50:38 AM7/9/15
to xx-...@googlegroups.com

买VPS服务器的话,流量也是一个问题啊。如果使用的人多的话,是需要购买服务吗?

天知道

unread,
Jul 9, 2015, 4:54:26 AM7/9/15
to xx-...@googlegroups.com
可以看看fqrouter2


在 2015年7月8日星期三 UTC+8下午7:50:42,Michael(Maintainer)写道:

jaY. Lu

unread,
Jul 9, 2015, 9:24:13 AM7/9/15
to xx-...@googlegroups.com
其实我也是翻墙主要是想用用GOOGLE  的APP, youtube 之类的.~ 如果ROOT了可以解决问题, 也可以接受....最好就不用ROOT. 
非常感激开发手机版~ 支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持





在 2015年7月8日星期三 UTC+8下午7:50:42,Michael(Maintainer)写道:

Pan Menghan

unread,
Jul 9, 2015, 9:38:06 AM7/9/15
to xx-...@googlegroups.com
能这样吗? 开发一个vpn服务端的app, 让后设置手机连接到自己的vpn服务端, 这样就可以全局代理了(不需要root)

同时vpn的服务端的app实现gae代理功能和直接转发功能.

Pan Menghan

unread,
Jul 9, 2015, 10:54:43 AM7/9/15
to xx-...@googlegroups.com
刚刚又google了下, 补充一下, 下面两个防火墙软件就是用了vpn来过滤转发ip包, 不过只适用于android:

Mobiwol,  Noroot Firewall

Message has been deleted

Net XX

unread,
Jul 9, 2015, 9:34:10 PM7/9/15
to ozro...@gmail.com, xx-net
> 其实我觉得,只要实现了ROOT模式和VPN两种模式就可以了吧?具体的不太明白,之前fqrouter没死的时候,用着还是很爽的。
> 至于说浏览器的话,我现在手机中装有一款浏览器,名称叫做“自由浏览”,其实,我个人翻墙的主要目的就是为了访问Google的产品,比如,google play,数据备份之类的东西,浏览器无法满足啊。
  fqrouter的源码有研究过,里面的https部分请求是通过shadowsocks进行转发的。
  因为shadowsocks 的服务器有限,很容易被封锁。
  而且现在的趋势,越来越多的网站都是采用https来传输的。

GAE类的代理,都是需要替换证书,而Android上的证书问题,似乎没那么好解决。
    以及有些app采用的请求类型,GAE不支持,比如OPTIONS 指令
    GAEproxy 项目中提到Twitter对GAE有限制,推荐用非官方的客户或者网页访问。

> 买VPS服务器的话,流量也是一个问题啊。如果使用的人多的话,是需要购买服务吗?

fqrouter就是自己找的shadowsock服务器,有些是捐赠的,但这些都是要花钱的。
不像Google财大气粗,GAE随便用。

@Pan Menghan
  有自己的服务器的,目前没有好用的vpn软件吗?
  据说cisco的 anyconnect还没有被屏蔽

  只在没有现成解决方案的情况下,才去开发。
  不重复发明轮子。


  有了vpn,就没有必要再去用gae了。

  在android下建立虚拟vpn,来过滤ip包,并不难,fqrouter内部就是这么做的。
  问题在于如果使用GAE,https证书是被替换过的,需要解决证书问题。

@ozrozrozr
 翻墙路由2 作者已经放弃维护了。
 大家都好用吗?我这边速度无法接受,太慢了,基本无法忍受。
 如果大家觉得fqrouter2足够了,当然没有必要去开发一个新的了。
  


在 2015年7月10日 上午9:12, <ozro...@gmail.com>写道:
在 2015年7月8日星期三 UTC+8下午7:50:42,Michael(Maintainer)写道:
直接用翻墙路由器2就好了,自己瞎开发干嘛

--
您收到此邮件是因为您订阅了 Google 网上论坛的“XX-Net”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到xx-net+un...@googlegroups.com
要在网络上查看此讨论,请访问 https://groups.google.com/d/msgid/xx-net/01545f18-f34c-4de2-922b-5bca5d3f6013%40googlegroups.com
要查看更多选项,请访问 https://groups.google.com/d/optout

Pan Menghan

unread,
Jul 10, 2015, 1:21:28 AM7/10/15
to xx-...@googlegroups.com, ozro...@gmail.com
 >  问题在于如果使用GAE,https证书是被替换过的,需要解决证书问题。

Android 4.0 以上不是能支持手动证书导入吗?(不需要root), 而且Android 4.0出来2年了, 大部分手机应该都不是问题啊

比如说mitmproxy的文档:


>  以及有些app采用的请求类型,GAE不支持,比如OPTIONS 指令
>  GAEproxy 项目中提到Twitter对GAE有限制,推荐用非官方的客户或者网页访问。 

使用的OPTIONS网站(比如Facebook, Twitter), 可以用采取直连的方式连接, 这些大网站有很多未被封的可用ip, 方法跟找gws的ip类似.
ip的范围可以通过网上查得到, 比如facebook的: http://www.tcpiputils.com/search?q=facebook
ip获取方式(我自己试过能行), 就是建立https连接后导出服务端证书的SAN(使用着备用名称)里面全部的域名, 这里就可以建立域名到ip映射了, 类似于DNS记录, 不过是通过https证书生成的

Net XX

unread,
Jul 10, 2015, 3:57:14 AM7/10/15
to Pan Menghan, xx-net, 陈本一
1. Android 4.0 原版系统是可以可以导入证书,但是试过几个手机,导入成功了,但是浏览器不认系统证书,
  这个情况类似firefox 是不认系统的证书一样,自带了证书系统,而且没有导入机制。
  请帮忙测试,测试方法是PC运行代理,把代理的绑定ip改为0.0.0.0,这样远程可以范围。
     修改方法:
       创建文件: /data/goagent/manual.ini,放入下面的内容
        [listen]
         ip = 0.0.0.0

     看pc机的ip地址,在手机上设置代理为PC 的ip:8087
     从手机上访问网络,是否成功,同时看xx-net的日志有没有请求成功。
    
2.  > 使用的OPTIONS网站(比如Facebook, Twitter), 可以用采取直连的方式连接, 这些大网站有很多未被封的可用ip, 方法跟找gws的ip类似.
    这个策略是可行的,但是需要一个通用的方法,针对性的方法,投入产出比不高
    而且只能作为补充,不能提供可靠的连接。

3.  > 建立https连接后导出服务端证书的SAN(使用着备用名称)里面全部的域名, 这里就可以建立域名到ip映射了, 类似于DNS记录, 
   这个实现在fqrouter里有实现过,可以参考。


谢谢这么多不错的建议,我先把fqrouter在linux下搭建起来看看效果再说。


--
您收到此邮件是因为您订阅了Google网上论坛上的“XX-Net”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到xx-net+un...@googlegroups.com
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/xx-net/971551bc-4977-4588-b87f-0278d6b73629%40googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout

Pan Menghan

unread,
Jul 10, 2015, 5:01:31 AM7/10/15
to xx-...@googlegroups.com, ozro...@gmail.com, nirva...@gmail.com
魅族, android版本4.4.4, 证书导入后, 然后设置wifi的代理, 系统只带浏览器可上youtube, 下了个Chrome也可以youtube, Facebook的App可以(log里有facebook的连接, 不过我没有账号就没试登录), Twitter的App不行(log没twitter的连接)
三星, android版本4.3,  系统只带浏览器可以youtube, 其他没试

Net XX

unread,
Jul 10, 2015, 5:44:28 AM7/10/15
to Pan Menghan, xx-net, 陈本一
研究进展:
+ 小米系统,Android 4.4.2
  设置远程访问PC的XX-Net goagent代理
  http可以正常访问
  github限制了https,遇到以下问题:
  Opera, Chrome,提示证书有效时间太长了,看了动态生成的网站证书,是10年有效期,网上有提到周期太长的证书无效这个问题。
  这个证书在PC上的Chrome没有问题。
  修改代码改为1年有效,删除证书目录 data/goagent/certs,重新运行,可以访问了。
  说明手机的浏览器对证书有要求,不能太长有效周期,10年不接受,1年的ok。

+ 修改了证书,firefox依然不行
  上网搜索,发现firefox确实使用自己的证书库,而不是系统的:

  网上找到一个导入工具,但已经太久没有更新,不支持新版的firefox了



--
您收到此邮件是因为您订阅了Google网上论坛上的“XX-Net”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到xx-net+un...@googlegroups.com

Pan Menghan

unread,
Jul 10, 2015, 7:12:37 AM7/10/15
to xx-...@googlegroups.com, nirva...@gmail.com, ozro...@gmail.com

http://security.stackexchange.com/questions/85590/tls-39-month-certificate-limit-and-chromes-neterr-cert-validity-too-long-erro

Late last year the CA/Browser Forum decided to limit the maximum valid term of TLS/SSL certificates issued after 1 April 2015. After this time, as the official guidelines put it..

CAs SHALL NOT issue certificates with validity periods longer than 39 months.


上面说的2015-4-1后的证书不能超过39个月, 不过我没有遇到这个问题(我生成的CA证书是20年的, 生成的网站证书是10年的)

不过如果情况真是这么多样化, 那可行的办法只有开发一个自带翻墙功能的浏览器的app了.

Net XX

unread,
Jul 12, 2015, 11:20:28 PM7/12/15
to Pan Menghan, xx-net, 陈本一
Facebook 之前已经登录的,无法正常访问
  看返回的内容,只这样的
   今天分析传输的内容,原来Android版facebook客户端,访问http时,采用了chunk编码,即header中没有长度,然后分块上传数据。
   刚刚搞定了这种协议 :-)

Google Play 
  看xx-net的日志正常,但是经常会提示访问失败,点刷新就好。
  这点还能容忍,点一次就ok了,具体研究再研究

证书的问题,改成生成1年有效的证书就好了,以后每年再续就好了,不过需要加上检查过期逻辑。



  

Net XX

unread,
Jul 13, 2015, 5:02:40 AM7/13/15
to Pan Menghan, xx-net, 陈本一
Google Play 
  看内容可以,但是下载app/更新app都不行
  点击下载,xx-net 没有收到请求
  网上有文章讨论说,google play 是不走http的,如果真的这样,那么影响很大,必须找别的市场才行了

Net XX

unread,
Jul 13, 2015, 9:14:03 AM7/13/15
to Pan Menghan, xx-net, 陈本一
新进展:

Pinsterest 
  可以访问,但经常弹出告警
  日志中显示 403 Forbidden
  '{ "status": "failure", "code": 8, "data": null, 
  "message": "Uh oh! We\\'ve found a bot. It looks like there\\'s a bot running on your network. 
   Send us a message from our help center and we\\'ll help you get going again." }'
  体验很差,无法忍受
  在PC端, Pinterest 也拒绝GAE的代理服务

Vine 效果很好

Instagram
  不向代理发请求

Twitter
  不向代理发请求


LinkedIn 
  500 估计是相同的原因,要抓包分析。
  服务端的bug?
  如何分析?
  本身能够上网, vpn
  做一个简单的https服务,把请求直连给目标的host?不必了,把请求解析出来就好了。
  搞定,需要升级服务端。

Po-hsin Men

unread,
Jul 13, 2015, 10:29:34 PM7/13/15
to xx-...@googlegroups.com, ozro...@gmail.com, nirva...@gmail.com
看来Google Play不行啊。我想问一个问题,Google的备份能行吗?比如说同步联系人,备份照片,备份Keep,各种备份

Net XX

unread,
Jul 14, 2015, 1:33:33 AM7/14/15
to Po-hsin Men, xx-net, 陈本一, Pan Menghan

> ​看来Google Play不行啊。我想问一个问题,Google的备份能行吗?比如说同步联系人,备份照片,备份Keep,各种备份
 
刚才试过,google +的图片备份、系统的联系人备份,各种备份是可以的
Reply all
Reply to author
Forward
0 new messages