话说Amazon的Kindle DXG不具备wifi功能.但是具备3G无线上网功能.
据官方文档说明.3g在美国本土是免费的.其他国家有部分地区可以搜到3g(是亚马逊和当地运营商合作的).
能收到的地方,简单的上上网也是免费的(干什么不免费,请看官方文档).
免费的网络当然是好东西,不限流量,不限时长,有效期什么的也不用考虑.唯一不好的就是kindle dxg的内置浏览器太傻X.(另外,这个网络是绕过GFW的,你懂的)
目的:
我们现在要把kindle当作一个免费的3g无线网卡,通过usb接到电脑上,然后电脑就能上网了.
解决方案:
将浏览器的请求包全部转发到本地的某个端口(比如说2012).
通过ssh的端口转发功能将本地的2012端口收到的数据以kindle为桥梁转发到amazon_proxy_host.
由amazon_proxy_host对数据进行出来,并请求网络资源,然后将资源,反向返回到本机的浏览器.
上网成功.
一些解释:
1.为什么要转发到amazon_proxy_host?
答:亚马逊规定所有请求数据必须通过这个代理,方便其管理监视.
2.如何获取amazon_proxy_host的地址?
答:当你使用kindle上网的时候kindle的系统中会出现一个网络接口ppp0,通过监听查看,流过该接口的数据可以得到代理服务器的ip.
3.另外由于amazon的代理服务器需要验证身份,在发送给代理服务器的http请求header里面需要加上x-fsn和x-fn-appid头才能通过验证。 所以监听数据的时候,还要获取这两个.
具体操作:
1.kindle dxg越狱,越狱工具在这个帖子里,这是全球的kindle技术最高的一个帖子了.
要装jailbreak
要装usbnetwork
可参考这个帖子和这个帖子
2.kindle上面开启debug和启动usbnetwork的方法
在search中输入 ;debugon 开启debug模式,查看是否开启成功请输入 `help ,会弹出帮助窗口.
开启debug后输入 `usbnetwork 按确定.
3.将kindle通过usb线连接到电脑上,linux下用ifconfig会看到多了一个usb0
通过将usb0的ip地址设置为静态的192.168.2.1就能与kindle 建立网络连接了(kindle默认ip是192.168.2.2).
4.网络连接成功后就可以(telnet 或ssh)到192.168.2.2也就是kindle了,注意ssh需要等待很长时间,原因未知.
现在开始使用ssh建立kindle和电脑之间,以及代理服务器之间的连接了.
两种方式:
A. ssh到kindle上面,输入 ssh -R 2012:72.21.206.113:80 root@192.168.2.1 ,然后输入密码,然后不要退出保持连接就行了.
B. 在电脑上面输入 ssh -L 2012:72.21.206.113:80 192.168.2.2
此处的72.21.206.113就是上面提到的amazon的代理服务器,需要通过一个叫做tcpdump-arm的软件监测ppp0得到,具体操作看前面推荐的帖子.
5.火狐浏览器,设置代理,使用的是http代理(目前只能使用http,https还不能用)指向127.0.0.1,端口2012.
6.完毕.
更新(2012.1.22):
为火狐浏览器增加一个用来上wap网站的名为wmlbrowser的插件,效果更佳。
转载于:https://www.cnblogs.com/ituff/archive/2012/07/07/2858532.html
相关资源:数据结构—成绩单生成器