iOS 12 Public Release already Released?

iOS 12 Public Release already Released?

Apple just finished their “special event”, which contains basically two main parts: Apple Watch Series 4 and iPhone Xs/Xs Plus/Xr. However, for a car owner, the most concerned part for me is the release date of iOS 12 Public Release – which will feature the 3rd party navigation apps on CarPlay. I really love CarPlay,…

Read More Read More

从“香港西九龙”到12306协议

从“香港西九龙”到12306协议

经过了乱七八糟的问题,质疑和风浪之后,香港西九龙终于开通在即了。 先来个小笑话: 这票二维码是和票面信息完全不符……槽点满满。 XJA-IZQ:香港西九龙——广州南 二维码上购票人姓名和票面购票人姓名不同,车次G9994是要干什么么……更别说时间日期以及票号等等等等了……车厢,座位号和证件倒是对的。 当然,也许二维码上这个日期和时间是原预定开通时间,然后原预定开通为香港西九龙——广州南,并且车次为G9994次……(完全瞎猜。如有雷同,实属巧合。不接受跨省追捕。) 回到正题: 现在这几天车迷圈儿除了香港西九龙就是香港西九龙,感觉什么都见不到。某微博(实在想不起来名字了)的香港西九龙至各地的时刻表传的圈子内(当然我也可以假设圈子外也是)基本无人不知无人不晓。 有意思的是,现在12306官网还没有把香港西九龙站上表——而APP已经这么做了。 作为kelibiao.com的站长,每次有新站上客里表的时候都必须得看一眼数据。明显,香港西九龙还没有上表,但是总是可以一探究竟的。毕竟数据需要及时更新,才能够吸引到更多用户么(说得跟用户有多少一样)。 正好有人跟我讲到香港西九龙上了APP的站名表,并且听说电报码是-XJA;同时有个叫做“边界”的“车站”,电报码为-XBA,希望我能求证。于是,我便开始了折腾一天的求证之旅。   首先,第一个想法就是进行http嗅探。作为昔日piao.today的站长,12306前端怎么工作我还是比较了解的。APP和网站很类似——APP其实就是个h5配上app的壳做成的WebAPP而已。但是我也早在那时候就知道APP的通讯也是https的。这就导致了嗅探起来比较麻烦。 当然,麻烦不代表做不了。大概有以下几种方法: 找个树莓派弄成路由器然后中间层攻击(真的懒得再碰树莓派了) 反编译app(这不是扯淡呢么,最麻烦的方法——写在这儿凑数的。两条还搞个list真的不好看) 手机层面上想办法。 嗅探么,一直在安卓上用一款叫做wicap的软件。Google Play也推送了剩下三个他家的软件——其中有一个叫做Proxymon。一看,正是我想要的:它会在手机上安装一个根证书,然后手机上的网络全走这上面一圈儿(中间层了么这不就是),然后解压。 于是,我便开始了我的折腾之旅。 第一件事儿,打开手机。发现手机0%电。小米手机这点好:插上电源0%也能开机——不像苹果必须达到一个安全值后才可以开机。 之前root过的手机不知道怎么回事儿root还给关了。幸亏早就刷了自定义的Discovery系统,很快重新root了。 打开Wicap和Proxymon,下载了12306,查询香港西九龙至随便点了一站。这样的话,APP会提交一个http请求,并且在里面显示出发到站和请求的出发日期。 很快,通过Proxymon我就读到了我需要的数据: OK,from_station=XJA,看来香港西九龙的电报码是XJA无误了。 那既然这样了,我为什么不直接顺便把整个请求链抓下来呢?Proxymon是我第一次使用,之前没有购买过,而免费版只会记录256kb的数据。准备购买完整版,却在支付的时候被Google Play拦截了,死活无法支付——从信用卡到PayPal到礼品卡都无法支付。给Google打电话用了45分钟才把问题解决好——因为我需要重新验证我的身份(安全是安全,但是真耽误事儿啊)。 很快,我得到了一堆(解密过的)数据包。dump到电脑后,发现里面所有Content-Encoding: gzip的response无法被解压——原因不得而知。试用了直接将response体存为文件用gzip解压,失败;用python找zlib库解压,失败;甚至直接用之前的代码套了个http server(dump下来的是http请求体和返回体如同上图,所以该有的header等都有)直接返回到浏览器或者给curl解压,也失败。得到的城市数据库等都无法被成功解压成response里所说的text/plain或者application/json(说白了还是text)格式,都是一大堆二进制数据。套了http server之后让浏览器自动解gzip失败后它自动把二进制数据下载了下来,大小和chunked里面描述的大小完全一样;同理,对于request请求体,很多写了Content-Type: application/json的也是一片乱码。用TridNet来分析response返回来的二进制文件也无法分析出是gzip格式。估计是12306学聪明了,把请求加密了一些。具体怎么解密,估计就不是今天能解决得了的事儿了。 此路不通,总有留爷处么(什么鬼混搭)。决定从APP入手。毕竟12306只需要从网上get一次基础数据,以后都可以用了就——这说明,他们肯定是有持久化存储的。果不其然,在文件系统的data目录里找到了12306的数据库——看到扩展名为db,第一个想法就是“这八成是SQLite吧”……把文件传到了电脑上,读取了一下——果然是SQLite! 好了,那就搜索一下就好了么…… 有意思的是,香港西九龙在12306 APP上的拼音的确为HKWestKowloon。这要是真的输拼音进去然后找不到香港西九龙该多尴尬啊…… 这是谁才能想得到这个站的拼音叫做HKWestKowloon,然后拼音缩写还是xg…… 证明一下: 同时,对id的搜索并未找到有电报码为-XBA的车站,也无法找到名为“边界”的车站。说明“边界”站未上表(比如不办理客运业务等)。根据这位提问者的说法,有TRS数据事实证明该站存在(注:TRS为中国铁路的售票系统,就是你去车站买票的时候车站售票人员用的那个软件)。他推测的本站定性为:“广深港高速线深港段的分界站,划定内地和香港铁路资产范围”。但是无论如何,我个人还是认为眼见为实的。目前来说我没有看到该站直接事实存在的证据,而该车站存在的方式也不好说(真的是个“站”是不可能了,没准就是个什么标记啥的呢。参考海岫铁路的那一堆车站,一个没见到影。跟着高德地图去了一趟所谓的析(shi2)木站,真的是什么标记都没有,周边都是玉米地)。 无论如何,任务完成了。上面提到的无法gzip解压(也许是解密)的问题以后可以再说。 今天一整天都耗在这上面了,连午饭都没吃就到了晚饭的点儿了。抛砖引玉,希望各位能够对12306的底层协议和数据结构等发展出更深刻的了解吧。

