GFW DDOS wpkg.org

环境

国内,不翻墙状态,访问”http://connect.facebook.net/en_US/sdk.js

日志

curl -v "http://connect.facebook.net/en_US/sdk.js"

#+begin_example

Hostname was NOT found in DNS cache

Trying 144.76.67.84…

Trying 2a01:4f8:191:8053::2…

Immediate connect fail for 2a01:4f8:191:8053::2: Network is unreachable

Connected to connect.facebook.net (144.76.67.84) port 80 (#0)

> GET /en_US/sdk.js HTTP/1.1 > User-Agent: curl/7.35.0 > Host: connect.facebook.net > Accept: / > < HTTP/1.1 301 Moved Permanently

Server nginx/1.8.0 is not blacklisted

< Server: nginx/1.8.0 < Date: Sun, 26 Apr 2015 08:36:22 GMT < Content-Type: text/html < Content-Length: 184 < Location: http://wpkg.org/my.js < Expires: Thu, 31 Dec 2037 23:55:55 GMT < Cache-Control: max-age=315360000 < X-Varnish: 366440577 360457 < Age: 88975 < Via: 1.1 varnish-v4 < Connection: keep-alive < <html> <head><title>301 Moved Permanently</title></head> <body bgcolor=”white”> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx/1.8.0</center> </body> </html>

Connection #0 to host connect.facebook.net left intact

#+end_example

No Title

之前服务器一直放在godaddy,主要是去年注册域名的时候正好赶上优惠。忘了多少钱,其 实相比vps而言,并无实质优惠。

亚马逊的云在年初被屏蔽了。于是就干脆在搬瓦工买了个$11的vps,这几天将网站服务器也 迁过来了。顺便测试下配置是否有问题,是否可以通过emacs来发文章

避讳

昨日3月1日,你避讳了吗?

以下来自wiki: 避讳始于周朝,《左传》说:“周人以讳事神,名,终将讳之。”《礼记·曲礼》载: “名子者不以国,不以日月,不以隐疾,不以山川。”明文规定取名之避。后来,《左传》 又加上“不以畜牲,不以器帛”这一条款,遂产生“六避”。但当时同音或近音的字不 用回避。名讳两字中,只有一个字相同,也不用回避。

避讳是中国历史上,必须回避君主、尊长的“名讳”的一种要求,通常只限于君主、尊长之 本名,其字号则无必要。在言谈和书写时,遇到君主尊长的名讳一律要回避,可以用其他字 代换,或是刻意将该字缺笔,取名时也不能取他们的名讳中字,甚或同音的字,否则可能触 犯大不敬之罪。陆容《菽园杂记》称,“民间俗讳各处有之,吴中为甚”。这种要求也曾经 适用于汉字文化圈临近国家,例如日本、朝鲜半岛、越南、琉球。

避讳的种类

回避君主的名字,叫做避公讳或国讳。一般适用于过去七世代以内。 避讳自己家族的长辈的名字,与别人交往时则避对方的长辈之名讳,叫做避家讳。 回避圣人的名字,叫做避圣人讳。例如邱姓就因避讳孔子的名字“丘”而产生;又例如 《三国演义》中称关羽为“关公”、“关某”;《东周列国志》中称孔子为“孔某”。 另古人读经史时,碰到孔子的名字“丘”时,会将之读作“某”,以示避讳,就连写的 时候也会缺笔。

避讳的方法与实例

陈垣《史讳举例》曰:“避讳常用之法有三:曰改字,曰空字,曰缺笔。”到了宋朝,避讳之风日趋严格,又出现“拆字”这一种避讳方法。

改字

改字法:遇到要避讳的字时使用其他别字代替。例如: 秦始皇名政,“政”与“正”同音,所以秦代称“政月”为“正月”,“正”字改念平声,甚至改称“端月”。 避汉高祖刘邦讳,“相邦”改“相国”。 避汉文帝刘恒音讳,“姮娥”改嫦娥。 避汉景帝刘启讳,“启蛰”改惊蛰、“启封县”改开封县。 避汉武帝刘彻讳,“彻侯”改通侯。 避汉昭帝刘弗陵讳,否定词“弗”改“不”。 避汉宣帝刘询音讳,“荀卿”改孙卿。 避东汉光武帝刘秀讳,东汉孝廉“秀才”改“茂才”。 避汉明帝刘庄讳,庄姓者多半改成严姓。 避汉灵帝刘志讳,东观汉记的“志”改称“意”。 避晋宣帝司马懿讳,三国志将吴懿改“吴壹”。 避晋文帝司马昭讳,王昭君改称王明君,蔡昭姬改称蔡文姬,韦昭改称韦曜。 避西晋愍帝司马业讳,建业(今南京市)改名为建康。 避唐高祖李渊讳,陶渊明改称陶泉明或陶深明。 避唐太宗李世民的讳,“世”、“民”常改为“代”、“人”。例如,柳宗元《捕蛇者说》中句子“以俟夫观人风者得焉”中的“人风”实际上是指“民风”,是为此而改。 避唐高宗李治讳,文章内“治”字改为“理”。 避武则天(武曌)的讳,庐陵王(稍后的唐中宗)之长子李重照改名李重润。(曌为照的则天文字) 避后晋高祖石敬瑭讳,敬姓的一部分改为苟姓以及文姓。 孔子之名丘曾经是金朝的圣人讳,所以丘姓的一部分改为邱姓。 避明太祖朱元璋讳,“元年”改为“始年”、“原年”,“元来”改为“原来”。 避清康熙帝玄烨讳,故宫玄武门改神武门,而“玄孙”改“元孙”。 避清雍正帝胤禛之讳,兄弟字辈“胤”改“允”。王士禛改称王士正或王士祯。 避清乾隆帝弘历讳,曆常改为歷,而大清历法时宪历改时宪书,弘文馆改“宏文馆”。 避清道光帝旻宁讳,北京外城广宁门改名广安门。 史上亦有皇帝即位时,将名字易为罕用字,使扰民程度降至最低。例: 汉宣帝刘询,原名病已。 清嘉庆帝颙琰(Yóngyǎn, ㄩㄥˊ ㄧㄢˇ),1796年即位前原名永琰。 清道光帝旻宁,1820年即位前原名绵宁。

空字

空字法:遇到要避讳的字时不填写。如唐朝将领李世勣被改成李勣,以避唐太宗李世民 的讳。但最著名的例子是“观世音菩萨”亦因避唐太宗讳,略作“观音”,但这个说法 仍待商榷。

缺笔

陈垣认为避讳缺笔,始于唐朝,贞观十八年盖的文达碑,有“世子”二字,时唐太宗称李世民,可见仍未有避讳缺笔。乾封元年《赐泰师孔宣公碑》中,“愚智齐泯”中的“泯”作“汦”,因此他认为唐高宗是避讳缺笔之始。 到了高宗显庆五年正月诏曰:“至于朕名,或缺其点画。”说明了当时已经有缺笔避讳 。 一般缺笔是缺写尾一笔。如“愚智作泯”的“泯”字,因讳唐太宗李世民,而作“汦”。“世武”作“卅”。旧唐书穆宗纪:“恒王房子孙改为汦王房。”汦王应为愍王,因避讳,改民为氏而误。《续汉郡国志》中载敦煌郡有拼泉,拼泉即渊泉,因唐太祖李渊缺笔的渊字缺尾的一笔,后讹为拼。把唐太宗的名字李世民中的“世”少写一划。 宋人讳“朗”改为“郎”。《新唐书·后妃则天皇传》:“前锋左豹韬果毅成三郎为唐之奇所杀。” 《康熙字典》将康熙帝玄烨讳各缺一笔。 日本明治时代,对于仁孝天皇(惠仁)、孝明天皇(统仁)、明治天皇(睦仁)的名讳“惠”、“统”、“睦”缺一笔。

拆字

拆字法:当遇到要避讳的字时,将该字拆开,以描述其字的构造。 宋太宗讳赵炅,又名赵耿;“炅”、“耿”二字皆为国讳。宋朝人将“耿”字写作“从耳从火”。 宋真宗讳赵恒,“恒”为国讳,遂将“恒”写作“从心从亘”。 宋高宗讳赵构,“构”字甚至其音相近的二十余字皆为国讳。时人为避讳,将与其音相 近的“句”写作“从勹从口”。

中国的历史

周朝时避讳情况较为宽松,只有完全相同的字才要避讳,同音或近音字不用。秦汉时期,大一统的政局形成并得到巩固,君主之尊无以复加,儒学在上层建筑中逐渐占统治优势,这种要求遂变得非常严格。地名、物名、官名、人名都要回避当朝天子甚至皇帝祖先的名字。 到了唐朝,有一个字相同也必须回避了,当时著名诗人李贺就是因为其父名“晋肃”,而不得参加进士考试,致使终身不得志,韩愈为此事非常生气,为之作《讳辩》驳斥,“父名晋肃,子不得举进士,若父名仁,子不能为人乎!”唐朝法律规定,直呼皇帝的名字犯“大不敬”罪,不能赦免。 清乾隆二十二年(1757年),退休浙江布政使彭家屏在族谱《大彭统记》刊登河南生员段昌绪家存吴三桂文告时,乾隆帝之名讳弘历不缺笔,成为彭家屏自杀及段昌绪斩首罪名之一。 清乾隆四十二年(1777年),江西书生王锡侯在他删康熙字典写的字典《字贯》凡例写入康熙帝、雍正帝、乾隆帝之名讳(玄烨、胤禛、弘历),没有缺笔避讳,也有批评康熙字典“然而穿贯之难”的内容,被认为非常不敬,而被依大逆律定罪处斩。 清朝末代皇帝溥仪在位时,“仪”曾经是避讳字。清朝灭亡后,中国不再避国讳。

以下是可以预料到的不允许的

比如之前网上流传的”刁大犬”,使用的便是改字,缺笔,拆字的方法,这样即使避讳 XXX(此处为避讳),也是不可以的。更不用提那些”人民曰报”之类的了。当然,还有另外 的比如低俗之类也是不允许的,这么一来,我的网名也在修改范围之类的,比如”rix”, 一些好事者竟然按照汉语的拼音来读,低俗之极,更不用说阿毛阿狗之类的了,想想我 们之前一直叫宝宝为“毛毛”就心瓦凉瓦凉的。

我的emacs配置组织

好久都没进行这一方面的整理,找了一下,之前的那个emacs配置 模式还是在5年前,其实, 这个配置方式我用了至少4年的样子,直到去年初才换了一种方式。

之前的那个配置的主要缺点是不容易同步,比如我现在基本上要在这些环境的电脑中运行:

系统 CPU
Ubuntu(GUI) X86
Ubuntu(CMD) ARM/X86
CENTOS(CMD) X86
Win XP X86
Win 7(本地或远程) X86
MAC X86

系统不算多,但关键是个数多,比如光Ubuntu,不同的位置加起来也有10多个了,总不能每 个都去配置,时间长了,不同的电脑上的配置或多或少都有差别,而且,即使一个单独的配 置,一个压缩包都快接近100MB了,更何况还要维护每个插件的更新,于是我决定更新我的 配置管理了。

继续阅读我的emacs配置组织

亚马逊主机被墙的一些反思

今天发现的亚马逊主机被墙,后来思考了一下,考虑从技术处识别的破绽,觉得原来的方案 有问题,特记录如下,以作教育。

在这台主机上, 主要开通了下面的服务:

服务 端口 备注
openvpn 10122  
ssh 22 远程登录
dns 10153 仅支持持tcp查询
shadowsocks 8080 用于翻墙

关于openvpn服务

所有的客户端不会主动连接这个服务,我在国内主机上创建了一个到这个服务器上的ssh代 理连接,连接到国内的服务器上,所有客户端使用代理的方式,连接到远程主机上,这个很 少用,流量也不大,因此问题可能不大。我曾经考虑过由远程主机主动发起,但openvpn的 客户端似乎有问题,反正没成功,不了了之了。

ssh服务不用说了,一般不会因为这个封吧。

shadowsocks服务采用的是aes-256-fb,自定义密码,应该也没问题。

剩下的就是dns了,在很早之前,我用的是韩国的dns,然后有一天发现韩国的dns不返回任何 内容了,而这个dns没有打开ICMP,因此无法ping成功,不返回任何有用的查询说不定是因 为被墙了。然后我就用了一段时间的google dns,问题在于google 的dns速度太慢了(其实 我的这个理解是错误的,使用google dns的时候其实是走了代理的)。后来考虑速度,就在 亚马逊的主机上添加了pdnsd的服务,然后本地的pdnsd指向这个服务器。大概用了一个月的 样子,被封了。

在所有的流程中,除了pdnsd的查询没有被加密外,其他的内容都是被加密的,而tcp dns的查询, 无论是从特征识别还是关键字过滤,都是可以被发现的,因此被墙也就不难理解了。

闲暇之余的一点笔记