浅谈NYU的VPN

浅谈NYU的VPN

此文为进阶讨论帖。若想要获得关于VPN的基础知识(比如什么是VPN和VPN的工作原理),请看这篇文章——科学上网入门&基本网络知识科普 好久没有写博客了——大学毕业了,Math/Computer Science B.S. + German Studies B.A. (Hons) 在四年的时间里竟然也读下来了。 下一步工作就是准备去NYU读研。在拿到了NYU的账户之后,肯定第一件事儿想到的就是邮箱和VPN。这也算是个人觉得作为在校学生最重要的两项在线福利了。 最主要是发现,NYU竟然有如此多的VPN节点!简直算是遍布了世界!而且最重要的一点是,无论你是哪个分校的学生,你可以用任何一个分校的VPN! 细数一下:纽约(本部),阿布扎比,布拉格,上海,柏林,悉尼,特拉维夫……简直是遍布了世界重要地区。 对于我来说,UCSD的VPN已经够我使用了,因为我可以用它在国内看Hulu这些版权受限的内容(我每个月50$的Hulu订阅只为了能够把所有的Simpsons收入囊中,感觉我自己也是够有病的……甚至不如直接买DVD了)。看到了NYU给柏林VPN,当然自然而然就会想到德国SAT2电视台的著名电视节目《屌丝女士(Knallerfrauen)》,算是个人无聊的时候用来解乏的一剂良药。 然后,成功连接上了NYU Berlin的VPN节点。上去了,一查自己的IP地址……为什么还在国内???什么鬼??? 测试了所有的NYU的VPN节点,我发现所有的节点(除了上海)以外,连接所有的NYU的VPN节点都会出现这样的情况——连接上了VPN,IP还是自己原本的IP。其实这个时候,心里就已经大概知道发生了什么了。 为了印证我的判断,我稍微看了一眼Cisco Anyconnect(UCSD/NYU两所学校的VPN都是这个软件来连接的)软件的数据,看到了有一些非常有意思的事情(下为柏林节点VPN)。 而对于上海的VPN就不是这么回事儿了—— 可以看到,上海的NYU VPN配置上写了:“Tunnel Mode (IPv4): Tunnel All Traffic”,意味着NYU的上海VPN配置为:将所有本机流量通过上海VPN走一圈。柏林那个,对于绝大多数IP都会选择不走VPN节点(Non-Secured Routes为0.0.0.0/0,也就是所有的IP地址),只有少部分IP段(也就是Secured Routes那些,相当于一个白名单)才会走VPN节点。 那问题来了,既然是上海VPN,我用国内的查ip网站(我一般习惯用ip138,很多年的习惯了已经是……)也告诉我我的IP地址是上海IP,那么为什么我能够上Google?随便Google上搜了一个IP Address查询工具,都是英文的(或者说大陆外的)。打开之后,告诉我我的IP地址是香港的! …… What? 我就这么精神分裂了?不对啊,我自己不是个精神分裂患者啊…… 冷静了一下,那说明NYU上海分校进行了一些非常不错的设置——国内上不了的会redirect流量走香港线路,国内上得了的走国内线路,两不耽误。NYU具体在路由层是怎么设置的我不得而知——我的猜测之一是在VPN服务器层根据要访问的IP地址来判断。若解析到要访问的IP地址在大陆境内,那么将会走国内的服务器然后连接到网站并将数据传回用户这里,反之亦然。这就保证了在国内的NYU学生可以用到快速的VPN了。 相反,如果我用了非上海的NYU VPN,那么可以从类似的界面上看到只有部分的IP段才会走VPN,Tunnel Mode也会是Split,也就是“分而治之”。对于要访问NYU网站的请求,会走NYU VPN服务器。若要访问的不是NYU网站等NYU Property的IP地址,那么就直接从用户自己这里走了。可惜了可惜了,UCSD就可以选择模式(组),不同的组有不同的转发策略——比如UCSD有EasyConnect/split/allthruucsd等多个组。allthruucsd组就会让用户端的所有流量经由UCSD走一圈然后发送到服务方那里,其它的组(比如EasyConnect或者Split)就会采用和NYU一样的分而治之的策略了。 回到刚才看剧的问题上吧。没错,看来我只能接着用UCSD的VPN来看Hulu了,幸亏UCSD的VPN在毕业之后仍然可以用。用NYU Berlin的节点来看《屌丝女士》的梦想看来是破灭了。   最后我们再来谈谈NYU上海分校吧。 NYU上海分校,按照当初我查到的公开资料显示,是独立办学而不受到国内方面的限制的——这似乎在国内是独一无二的。 什么?跟我说澳门大学横琴校区?那人家也不一样……人家那是相当于以澳门特区政府的名义在珠海租下来一块地,并且有点类似于当初的被英国/葡萄牙租借了的港澳地区——横琴校区的一切管理权,无论是行政上的还是法律上的,均归属澳门特区政府管辖。这块地相当于澳门“领土”。所有的物资供应(水,电,气……)也都是从澳门来的。更别提澳门本来就是中华人民共和国的一部分。 NYU就相当不一样了——NYU是个美国的大学,在中国的土地上能够办学已经相当困难了,土地也完全就是国内的土地,美国在这里没有任何治外法权,中方竟然也许诺了不插手任何校内事务……为了能够让学生们科学上网,估计NYU和NYU上海分校也是费尽了功夫。当然,对于NYU这么一个有钱的学校,估计也没有太多他们办不到的事情吧——毕竟现在有句话叫做“有钱能使磨推鬼”。虽然国内在办学方面对外资限制十分十分严格,但是NYU仍然能够做到这样,想必是砸够了足够的钱。 总之,enjoy the NYU Shanghai VPN if you can!

Human Rights Fighters? For the wrong candidates!

Human Rights Fighters? For the wrong candidates!

Just saw a wikipedia news post about a vice professor from a really good university in Beijing who was caught by Chinese Police just received some kind of “human rights fighter” reward. I know that he was caught because of his speaking. However, to let someone fight against the country is not allowed in most…

Read More Read More

How to remove/reinstall MySQL

How to remove/reinstall MySQL

For years, remove and reinstall MySQL has been one of the hardest work for me. However, I’ve found a good solution. Based on http://askubuntu.com/questions/763534/cannot-reinstall-mysql-server-after-its-purge and http://askubuntu.com/questions/760724/16-04-upgrade-broke-mysql-server Back up your my.cnf file in /etc/mysql and remove it Remove the folder /etc/mysql/mysql.conf.d/ Verify you don’t have a my.cnf file stashed somewhere else (I did in my home dir!) or in…

Read More Read More

电影/电视剧内现实生活场景

电影/电视剧内现实生活场景

是不是Geek的有点儿过了…… 1: Lola Rennt / Run Lola Run   —-0:13:19 Oberbaumstrasse https://www.google.com/maps/@52.500955,13.4447997,3a,75y,236.16h,83.56t/data=!3m6!1e1!3m4!1srplQadtdcl0p3K7jfufb8g!2e0!7i13312!8i6656 —-0:13:31 Oberbaumbrücke https://www.google.com/maps/@52.501852,13.4457718,3a,60y,189.11h,101.07t/data=!3m6!1e1!3m4!1sbwlCPCihThdVSjP6XqW6EQ!2e0!7i13312!8i6656 —-0:14:53 RMB2分钱竟然出现了 —-0:15:18 U Bhf Französische Straße (Reise Service ist jetzt Reiseland) Kreuz von Französische Straße und Friedrichstraße https://www.google.com/maps/@52.5144616,13.3891765,3a,75y,211.86h,94.2t/data=!3m6!1e1!3m4!1sTA3DHQS-MqH_7Ke4DEQCnw!2e0!7i13312!8i6656 —-0:15:30 Behrenstraße Mauerstraße https://www.google.com/maps/@52.5151932,13.3845297,3a,75y,40.34h,86.08t/data=!3m6!1e1!3m4!1sQfAcMSqdVx_ftgEkVItAdQ!2e0!7i13312!8i6656 —-0:16:29 https://www.google.com/maps/@52.5116274,13.4075975,3a,75y,349.07h,87.57t/data=!3m6!1e1!3m4!1sLyfhjFJlGyfr9yxjdAaAjw!2e0!7i13312!8i6656 —-0:16:31 U-Bhf. Märkisches Museum https://www.google.com/maps/@52.5116748,13.4077274,3a,75y,82.08h,89.19t/data=!3m6!1e1!3m4!1stLfZOLD9QLxZdzbiqbS-OA!2e0!7i13312!8i6656 —-1:13:57 https://www.google.com/maps/@52.5258453,13.3019379,3a,85.9y,186.61h,85.65t/data=!3m6!1e1!3m4!1sUtzpz9PYaAsvaoHsvMIOjQ!2e0!7i13312!8i6656 2: Knallerfrauen —-S02E05 ——–07:58 https://www.google.com/maps/place/Oberl%C3%A4nder+Werft,+50968+K%C3%B6ln,+%E5%BE%B7%E5%9B%BD/@50.8957686,6.9932486,175a,20y,313.29h,67.03t/data=!3m1!1e3!4m5!3m4!1s0x47bf24229a8795ef:0xd48ba201d19e821a!8m2!3d50.9145877!4d6.9734001

Knallerfrauen取景地

Knallerfrauen取景地

S03E01 21:01 幼儿园:https://www.google.com/maps/@50.8682689,7.008618,3a,75y,276.87h,69.37t/data=!3m6!1e1!3m4!1si6Rxs9iyF1M-lMEroVPejA!2e0!7i13312!8i6656!6m1!1e1

享受自己的Break

享受自己的Break

在这个社会里, 多少人为了自己的事业而放弃了自己的乐趣? 多少人因为各种的压力而忘掉了原来的自己? 为何如此紧张? 为何如此焦虑? 人活着,就是为了享受作为自己的感觉。 给自己一个Break,让自己不再活得那么累。 时间很紧迫,任务很繁重; 但这些并不影响享受一个Break的时间。 给自己一个假吧,哪怕十分钟,甚至一分钟, 做回原来天真的自己, 不要在这个世界中把原本的自己丢掉。 忘掉自己所有的压力,清空大脑所有的思考。 让自己放松下来,刷新一下自己的大脑。 每天至少一分钟,忘掉这个世间的一切, 将整个世界清空,把所有身外之物抛掉, 让自己做回自己的自己吧。

12306还是那么傲娇,查询多了之后动不动就“网络繁忙”

12306还是那么傲娇,查询多了之后动不动就“网络繁忙”

piao.today是一个需要从12306网站抓取数据的网站。 最近12306开始为了防止票贩子,特意改成了一段时间内查询达到一定阈值后返回“网络繁忙”。 piao.today深受其影响。 现在,可能每隔一个或者两个小时才会抓取到那么几个点,之后又开始网络繁忙了。 坑爹的12306啊……你对piao.today这样也就得了,那么有些公司网络,几百号机器共享一个ip地址,那么到时候等着他们一起查票的时候,12306你也认为是一个人在刷票? 已经见到有人在其公司网络出现这个问题了。 12306啊,决策之前用脑袋好好思考思考吧…… 想一想如何使用你们的资源去好好服务服务我们这些平头老百姓们,而不是仅仅通过“懒政”思维,查多了就直接限制…… 哎……

SS, 也死了

SS, 也死了

观今夜天象,知天下大事。 SS也死了。 这可该如何是好啊! 别打脸,我投降还不行么? 也许有时间还是自己开发一个协议吧……毕竟有硬性翻墙的需求……   还是顺便写封信给亲爱的GFW开发者们吧。   致GFW的开发者们: 你们好! 你们派公安找了SS的作者谈话,我作为一个局外人,默默地看着。 但是,毕竟外面的世界是存在的,我国不可能走朝鲜的路子。 外面的世界,只要出过国都会接触到——无论旅游亦或是留学,尤其是对于我们这些留学生来说更甚。 如果真的把正常路子的翻墙软件一个个都给封了,那么最后的结果是越来越多的人会选择轮子开发的翻墙软件,反而让人们从源头上就接触了你们不希望人们接触的东西。 留学生一般不会相信法轮功等反华组织的鬼话,因为他们的话可以说是不攻自破,稍微有点儿头脑的人们都不会相信。但是自然有未接受过良好教育,或者迷信的游客们相信之。 很多东西都是宜疏不宜堵。以后全国人民翻墙只能选择轮子的软件你们也就开心了。他们有美国政府给的钱,才不会管你封锁不封锁。只要美国政府一直给钱,他们就会一直开发。 以前有SS的时代,人们更愿意选择SS。 以后有什么,我们不得而知。 但是以后有什么,我们知道的都是——只要开发者在墙内,那么你们就会找他们喝茶,封掉他们的作品。 最后人们都会上轮子网站获得国外的消息。 希望你们好好思考一下。 我知道我的声音微不足道,我只是一个有翻墙需要的学生,因为我在国外上学。 我对轮子很反感,甚至可以说对一切反华势力都非常反感,因为我在国内外都呆过,我自然知道我自己的政府用了多大力气让这个国家发展起来而且让国家机器成功运转。 我知道我的国家在基础建设上下了多大的功夫。因为外国所称的所谓“独裁”(这是我在美国高中时学政治课的时候,政治书对中国执政方式的称呼),我们在基础建设上的速度领先他们不知道多少。当他们两个(或者多个)党还在扯皮,因为一点儿鸡毛蒜皮争执地面红耳赤时,我们已经大张旗鼓地将工程开工了;当他们刚准备坐下来谈判时,我们早就把工程建好了。另比如说,2013年我曾经去过青川县,一排排整齐的小楼让我对这个地方的印象尤为深刻。我没有想到曾经在2008年成为断壁残垣的这里竟然现在是如此的美丽。寄宿家庭的一段话让我明白了其中的原因——抗震第一时间国家便派出武警官兵来这里恢复正常生活秩序,再然后的各省对口支援加速了这里的重建。现在的青川比地震前的更美丽更美好——彩虹桥穿城而过,一排排小楼拔地而起,幸福的人民安居乐业。国家的软硬实力让我从内至外相信了国家。 因此,我从来不会听信轮子的话。在华盛顿我曾经用五星红旗在国会大厦附近糊过轮子的脸;在洛杉矶机场我跟他们谈笑风生,一条一条指出他们漏洞百科的所谓“未来”。 但是,在国内这么一个环境下,无论出来什么样的神棍都会有人相信——大师王林就是一个很好的例子。我是97年人,但是我还是知道当初气功热的浪潮的。王林应该跟李洪志都是一个时代出来的。 作为接受过相对来说良好教育的人,我对他们的话嗤之以鼻。但还是那句话,在我国,无论出现什么样的神棍都会有人信。 如果人们可以使用SS相对容易地翻墙,那么人们自然不会选择敌对势力的软件。 但是,所有相对好一些的路子都已经被你们封锁了,那么人们只能选择从敌对势力那里获取软件。 我自然不会相信他们的鬼话,尽管他们的软件在每次翻墙成功后都会打开他们的主页。 可是,有人会相信。而且自然会有人因此踏上相信法轮功的不归路。 我希望墙的开发者们,以及更上层的决策者们能够三思。 毕竟,中国不能跟朝鲜比。中国是要和世界接轨的。 越来越多的人走出国门走向世界,他们接触到了墙外的世界后,自然会对墙内的世界产生怀疑。 为何我们不从墙内开始提升自己的文化水平,让那些神棍无论在哪儿都不会有拥护者,而后无处藏身呢? 为何我们不从墙内提高一下工程质量,让那些豆腐渣工程不再豆腐渣,而能够成为跨越百年的工程呢? …… 现在国家正在大力让更多人接受良好的教育,也正在大力反腐倡廉,我相信总有一天这些问题都会成为历史,人民能够过上不用担心在立交桥上开车桥突然坍塌,或者是住在家里家被强扒的日子。 但是,我们需要下功夫做到,而这不是一天两天的。 一打开新闻,喷专家喷政府的人大有人在,即使事实的确如专家所分析、政府所阐明。 人们对政府失去信任,所以人们更相信境外媒体,哪怕造谣的是他们。 如何重新获得全国人民的信任才是目前政府需要干的最主要的事情。 这很难。国家很大,自然会有盲区。但是不着急,慢慢改。 在此之后,墙不用人们拆,而自然会坍塌。 当然,我相信网络需要监管,因为我认为无政府主义会导致人类文明的毁灭、不受监管的网络会成为滋生犯罪和恐怖主义的温床;但是我更相信有一天,我们的国家不需要墙,不需要这道阻挡中国接轨世界的墙。人们可以自由地浏览国际网络,不受任何影响。尽管他们看到了中国不好的一面,但是我相信他们会相信国家,因为视频可以是伪造的,而国家下的功夫却是实实在在的。 我相信国家能做到让每个公民都能够自由自在地上网,因为在那时,没有人会相信某些反华组织的鬼话。 望你们,或者是更上层一些的人,三思。   zhxq 一名在美国上大学的中国学生,因为学校和工作原因需要时常翻墙; 一名不相信无政府主义,相信网络需要监管,却又崇尚自由的一名开发者。