Total Pageviews

Thursday 31 August 2017

聊聊 GFW 如何封杀 Resilio Sync(BTSync)?以及如何【免翻墙】继续使用?


文章目录
★引子
★BTsync 如何实现【节点发现】?
★GFW 如何封杀 BTsync?
★为啥 GFW 难以封杀 DHT 网络?
★如何让你的 BTsync 客户端使用 DHT 网络?
★Q & A
★结尾
已经13天没有发博文了 :( 最近比较忙,列位看官,请多包涵。

★引子


最近一个多月,有好些读者抱怨 Resilio Sync(原名叫做“BitTorrent Sync”,简称“BTsync”)无法正常使用。所以俺一直打算写一篇来谈谈这个事情。顺便也分享一下:如何继续【免翻墙】使用 Resilio Sync。
(注:为了打字省力,本文以下部分使用“BTsync”来表示“Resilio Sync”。请原谅俺的懒惰)

如果你从来没有听说过 BTsync 这个玩意儿,建议先看看维基百科(中文洋文)。另外,还可以看看俺写的扫盲教程(在这里)。
俺之所以大力普及该软件,关键在于:任何人都能用它来搭建一个【分布式】的网盘。关于【分布式】的重要性,俺已经唠叨过很多次了。对这个话题感兴趣的同学可以看下面这篇:
“对抗专制、捍卫自由”的 N 种技术力量

★BTsync 如何实现【节点发现】?
为了聊今天的话题,需要先介绍一点点基础知识——BTsync 的“节点发现”机制。
大伙儿应该都知道:BT Sync 是一款点对点(P2P)的工具,用来进行文件共享和文件同步。对于任何一款 P2P 软件,其关键的机制是【节点发现】(洋文叫做“peer discovery”)。
BTsync 有两种完全不同的使用场景,分别是:局域网 和 公网。今天这篇只讨论 BTsync 在【公网】的使用。
BTsync 要想在【公网】上找到其它节点(peer),大致通过如下几招:

◇Tracker Server(追踪服务器)


BT 下载的老用户应该听说过 Tracker 这个概念。打个比方,Tracker Server 类似于节点(peer)之间的中介,互不认识的节点通过 Tracker Server 来获得对方的信息(IP 和端口)。
那么,BTsync 的客户端是如何知道 Tracker Server 的 IP 地址捏?通常有两种方法:
方法1
客户端软件本身已经内置了若干个 Tracker Server 的 IP 地址和端口。
方法2
客户端软件先连上 BTsync 公司官方的某个网站(通过域名的方式),然后得到某个配置文件,这个配置文件中会包含 Tracker Server 的 IP 地址和端口。比如下面这个网址,就是某些版本的 BTsync 用来获取配置文件的网址。
https://config.resilio.com/sync.conf

◇DHT 网络


DHT 是个啥玩意儿捏?这个说来话长,今天就不展开细谈了(有空的话,单独写了一篇)。
简而言之,你可以通俗的理解为:DHT 是用来弥补 Tracker Server 的局限性的。有了 DHT 这个机制,【不】需要依赖 Tracker Server 也可以做到【节点发现】。
当然啦,【这是有前提滴】——你要先连上 DHT 网络的某个节点。然后就可以通过你的第一个接入节点,逐步找到 DHT 网络中的其它节点,并且还能找到你想要获取的数据位于哪些节点。(这就好比你要想加入某个封闭的社团,先要得到社团中的某个人作为你的引荐人)
怎样找到 DHT 网络中的某个节点并与之建立连接,用技术行话称之为“bootstrap”。显然,bootstrap 是 DHT 的关键。
如果 BTsync 客户端支持 DHT 并启用了 DHT,客户端通常是先连接到 Tracker Server,然后就可以通过 Tracker Server 获得某个 DHT 网络的节点,于是就实现了 DHT 的 bootstrap。

◇Predefined Hosts(预定义主机)


所谓的“预定义主机”,说白了就是:用户自己在 BTsync 客户端的配置界面输入其它节点的 IP 和端口。
这个功能用得不多,但在某些情况下很有用。比如前面提到 DHT 的 bootstrap。在某些特殊环境中(比如墙内),你可以通过“预定义主机”这个功能添加某个 DHT 网络中的节点,然后你的 BTsync 客户端就可以实现 bootstrap 并加入到 DHT 中(关于这点,待会儿俺还会细聊)

◇这几种方式的优缺点对比


Tracker Server(追踪服务器)
这个机制最傻瓜化,完全无需用户干预。
但是这个机制也是【最容易被封杀】的。

DHT 网络
在没有“墙”的网络环境中,这个机制同样也是很傻瓜化的(客户端会自动通过 Tracker 找到 DHT 网络)
但如果是在【墙内】,Tracker 已经被屏蔽,需要手动实现 DHT 的 bootstrap(具体如何做,待会儿俺细聊)。
一旦实现了 bootstrap,DHT 很难被封杀。

Predefined Hosts(预定义主机)
这个机制的操作门槛最高。被 GFW 封锁的难度与 DHT 相当。
其门槛在于——你需要找到【IP 地址固定不变】的 BTsync 节点(至于如何找到这种节点,在本文后续部分会提及)

★GFW 如何封杀 BTsync?


看完上面的介绍,聪明的同学已经猜到 GFW 是如何封杀 BTsync 的。其实很简单,只要封锁 Tracker Server(追踪服务器)就可以让绝大部分客户端失效。因为绝大部分客户端都需要依赖 Tracker Server 来实现“节点发现”。
要封锁 Tracker Server,GFW 可以有两种方法:其一是“域名污染”,其二是“IP 黑名单”。(关于“域名污染”这个概念,可以参见俺之前的扫盲教程——《扫盲 DNS 原理,兼谈“域名劫持”和“域名欺骗/域名污染”》。

刚开始的时候,GFW 采用“域名污染”的方式。所以网上也相应出现了一些文章,介绍若干招数,用来对抗域名污染,以便继续使用 BTsync。这些招数,无非就是:“修改 hosts 文件” 或 “加密 DNS 传输”。
说到这儿,俺要稍微泼点冷水。不论你是“修改 hosts”还是“用 dnscrypt 加密域名解析的传输”,都只能用来对付“域名污染”,但却【无法】对付“IP 黑名单”。由于 BTsync 官方提供的 Tracker Server,数量很有限(通常只有4个,2个是 IPv4,2个是 IPv6),而且这4个服务器的 IP 地址相对固定(不会经常变)。所以 GFW【很容易】就可以封掉这几个 IP 地址(简直可以说是“易如反掌”)。
那么,咋办捏?


★为啥 GFW 难以封杀 DHT 网络?


综上所述,要想让 BTsync 可以【免翻墙】使用,就不要再指望 Tracker Server 这种“节点发现”的机制了。因为这种机制太容易被封杀。
相比之下,GFW 要想封杀 DHT 就会困难得多(不是不可能,而是难度急剧增大)。为啥捏?主要有如下几个难点:

◇难点1


因为 BTsync 的 DHT 网络中会有很多节点,而且这些节点是【动态变化】的——每时每刻都有老的节点下线并且有新的节点上线。要想通过“IP 黑名单”的手段来屏蔽 DHT 网络中的所有节点,(对 GFW 维护人员来说)工作量会变得很大。

◇难点2


从技术上讲,GFW 的开发团队也可以做一些伪装成 BTsync 客户端的 agent,用这些 agent 来探测由 BTsync 客户端所构成的 DHT 网络中的节点信息。
但是,每个 DHT 节点并【不能】得到 DHT 网络中【所有节点】的信息,而只能得到其中一个很小的子集(只占整体的一小部分)。
所以,如果要用这招,GFW 开发团队需要构造足够多的 agent。(即便这样,这招也【无法解决】下面的第三个难点)

◇难点3


在 BTsync 的 DHT 网络中,有些节点位于【墙内】。GFW 对这些墙内节点是【无可奈何】的。因为 GFW 部属的位置在天朝公网的【国际出口】。通俗地说,GFW 只能屏蔽流经国际出口的流量。如果有两个节点【都在墙内】,那么这两个节点之间的流量是不会被 GFW 检测到的,GFW 也无法屏蔽这种【墙内流量】。

◇补充说明


虽然这个章节讲的是:BTsync 客户端构成的 DHT 网络。但其它形式的 DHT 网络,原理也是类似的,它们也会让 GFW 头疼。

★如何让你的 BTsync 客户端使用 DHT 网络?

◇首先,要选择【正确的】客户端版本?


刚才提到了 DHT 的重要性。对于 BTsync 而言,只有4个大版本支持 DHT,分别是:
1.3.x(同步目录数无限制,但不支持“选择性同步”)
1.4.x(同步目录数无限制,但不支持“选择性同步”)
2.0.x(免费试用30天,30天之后如果不付费,最多只能同步10个目录)
2.1.x(免费试用30天,30天之后如果不付费,最多只能同步10个目录)
  如果你不需要“选择性同步”这个功能,就选 1.4.x 版本。
除非你极其需要“选择性同步”这个功能,才去选 2.1.x 版本,然后参考本文后续的【Q & A】章节,破解时间限制。
(本文后续部分的示意图会用 1.4.111 的界面进行截图,这个版本不仅是 1.4.x 的最后一个版本,也是 1.x.x 的最后一个版本)

根据某些读者反馈:1.4.x 版本尚未被彻底封杀,可以【直接使用】(提醒:在每个同步目录的“偏好设定”选项中,要记得勾选 DHT)。
虽然 1.4.x 目前是直接可用,但说不定过了几天就会出问题。所以大伙儿要重点阅读下面这个章节。

◇如何加入到 DHT 网络?


前面说了:接入 DHT 网络的关键是——找到 DHT 网络中的某个节点并与之建立连接(行话叫“bootstrap”)。下面要介绍的就是——如何在【墙内】实现 bootstrap。

步骤1
由于 GFW 封锁了官方的“追踪服务器”,你的客户端第一次运行时多半找不到任何 DHT 的节点。这时候你要先让 BTsync 走翻墙通道。
BTsync 翻墙可归纳为两种:其一是 VPN,其二是 proxy。(对于技术菜鸟,俺建议用 VPN,比较傻瓜化)
对于 VPN 方式:你需要在系统中运行 VPN 软件并正常连接到 VPN 服务器,然后在这个系统中运行 BTsync,BTsync 本身【无需】额外设置,就能自动通过 VPN 翻墙了。
对于 proxy 方式:你需要进入 BTsync 的“偏好设定”界面,找到 proxy 选项,正确填写。设置完 proxy 要记得重启 BTsync。
不见图 请翻墙
(在界面右上方的工具条,点击最右边那个按钮,打开菜单)

不见图 请翻墙
(在全局设置中填写代理的“类型、地址、端口”)

步骤2
添加一个同步目录的密钥(如何添加同步密钥,请参见扫盲教程),然后设置这个新加目录。
不见图 请翻墙
(选中这个同步目录,点最右边那三个点的按钮,打开菜单,然后点“偏好设定”)

不见图 请翻墙
(要记得勾选【DHT】这项)
  等待一段时间(具体多长,视情况而定)。你要一直等,直到客户端界面上已经显示出若干节点数,并且已经开始进行同步。

步骤3
为了保险起见,你再次进入【每个同步目录】的“偏好设定”界面,【确保勾选 DHT】,同时把“追踪服务器”和“中继服务器”这2个选项【都去掉】。
然后重启 BTsync。等待它进入正常工作状态(找到其它节点并正常同步)。当它能正常工作,就说明 BTsync 已经基于 DHT 而【不再依赖】Tracker 了。
不见图 请翻墙
(去掉“中继服务器”和“追踪程序服务器”这2项,但要记得保留 DHT 这项)

步骤4
到了这最后一步,你可以把翻墙通道关掉,测试 BTsync 是否能【免翻墙】正常同步。
对于 VPN 翻墙,你只需要关闭/退出 VPN 软件,BTsync 不用重启;
对于 proxy 翻墙,你需要进入 BTsync【全局】的“偏好设定”界面,去掉所有 proxy 的设置(地址、端口),然后记得要【重启】BTsync(重启后,proxy 设置的改变才会生效)。

◇如果你很久【没有】运行 BTsync,导致再也连不上 DHT,如何复活?


BTsync 一旦接入了 DHT 网络,会把它得到的 DHT 网络的节点信息(地址、端口)保存在本地的某个文件中。那么当它下次启动的时候,就不用再费劲地去搞 bootstrap 了。
但是,假如你已经很长时间(比如超过一周)没有运行 BTsync,这时候本地保存的那些节点信息可能已经过时(请记住:DHT 网络的节点是在动态变化中的)。于是你的 BTsync 客户端又处于“脱离组织”的状态。这时候你需要再次重复前一个小节的那几个步骤,再来一次 bootstrap 操作流程。

◇如何避免客户端脱离组织?


刚才俺说了:如果你在墙内并且长时间没有运行 BTsync,那么将来再次启动 BTsync 会找不到 DHT 网络(脱离组织)。如何避免这种情况捏?俺简单介绍几招:

招数1:经常运行/始终运行
如果你是在 PC 上运行 BTsync,并且你的 PC 具备互联网的宽带接入。那么你干脆就让这个 BTsync 一直运行(提醒:在 BTsync 客户端上【至少添加一个】同步目录)
在这种状态下,你这个客户端始终是 DHT 网络这个组织的一份子,它可以持续得到 DHT 网络中节点变化的信息。这样就可以避免脱离组织。

招数2:用“预定义主机”的方式添加固定节点
要玩招数2,要求比较高,需要一个前提——你知道某个【地址/端口都相对固定】的 DHT 节点。
假设你知道了这种节点,那么你就可以进入【每个同步目录】的“偏好设定”界面,把这些 DHT 节点的“地址/端口”填写到“预定义主机”中。
不见图 请翻墙
(选中这个同步目录,点最右边那三个点的按钮,打开菜单,然后点“偏好设定”)

不见图 请翻墙
(勾选“使用预定义主机”,然后填写主机的“IP 地址、端口”)

完成上述设置后,客户端在每次运行时都会去找你添加的这几个节点,然后通过这些节点找到 DHT 网络的其它节点。
有的同学肯定要问了:这种“固定地址的 BTsync 节点”是怎么来的。
最直接的办法是:你自己买一个 VPS,并且这个 VPS 的地址【尚未】被 GFW 封杀。然后你在这个 VPS 上【长时间运行】BTsync,并且这个 BTsync 要记得使用 DHT 网络。那么这个 VPS 上的 BTsync 就会成为 DHT 网络中的一个稳定节点。然后你就可以让自己手机端或 PC 端的 BTsync 首先通过这个 VPS 节点进行 DHT 联网。
如果你自己懒得搭建 VPS,也可以通过你朋友或同事搭建的 VPS 来这么干。
再不济,你还可以去某些论坛或聊天群里面打听,或许也能了解到这种固定地址的 DHT 节点。


★Q & A


在文本结束前,补充一个问答时间。下面是一些经常被提及的问题。

◇读者提问:为啥新版本的 BTsync(Resilio Sync)反而没有 DHT 功能?


从前面的介绍中可以看出:早期版本是支持 DHT 的,从 2.2.x 开始就去掉了 DHT。
俺个人的猜测是(纯属个人猜测):
BT 公司(BitTorrent, Inc.)是一直想通过 BTsync 来赚钱的。比如说:2.0 和 2.1 版本搞了一个“同步目录数限制”,用户要付费才能取消限制(这种伎俩引发众怒,所以官方被迫在 2.2.x 版本又去掉了限制)。再比如说:BT 公司后来剥离出一家 Resilio 公司单独运营 BTsync,并把 BTsync 重新包装成 Resilio Sync,这些也都是为了商业营销方面的考虑。
而去掉 DHT 的关键性在于——没有 DHT,所有的客户端都需要先连接到官方提供的 Tracker Server(追踪服务器)才能工作。这样一来,BT 官方(Resilio 公司)就可以对客户端软件具有【更多的控制力度】。
举个例子:从 2.2.x 开始的版本都需要依赖 Tracker Server。对这些版本的客户端,(从技术上讲)BT 公司有办法强迫它们升级版本(不升级就使之无法工作)

◇读者提问:BT sync 会暴露公网 IP 吗?


如果你的 BTsync 客户端【没有】通过代理或 VPN 的方式,而是直接联网,那么与你连接的其它节点【可能会】看到你的公网 IP。

◇读者提问:对于电信运营商(ISP)或者公司网管,能监控到我的 BTsync 流量吗?


BTsync 传输的数据是【强加密】的。所以,监控网络流量的人(Sniffer)最多只能猜测出你在用 BTsync,但是【无法知道】你正在同步的文件名和文件内容?

◇读者提问:用 BT sync 同步翻墙工具会被跨省吗?


维稳系统的人力(比如说网警)是有限的,他们的精力也是有限的。所以他们会重点搜捕敏感信息的【发布源头】(比如像俺这种大坏蛋)。对于【获取】敏感信息的普通网民,他们才没空搭理你。
以翻墙来举例:
六扇门(公安、国安)是不会去抓翻墙的网民(太多了,抓不过来,而且法不责众)。相比之下,网警会想办法去定位翻墙工具的作者。
对于 BT sync 也类似。如果你通过 BT sync【获取】敏感内容,六扇门才懒得理你;但如果你通过 BT sync【发布】敏感内容,就要小心被六扇门的人盯上。所以,俺作为 BT sync 的发布源,一直是采用【基于 TOR 的多重代理】来运行 BT sync。

◇读者提问:(在不付费的情况下)如何去掉 2.1 和 2.2 的限制?


(先声明:这招是网上看来的,俺【没】尝试过)
在安装前,先把系统时间调到若干年之后(比如2020年或2030年),然后再安装。
等到你用了超过30天,试用期结束了,你把系统事件调回正常的。这时候 BTsync 会以为还在试用期内。

◇读者提问:为啥不用 Syncthing 来替代 BTsync 作为分布式网盘?


首先俺承认:Syncthing 作为开源软件,在“开源”这点上明显好于闭源的 BTsync。
但是,Syncthing 的问题在于——更适合用于【私有分享】,而【不适合】用于【公有分享】。也就是说,你个人用它在多台设备之间同步,是没啥问题滴;但像俺这样用来搞一个面向成千上万网民的分布式网盘,Syncthing 就显得不合适了。

◇读者提问:能否提供 BTsync 的校验码?


先分享俺手头已有的 1.4.111 版本在各个平台下的软件包的哈希散列值(考虑到 MD5 和 SHA1 已经不够严密,下面使用【SHA256】)
(俺手头这几个软件包是当年从 BT 官网下载并保存至今)
483a8203d11053fe18f89bb4d95aaf97c4d6e4203a546d0f81efe19c5b221638  Windows/BTSync-1.4.111.exe
f3b3095d5b7021157ada032040144e715621585864e979ba53a4697be8918ae3  Linux/btsync_i386-1.4.111.tar.gz
6ea03cd2f60177baca58c701b80e1abf44b7c42fc4ec5b8bcfd3b266876e832f  Linux/btsync_x64-1.4.111.tar.gz
758cb2e3b21a21297a6fc46ca36999b2c7c170939b366e012af62a2ca953179c  Linux/btsync_glibc23_i386-1.4.111.tar.gz
921c47be0f60a3c88e8452a1de5252b2cbf1c8280d57a011f400d3cb9df676cc  Linux/btsync_glibc23_x64-1.4.111.tar.gz
1c7df900e4a64d7f349605b3406c183399fb09a6b96278ae04817e2fcce0acf4  MacOS/BTSync-1.4.111.dmg
c29133157b30ffbfb940a1c24da658779a35ed3e50b69c21b3d911a66434aa6f  Android/android-google-release-1.4.65.apk

★结尾
今天先聊到这儿。关于本文介绍的这些,需要大伙儿多反馈,多分享经验。
与 GFW 斗争,需要群策群力。(套用我党的一句口号)要让 GFW 陷入到人民战争的汪洋大海!
来自https://program-think.blogspot.com/2017/08/GFW-Resilio-Sync.html
---------

related post: 
http://briteming.blogspot.com/2016/01/dhtsimdht.html
https://briteming.blogspot.com/2013/10/bittorrent-sync.html

陶杰:印度人为何恋殖

一场台风,引起英治时代基建良固的恋殖风。
英国管治印度,正式共一百九十一年,两个世纪不到,在印度建了十三万六千座桥,没有一座是豆腐渣。印度独立七十年,有许多撞火车的意外,不是英国人留下的铁路网有问题,而是一九四八年独立时,印度人口三亿,今日十二亿,铁路不胜负荷。
十九世纪初,东印度公司垄断了印度的出口,包括茶叶和鸦片,由于东印度公司管理完善,于产品质检严格,在印度种植的鸦片,东印度公司主持提炼,比中国人在云南种植,或由阿拉伯以海上丝绸之路输入的鸦片土炮为佳,市场口碑好,补足了英国长期向大清国买入的瓷器茶叶的顺差,才爆发贸易战争。
英国在印度投下基建之前,展开了一个很伟大的全国绘制地图的工程,连绵长达六十年,史称Trigonometrical Survey of India,无数地理学家、地质学家、植物学家和工程师,将全国山岭、洞穴、森林、河谷的繁复地貌纪录下来,了解三百多种方言,最终仅以六千政务官,到独立时,将一个五千年历史国家交给了甘地。
殖民地政府废除了许多印度部族残酷的所谓“文化”,包括丈夫先死,遗体在柴堆上焚化、遗孀须亦自焚以殉夫。英国人一来,即刻立法禁止。还有各地翦径的盗匪,印度人叫做Thuggee(而Thug这个字,指最下流的恶棍),也被殖民地政府铲除。
英国人眼见印巴两大主要民族,因宗教不同,互相仇视,末代总督蒙巴顿,奉工党首相艾德礼之政,主持印巴分治。英国撤出印度,是继地图测划之后第二卷史诗。
因为尼赫鲁上台,当家作主,以为印度可以做得比宗主出色,又受到马克思主义毒素诱惑,借镜中苏两大共产国家,推动社会主义,结果错过战后全球复兴的时机,越穷越见鬼。
英国殖民时代培训的大学精英教育,因语文之便,为印度制造了全球数一数二的工程师和医生。时至今日,在美国硅谷,印度的电子/it科学家雄霸一方,皆英国殖民地政府隔代造成
--------
同样道理,香港人怀恋英国主子也很正常,香港人被英国统治好过被共匪统治,因为英国统治下的香港是民主社会。
香港人的心中自然有一杆秤!

Wednesday 30 August 2017

大跃进和大饥荒




iCloud keychain在设计上确实存在一些弱点

不少iOS用户,都会用iCloud keychain去管理自己的密码,只不过有保安专家发现,iCloud keychain有可能被执法人员在扣留手机的时候,一并将各类密码取走,那对中国用户而言,iCloud keychain这个如此好用的功能,又应否使用?

李建军:iCloud keychain在设计上确实存在一些弱点,可以让执法人员在扣留手机后,只要知道Apple ID,而手机又是被信任的装置,就可以取走keychain上所有密码,所以如果你是一些受当局监控人士,使用iCloud keychain的确有风险,所以不建议使用。

如果你的Apple ID是在中国的话,就更加不要用iCloud keychain,一方面,中国用户的iCloud数据中心在中国国有电讯公司网络内,与你的资料存于中国国有电讯公司一样。另一方面,亦不清楚苹果中国分公司,与中国当局有多大程度上的合作,当你的资料并未受西方国家私隐法律保护之下,贸然使用iCloud keychain,是十分危险的行为。在iOS平台其他密码管理程式或服务,可能更为安全可靠,没必要一定要用iCloud keychain的服务。就算将Apple ID搬离中国,由于iCloud keychain有的问题是属于设计上的,因此并不建议使用。但如果是用海外的Apple ID,由于帐户受到海外的私隐法律保障,而主机亦不设于中国境内,有可能设于法律比较严谨的国家境内,苹果中国分公司未必容易可以将你的资料交予中国当局,相对上比较安全。但暂时未看到有任何必要性,必须使用iCloud keychain。

这次翻墙问答,我们准备了视频,示范如何在iPhone或iPad关闭iCloud keychain功能,欢迎各位听众浏览本台网站,收看有关视频。
来自http://www.rfa.org/cantonese/firewall_features/firewall-icloudkeychain-08252017075337.html?encoding=simplified

Tuesday 29 August 2017

贫穷是你想象不到的绝望

如果不是那场癌症,小丽还不知道爸爸的爱如此深沉。‌‌”
前天在微博上刷出一则令人心酸的故事:
杭州一名患癌男子不愿吸氧,只为多给女儿省两块钱。
这位爸爸是一名出租车司机,开了20多年夜班,2015年起身体开始不舒服,但一直拖着不肯去。
就这么拖了几年,病重住院时已确诊是肝癌晚期,吃不下饭,呼吸急促。
可面对刚刚踏入社会的养女,他却强打精神。‌‌“我看他呼吸困难,让他吸下氧气。他总说气能透过来,不用。‌‌”
几个月后爸爸病情加重才向女儿吐露实情:‌‌“我总希望给你多省两块钱用用。‌‌”
女儿哭着说,可是一小时氧气费才四块钱啊。
看完这条新闻,我的情绪十分复杂。
可以想见,一个普通家庭五十来岁的中年人,上面尚有双亲侍奉,下有初入社会的女儿,身边还有相濡以沫的爱人需要供养。
家里的顶梁柱轰然倒塌,漫长的治疗正在缓慢拖垮他们仅有的积蓄。
衣食住行用,能省的地方都省了,想来想去,呼吸还可以少花一点儿钱。
那,就少吸两口气吧。
在一片‌‌“父爱如山‌‌”的评价里,有网友这样说:
‌‌“你看到的是爱,我读出的是底层人民的痛。‌‌”
网上有一个很有趣的问题:房间里有100个人,每人都有100元钱,如果每过一分钟,每个人都要拿出一元钱随机给另一个人,最后这100个人的财富分布是怎样的?
这个问题,可以看成一个小型实验,模拟的是规则绝对公平时,社会财富的流向。
财富随机流动的话,贫富差距是否就会消失呢?
城市数据团用程序模拟了这个过程:
如果把财富量从高到低排列,在17000次流动后,社会财富的分配是这样的:
就这样,80%的钱跑进了20%的口袋里。即使在最公平的规则下,世界依然展现出了残酷的一面。
更何况,真实的财富流动并不随机。
有个段子是这么说的:
我告诉你一个一年稳赚两百万的办法……往银行里存一个亿定期,一年稳赚两百万。
笑话归笑话,事实也确实如此,原始资本往往是积累财富最有效的方式之一
据世界银行报告显示,大部分国家的贫富阶级之间都存在差距:2014年,美国基尼系数0.47,中国基尼系数0.46,俄罗斯基尼系数0.422,拉美、南非等地的基尼系数甚至达到0.6以上。
用简单的语言解释,就是目前全球三成的社会财富被顶端1%的家庭所占有,而底端25%的家庭仅拥有一成社会财富。
《新约·马太福音》中记载了一个耳熟能详的故事。
主人远行前,叫来三个仆人,把自己的财产分配给他们去打理。
主人回来时,第一个仆人用银钱做买卖,另赚了五千;
第二个仆人依此方法,另赚了两千;
第三个仆人报告说:‌‌“你给我的银钱,我一直帮你存着,没有拿出来。‌‌”
于是,主人命令将第三个仆人的那锭银子赏给第一个仆人,并且说:‌‌“凡有的,还要加给他,叫他有余;没有的,连他所有的也要夺过来。‌‌”
在现有的经济规则下,贫者愈贫,富者愈富,这是著名的‌‌“马太效应‌‌”
世界,有时候真的是残酷的。
在残酷的人间艰难地活下去,很多时候困顿远超出我们的想象。
知乎上‌‌“贫穷有多可怕‌‌”问题下,最高票答案是这样的:
大概十来年前的事,同村的一个光棍,孤儿,被倒下来的土墙拍了一下。当时头都软了,拿布包了下,去医院看了,医院说头骨碎了,需要几万块,这人说没有,就简单处理下回家等死,然后就死了。
大学时候去医院里,碰见一个人,腹水,瘦得骨架一样,挺个篮球一样的大肚子,医生说你这个要住院啊,他说没钱啊,医生叹了口气,说你这个就没办法了,这个人就摇摇晃晃回家了,手里还拿个小凳子,走一段就坐下来歇歇。
以前村里有一座空宅,老人都不允许靠近。因为那一家人得了肺结核,又穷,那时候好像没有免费治疗,而且就算有,他们连路费都出不起。后面就全家死光了,好像剩下一个远走他乡了。
面对贫穷这个话题,大多数人的第一反应是寒门对眼界、见识、发展的影响。但其实这不是真正的贫穷。
真正的贫穷来不及考虑出路,真正的贫穷是一不小心,就死了。
根据国家统计局标定的贫困线,按照人均年收入2300元以下计算,还有将近一亿的人口挣扎在贫困线以下。
年收入2300是什么概念?
你手里一部最普通的国产手机,有将近一亿人,不吃不喝工作一年才能摸到。
这群人口体量是如此庞大,可是在互联网世界里,他们的声音掩埋在八卦热点和花边新闻之中,并不响亮。
最外延的,是那些一辈子生活在闭塞山村的人们。
前段时间,曾有一篇‌‌“最悲伤作文‌‌”在网上走红,文中的彝族小姑娘用300字描述了妈妈离世前,一个家庭的刻骨悲哀。
‌‌“妈妈病了,去镇上,去西昌,钱没了,病也没好。‌‌”
‌‌“饭做好,去叫妈妈,妈妈已经死了。‌‌”
除去一小撮被媒体关注到的幸运者,他们中的绝大部分,终其一生都在为最最基本的生存挣扎。
因为身边都是和自己一样的人,所以无人关注,无人怜悯,也没有太多想改变。
时间在他们身上只留下老去的痕迹,日复一日的生活和一眼望到的结局。
离我们稍近一些的,是那些因残因病致贫的普通人家。
不少去过欧美国家留学的朋友们跟我说过一个奇特的现象:国外街头残疾人数量多到不可思议,地铁上、商场里、大街上,经常能够见到。
为什么外国残疾人这么多?是基因原因么?
不是。
截止2011年,中国有8296万残疾人登记在册。按当年年底人口13.4亿计算,差不多每二十个人里就有一个残疾人。
但看看周围,为什么从来没觉得残疾人数量有那么多?
因为这些残疾人,根本就没法出门,所以你看不见。
这是独属于少数人的无奈,就像电影《推拿》中的那句台词:
盲人们生活在黑暗的世界里,它不但是生理上的黑暗,还有心灵的黑暗——对周围世界尤其是对正常人的恐惧。
站在大街上一眼望过去,那些弯弯曲曲的盲道,高高的阶梯,当成摆设的折叠通道,无不是一道道高墙,把八千万人阻隔在我们看不见的地方。
他们没办法去看一眼热映的电影,没办法吃一顿简单的堂食,没机会参与绝大部分社会活动,只因为活动设施是为‌‌“正常人‌‌”设计。
用影评人、先天性肌营养不良患者罗罔极的话来说,他们渴望踏入社会,可社会正在将他们锁死。
在殷实人家,或许尚有霍金、史铁生、罗罔极、程浩,经济基础构成的底气和个人意志一起,支撑他们在自己喜欢的领域探索,在网络发声,对这个以痛吻我的世界报之以歌。
但还有更多籍籍无名的人,拖垮整个家庭却只能终日等候照料,一生唯一的任务就是在痛苦中和命运赛跑。
他们活的时候感觉随时都会死,死的时候好像从来没活过。
再近一些的,是城市里的劳动者。
看过一个小故事:街头,卖水果的中年妇女一边撒泼,一边死死抱住推车不肯撒手,大有一副同归于尽的架势;年轻的城管也不甘示弱,抢上前去伸手折断了水果摊的秤。
晚上,疲惫的妇女往女儿碗里夹了块鱼肉:‌‌“快吃吧,今天生意好得很呢。‌‌”
黧黑的小伙子给病床上的父亲拢了拢被子:‌‌“我工作挺清闲的,就是坐办公室。‌‌”
北京一直在飞速发展,可是很多身居其中的人,一边为第二故乡的进步自豪,一边隐隐感觉,机会可能是留给了其他人,这种繁华,和自己并没有太大的关系。
因为勤勤恳恳过去十几年,自己的状况并没有改善,未来也不知道在哪里。
和老家一个远房弟弟聊过天。他是工厂的机械操作员,上星期因操作不慎被机器削掉一截手指,工厂判定是他的责任,不予赔偿。他在家休息了一周后,又回工厂上工了。
我问他,这份工作这么危险,待遇还低,为什么还回去做?
他的语气里听不出什么情绪波动:‌‌“我也不会干别的,掉手指总比饿死强。‌‌”
其实仔细想想,他们和我居住在同一座城市里,甚至每天都会打交道,生活却仿佛在《北京折叠》里的第三空间里一样没有交集。
放眼中外,世界把视线聚焦在跑得飞快的一线城市,而把农村和来自农村的人忘在脑后。
我从没注意过,小区楼下理发店的Kevin老师平常在想什么,灯火辉煌的都市中,那些建筑工地的工人在想什么,街边的夜幕下,小吃街上的摊主们收摊时都聊些什么。
这一切,真的就像《平凡的世界》里说得那样,人们宁愿去关心一个蹩脚电影演员的吃喝拉撒和鸡毛蒜皮,而不愿了解一个普通人波涛汹涌的内心世界。
贫穷最大的问题,是在人生的很多转折点上,你没有能力去保护自己想保护的人,没有能力抵抗外界的侵蚀。
在绝境之下,爆发的感情更令人心酸。
武汉大学讲师刘燕舞曾主持过社科基金项目《农村老人自杀的社会性研究》,研究中展现的老人自杀案例,多在极端贫困的湖北农村发生。
有两位老人,重病家里出不起钱,儿子也不给饭吃,还屡遭媳妇打骂,头朝下扎进家里的水窖中。
还有不少老人行动困难,拿不到药水瓶也站不上板凳悬梁,便在不及人高的窗户上,搭起一根绳,挎住头,蜷起腿活活吊死。
‌‌“这些都是有必死的决心的。‌‌”在中国青年报的报道中,刘燕舞对记者分析道。
他还记得有人跟他介绍说,一位老人要自杀,但怕子女不埋他,便自己挖了个坑,躺在里面边喝药边扒土。
调查发现,老人自杀的动机中,利他心理非常明显。‌‌“这些老人不想变成子女的累赘。自杀的后果也将给子女带来收益。甚至,他们即便自杀还处处为子女着想。‌‌”
老人们有的不会在家里自杀,而是选择荒坡、河沟,帮子女避嫌;或者与子女争吵后不自杀,待到关系平静后才自杀;还有两个老人都想自杀,也要错开时间,以免对子女家庭产生不好影响。
就连开头提到的新闻,在经济还算发达的杭州城内,重病在家的老人,为了给下一代多争取一点点未来的保障,无奈之下,也只能把自己的健康和生命抵押出去。
‌‌“世上最痛苦的是什么?人死了,钱没花了;更痛苦的是什么?人活着,钱没了。‌‌”
赵本山和小沈阳的这段俏皮话,放在底层家庭面前,变成了真实的抉择。
马薇薇说过,人生有三种选择题,两个选项都对的无所谓,因为选哪个都爽;一个选项对一个选项错也容易,选错了是你傻;最难的,是两个选项都是错的。
选择花钱续命,家人必须承受病人走后巨大的经济亏空;
选择放弃治疗,家人的后半生将永远活在子欲养而亲不待的遗憾之中。
他们的手上,没有正确选项。
医院的走廊比教堂聆听了更多的祈祷,比哭墙见证了更多的绝望。
在贫穷面前,善良的力量有多弱?我曾经看到过一个令人动容的回答。
总有一天,你的亲人会老去,进了医院,得了癌症,医生说已经晚期了不能手术,建议化疗。
癌症治疗方法有很多种,化疗药物中有一种叫进口药物,两万一针,没有医保,副作用小,不掉头发,化疗后不呕吐,病人精神。
普通国产化疗药,一针一千多,可以走医保,吃了呕吐,头发掉光。病人被折磨得生不如死。
嗯,你是善良的人,你只是穷。
半年后病情进展,化疗没用了,于是医生又给你两套方案。
你可以选择保守治疗吃中药,回家慢慢忍受疼痛直到死亡来临。
你也可以选择国外的靶向药物治疗,一天一片,每天1000,没有医保,全部自费。
效果真的有,吃了以后,病人躺在床上能跟你聊天,也不会再昏迷。
问题是,你有选择的资格吗?△
余华在《活着》里写过这样一句话:
‌‌“活着‌‌”的力量不是来自于喊叫,也不是来自于进攻,而是忍受,去忍受生命赋予我们的责任,去忍受现实给予我们的幸福和苦难、无聊和平庸。
不论贫富贵贱,都是努力在活着。
以前回家的必经之路上,经常见到有个老人跪在路边,为生病的儿子乞讨,我并不知真假,只是见得久了,看他跪得辛苦,兜里有零钱也习惯性给一点儿。
昨天我又见到他,刚准备掏出零钱,他说,不用了,我儿子死了,明天收拾东西带他回老家。
人类的悲欢并不相通。很多时候我们无法触及底层的悲哀,但或许可以多一点点理解。
这几年社会发展得很快,可是我觉得,好像还有什么东西没有跟上来。
我想要的社会,不止有鳞次栉比的高楼,车水马龙的交通。
更想有畅通无阻的盲道,公共交通的轮椅升降机;
想要有永远为有需要人士空着的爱心专座,底层收入水平的提升;
想要写字楼下有外卖等候的专区,想要有更多平等友善的眼光。
我想要一个有温度的社会。
虽然做起来很难,但是不能因为难,就不做了

荣剑:“脑残”释义

我前几天写了文章:中国之不可翻译,自己很满意,但对转发量不满意,这么好的文章,寓意如此丰富,阅读量只有一万多点,似乎也在证明我的观点:中国不好翻译,汉语的多义性有时很难直截了当地表达出来。当然,这也不是一个绝对的情况,能把复杂的汉语巧妙地翻译成西语,范例不少,昨天看到一例,令我“拍案而起”(莫言式引用)。这就是英语对汉语“脑残”的翻译,翻译如下:
your brain has two parts,left &right,your left brain has nothing right,your right brain has nothing left.
这不知是哪位高手翻译的,意思精准又一语双关。准确地说,这是英语对脑残的释义,既可以理解为你的左脑不是右脑,你的右脑不是左脑;也可以理解为你的左脑没有任何对的东西,你的右脑没有任何东西。后面这个意思堪称脑残的标准定义。
脑残这个词在当下语境中被广泛使用,可以释义为愚蠢、弱智、傻瓜、缺心眼、二百五,最近我提出的二,也是脑残的代名词。按上述英语对脑残的释义来看,脑子一半是空的,一半是错的,可以再做进一步的解释。
脑子一半是空的,说明学习不够,知识不够。没有知识做依托,就没有自己的主见,没有正确的事实判断,容易人云亦云。脑子一半是错的,说明没有正确的价值观,没有正确的是非判断,容易颠倒黑白。这两方面缺陷,可以说是既缺少良知——没有好的知识,又缺少良心——没有好的道德。永久性缺了良知和良心,肯定就是一个不可救药的脑残了。
导致脑残,有主动性学习不够、修为不够的原因,也有被动性洗脑的原因,洗的时间长了,脑子被洗空了、洗坏了,新的知识就装不进去。这种情况在网络世界里比较常见,一些评论员,不是实名注册,干一些脏活也不需要什么良知和良心,随便胡说八道也没有人管。对这些脑残患者,我更多地是抱着一种同情的心理,是哀其不幸怒其不争,毕竟这些人大都生活于社会底层,有时为生活所迫,不假思索地干一些脑残的活,挣一些生活费用,也是情有可原。我相信他们中的大多数人还是可以治好的。
有一些脑残,其实就是脑精,是因为过于精明反而脑残了。他们利欲熏心,见人说人话,见鬼说鬼话,察言观色,见风使舵,当墙头草。有一首打油诗说到一个脑精式的脑残,至为形象:“一撮鸡毛顶上冲,立在墙头等大风。东风吹来毛则西,西风吹来毛则东。夹头伸舌马臀前,忽左忽右探风源,南边开枪死马北,北边开枪死马南。”哪位翻译高手,可以试着翻译这首诗,看能不能把其中的微妙翻出来。
我有时也是非常困惑,按理说都是21世纪了,互联网时代,信息充分流动,世界扁平化了,中国梦和美国梦连通,为什么中国的脑残就是这么多?我有时批评一下某个部门,这个部门还没有着急,冒出一些脑残分子来,看上去很着急,他们会指责我说,你凭什么批评我们国家?你不爱国你可以离开这个国家!那天我举例说,小区业主对物业公司服务不满意,批评了几句,居然有人说,你不满意你可以走人。这不就是典型的脑残理论?!让人郁闷的是,这类脑残理论现在还在大行其道,成了许多评论员的口头禅。
去年国庆,北大官微发了一条微博,说祝贺祖国妈妈华诞67周年。北大已有百岁了,怎么会有一个67岁的妈妈?这个帖子发的实在是有点low,后来小编删了。有错即改是对的,关键还是要有一点反思。国家和政府是两个概念,中国如果从夏开始计算时间(这在史学界尚有争议),大概是4000余年,历经几十个朝代,换了无数个政府,也就是说中国常在,政府常换。国家和政府是两回事,批评政府,促使政府更好地管理国家,是爱国的表现。但许多人和机构都搞不清这个区别所在,说出脑残的话而不自知,出了洋相反而洋洋自得,真是可笑得很!
之所以在爱国上多说几句,是因为在爱国主义领域,脑残最多,脑残的说法也是最多,一些人打着爱国的旗号,既有极为愚蠢的言论,什么“哪怕华夏遍地坟,也要杀光日本人;哪怕大地不生草,也要拿下钓鱼岛”;也有极为愚蠢的行为,以爱国的名义大肆打砸抢烧。那年西安反日大游行,一些人抵制日货,结果把中国同胞的脑袋给打破了,就因为人家开了日系车。现在这个凶手还坐在牢里,不知道他是否有所反省?由脑残转为暴民,此人是个典型。有人说,抵制日货,不如抵制蠢货,说得实在是太到位了!
中国近代以来有过两波大规模的脑残运动,第一波是义和团,喊出的口号是“扶清灭洋”,这是当时爱国主义的大口号。慈禧太后听了后当然受用,说民心可用。于是放纵号称刀枪不入的义和团围攻洋人。北京一个西库什教堂,洋人不过拥枪几十条,义和团数万人围攻四十几天,居然攻不下来,可见脑残毫无战斗力。后来史实证明,义和团没杀死几个洋人,却是杀了不少自己的同胞,他们以为有慈禧太后撑腰,就可以为所欲为了。最后在清政府眼里,拳民也都变成了拳匪,必以围剿而灭之。这场浩大的历史闹剧由清政府丧权辱国而终止,史家对此有总结:上有慈禧,下有义和团。
第二波脑残运动是文革期间出现的红卫兵运动,就脑残的广泛性和疯狂性而言,堪与义和团相媲美,其特点一是愚忠,二是残暴,打着忠于领袖的旗号,打倒一切,砸烂旧世界,把社会基本的政治经济和文化秩序统统都打乱了。有统计资料证明,文革初期,仅北京市非正常死亡者就有好几千人,全国更是不计其数。当时流行的口号是:造反有理,革命无罪。在造反和革命的名义下,可以用暴力手段去攻击和批判一切牛鬼蛇神却可以不负任何法律责任。文革之祸,源于多重原因,民愚应是其中的重要原因。红卫兵运动后来的结局也是可悲,革命小将的利用价值用完了,领袖一个号召,就被尽数打发到农村边疆,扎根穷乡僻壤荒田野地准备干一辈子革命。原来以为这是一场好梦,可以在白纸上画最新最美的图画,谁知没几年就变成了一场噩梦,直至文革结束,这场噩梦才得以彻底结束。
前事不忘后事之师,这话经常被史家用来教育人们,但对现实的效果似乎并不明显,现实复制历史的机制很强大,历史翻篇很快,有的篇章可能忘了,有的篇章可能还会再来。对脑残这个国民性顽疾来说,有了义和团和红卫兵之前车,断然还会有新的后辙跟进。只要是特定的制度、文化和传统还在,新的脑残运动还会以各种形式源源不绝地生长出来。民智已开,治愚尚未成功,同志仍须努力.

中国应该封杀ICO融资


ICO(initial coin offerings,首次公开售币)是一种虚拟货币融资方式,正在成为席卷中国的金融风潮。ICO到底有多火?根据媒体统计的最新项目收益来看,截至8月25日,NEO(原小蚁股)自去年9月完成ICO并上线交易以来,涨幅已经高达282倍,排名第二的量子链(QTUM)的涨幅也已将近100%。这样的涨幅让ICO如火如荼,从原本属于极小众的投资圈开始向大众投资者群体蔓延。
数字货币首次公开众筹(ICO,Initial coin Offering)而来的币种,以公开募集的形式发放虚拟代币,投资人认购虚拟代币参与投资开发或运营的某个项目。该幕资形式无需发审委过会,投资者认购一定一定数量的代币便可在数字货币交易网站上进行实时交易,这种非算法类ICO币也称竞争币或者山寨币。投资收益则取决于认购的虚拟代币是否会升值。类似小蚁股、游乐币这样的山寨币还有非常非常多。除比特币、以太坊、莱特币等算法币,其他可以参与交易的ICO币种已达41类之多,可以交易的山寨币有点点币、黑暗币、未来币、世界币、维理币、暗网币、谷壳币、猴宝币、企鹅币、幸运币、招财币等等。
众多的ICO币种让人眼花缭乱,同一类币种可任意选择不同数字货币交易所公开交易。据不完全统计,2017年利用ICO进行融资的规模达到了13亿美元,仅7月一个月内就融资近6亿美元,有些疯狂的项目甚至半小时或者几分钟就能筹集上亿元。一位数字资产圈的从业内人士称,“身边的朋友都在做ICO,一夜之间融了几千万,这个市场太疯狂!”
据称,从香港、北京到伦敦,一些成功的金融家正放弃自己的高薪职业,投身到目前最火热的金融工具之一的ICO当中。香港某金融业人士所在的规模5000万美元的对冲基金已经支持了大约20笔ICO。最大的ICO项目筹资达2亿美元,超过了香港今年以来约3100万美元的平均IPO规模。业内人士称,ICO不同于传统金融业,没有天花板也没有壁垒,想象空间巨大。
由于没有门槛、缺乏监管,在ICO市场中存在众多散户,这些散户的进入也让ICO市场鱼龙混杂,诈骗、圈钱、想做事这三类ICO发行群体在市场中积聚。如果作为要想了解其具体的价值多加了解具体的项目,投资者需要考虑某一项目的区块链是否开放与公开,代码是否已经发布,独立审计的过程是否已经开始。因为通常ICO代币上线大型加密货币交易所都需要经历独立审计的过程,并不是所有项目都会有上述举动,也不是所有项目代币最终都能上线交易所。
在安邦咨询(ANBOUND)的研究人员看来,ICO正在成为一种正在迅速膨大的类金融泡沫。在当前资本过剩的时代,ICO名义上是在为项目募集数字货币资金,但在本质上,ICO具有两个特点:一是向非特定公众进行的集资;二是相比于比特币等建立在算法基础上的数字货币,ICO所交易的虚拟货币毫无门槛与约束。据某ICO投资人称,因为没有监管,目前市场上90%的ICO项目都不靠谱,质量鱼龙混杂,生拉硬扯,把一个原本没有融资能力的项目加一个区块链的外衣来圈钱。一些初级投资人表示,“根本不清楚是什么意思”。在参与了宣讲会,看到一些PPT资料后,在ICO投资热潮中就投身其中。
安邦咨询的研究人员认为,ICO在中国市场的迅速发展已经具有了危险的迹象,它在资本过剩的大背景下,已经对非特定社会公众产生了影响。我们在跟踪研究比特币之后,曾建议中国央行暂时封杀比特币,因为它已经在中国演变成一个地下金融领域。如今ICO的崛起则更是有了远超比特币的势头,如果任其发展,将会变成又一种“公开的”地下金融,央行根本无法对其进行有效管控。因此,我们建议国内监管部门对其进行封杀,在监管、法规体系没有准备好将ICO纳入之前,暂时不允许其发展。
我们也注意到,有国内媒体报道,中国有关监管部门可能对ICO采取行动,甚至不排除直接取缔的可能。媒体从多位监管人士处获悉上述消息,是否取缔的方案正在研讨之中,央行、证监会均参与其中。这一行动的法律依据来自1998年颁布的国务院3号令《非法金融机构和非法金融业务活动取缔办法》。
最终分析结论(Final Analysis Conclusion):
当前的中国流动性泛滥,并不缺少这一类衍生品级别的所谓“金融创新”。网络技术的发展、各类智能终端的普及,以及各类关系型社交软件的普遍化,使得各类非法圈钱的创新项目的滋长十分便利而迅猛。在需要维持经济与金融稳定的中国,面对这类创新一定要稳健,既要避免发生传统金融领域的系统性风险,也要未雨绸缪地杜绝新型的金融风险发生。

中年-行者的星辰与大海

我天天都拿着保温杯。虽然没有枸杞。但好像也不是那么的难过。其实所谓中年困境本质是一种对于岁月的恐惧,就是当你开始觉得自己生理和心理都开始乏力的时候,突然发现时不我待,距离自己想象的生活还差一大段,就是天天tree new bee也追不上。这种焦虑也许对大多数男人来说都无法避免,但偶尔也能找到一些理由安慰自己。因为我大部分的梦想,在三十岁后都洗心革面,重新生长。
我的梦想之一就是当一个孩子王,为一群正处于求知阶段的少年授业。但我知道如果现在去当老师,不可能会有学校要我。有,那学校也一定会被查封。大部分时候我面对的学生只有一个似懂非懂的小胖妞,这也不算差。和很多人想的相反,我并不是所谓的国学爱好者。所谓的国学只是传统知识的一个部分,被诸如于丹这样的一知半解的文化口红炒成了高大上的玩意。除了文学,我也给胖妞上历史、天文、地理、鬼怪甚至科幻——但凡我觉得是常识所必须的,我都会讲。而授课的核心宗旨只有一个,那就是让我的学生成为一个具备正常价值观的人。
成为一个正常人。说起来真是很容易。但现实中要达到这种目标,在一个不太正常的环境中,是需要莫大的努力的。知道本已不易,践行就更加困难。人作为一种社会属性的动物,随大流的时候总是更容易心安理得,无需思考,更易获得认同——大家都这样,我为什么不。而要逆流对抗整个环境的压力,成为一棵孤独的站着的树,就要面临更多的现实的压力和利益的催逼。而且多数时候人们往往自我感觉良好,不觉得自己有什么样的残疾。即便是自己的思想已经被无数次的阉割,成为垃圾的堆放场。
在最百无聊赖的岁月中,读书成了唯一的寄托。当然我并不只是历史,也读金刚经,读量子物理,读一直都喜欢的简媜散文,甚至是卓伟那些无聊的八卦。知识没有和阅历结合的时候,只是一堆无趣的数字或者故事。结合之后,就会有一些意想不到的化学反应,长成新的血肉。见识到一个全新的世界并不会带来立竿见影的好处,甚至会带来危险。但它会改变一个人思想的高度,决定追求、抱负,做人做事的出发点
我的价值观是三十岁之后形成的。认识到这一点并不丢人。因为有些人一辈子都没有什么价值观可言。要否定一个成长了三十年的自己,然后血肉模糊的组成一个新的自我,本身也是很痛苦、很挣扎的事情。懂得利益的取舍是成人的必然,但是懂得什么是值得坚持什么可以放弃,就跟聪明没有什么关系了。那是阅历、智商和道德操守共同的产物。
如果要问当年那个打砸美国大使馆的少年,和今天安坐在斗室之中,对所有爱国论调保持警惕的中年人,是不是同一个人,我也会觉得有点惊讶。这就是时代所带来的不可逆转的变化,可以是我,也可以是某个人。认知是这样一种东西,足够的知识加上足够的阅历,还要加上一点点悟性,才能成就与年龄相称的智慧。通常我写文章从来不跟反对的人争论是因为,我觉得聪明人无论观点如何,在合适的时候总是一点就透。点不透的,只不过是时候未到,或者根本就没有那个必要。
即便最亲近的人批评你清高,我觉得这一点也并不是德行上的亏缺,不会因此而后悔或者愧疚。认识到自己是什么样的人,就选择与之对应的生活就是了。人人都能理解你,那得俗成什么样。有时候你跑快了,看不见后来的人,你可以悄无声息的继续跑。但不能说,我为了得到后来者的认可和嘉许,就要倒回去混进其中,和他们一起假装摸石头。没有这点自信,那读书有个鸟用。知识不是为了让我们更加圆滑,而是让自己更有力量。一个真正的读书人害怕的是自己读了很多书却没有悟道,而不是怕别人说自己清高。我跟你不在一个层次,毫无对话之基础,怕你说什么清高。
我们的人生需不需要某些结果呢。也许不全是。每当耗尽心力去写一篇可能只能存在几个小时,甚至根本就不见天日的文章的时候,我都会当这是某种程度上的修行。让一个人真正的学会面对无处不在的孤寂和落拓。有时候战胜自己远比战胜别人更为迫切。能不能写一篇自己满意的作品并不重要,更重要的是,时光这种东西可以固化成为可见的思想,成为某些见证,或者在某个时刻点亮一段路,温暖某些人。也许我一辈子都不能成为一个可以开签售会的人,但真不要紧。因为那并不是我所追求的。
面对嘲笑和不解是每一个传道者必将面临的困境。因为所谓的“道”,能够披荆斩棘指引后人,就必然不是当下的大路货,必然不是每个人都能理解。就如耶稣受难,不能因为门徒有一个犹大,人群朝他扔过石头和鸡蛋,就要放弃整个人类。历史是大众都有份参与的,但绝不是由大众创造、引领的。无数的水滴汇成大潮,但水滴本身只是被动胁裹,不知方向。貌似毫无用处的传道,总要有人去坚持。因为你不知道哪一天,它就成了火种。
都说成人只讲利益,小孩子才讲对错。这句话对了面上的一半。因为成人的利益有很多种,不一定能够量化。对某些人而言,可能所谓的中年恐慌就是过不上别人那样的生活。但对我来说,所谓的恐慌,是过不上自己定义的生活。一个人真正的成熟,是我们可以理解别人,但不强求别人来理解自己。阮籍当年苦闷至极,经常喜欢一个人驾车狂奔,没有路就停下来痛哭一场。要是我,停下来的时候我就掏出相机,好好的拍几张风景照,然后掉头,走向下一个路口
一个行者的目标,就该是星辰大海,哪怕会倒在在追寻的路上。

Monday 28 August 2017

专制政府的奴才们的逻辑

这些人会说“可以批评,但应正面点”,或“负面批评、恶意中伤”没有意思,然后更以自己为例,说自己也“不满”政府云云;事实上这种征状,在香港的“蓝丝”亦有,这些人也不满政府的施政,认为政府可以“改善”,但却绝对不容别人“恶意”批评,更不容反对政府的“激进”手法;那么如何抗议呢?就是“正面”点,向政府“建言”,为政府“加油”,给政府“多一点支持”,有如求神拜佛添多一些香油,更诚心祈求祷告,然后幻想自己因此可以得“皇天在上”的回应;事实上这是“政教合一”的宗教式信仰,政府有如神佛一样,是更高等层次的存在——你可以怨自己命苦,却不可以骂政府;你只可以跪求,如政府因此丢下一块骨头,你应该满足与感恩——还想怎样?神已经回应你了,你应该知足!
“中国”就是他们的神国,党军就是他们的天兵;当你痛骂政府,这些人的感觉就有如亵渎了他们的神灵,自然成为了“反中乱港”或“反中乱澳”的仇敌,是他们的敌人;“主子”被骂,奴才当然要第一时间反骂,既向“主子”献恩勤,更向“主子”邀功——看我如此“爱国”、“爱国爱党”,尽心尽忠“为国”,请党赐下更多赏赐吧——这就是国家洗脑机器的恐怖,令人失去了思考能力,无论你再讲道理,也有如对牛弹琴.

切换为国外(比如美国)的app id的办法


“设置”-“itunes store与app store"-点击你的app id-“注销”,访问https://itunes.apple.com/us/app/mudhorse-proxy/id1260125306 ,会提示要你登录或注册一个app id,你就注册一个app id,国家选择美国,注册成功后,用此美国区的app id登录,然后即可安装需在美国区方能安装的程序。


当然前提是先使iphone翻墙,比如用ss客户端翻墙。

一个轻量级的php框架:KK-Framework


KK-Framework is a fast, easy-to-use php framework.
View all documents on docs.ikk.me

from https://github.com/kookxiang/KK-Framework

Short URL,短网址程序

用于压缩长网址,并随机生成5~7位英文字母+数字作为短址.

安装说明

# 1. 使用 composer 安装程序依赖
$ composer install
# 2. 安装数据库结构
$ php ./Package/bin/phinx migrate

Nginx Rewrite

root /home/shortUrl/Public;

# 路由
if (!-e $request_filename) {
    rewrite (.*) /index.php last;
}

😄 Hashids 算法

  • Hashids 是根据记录的 id 与 设置的 HASHIDS_SALT 生成唯一token 的一种算法.
  • 它能够保证生成的 token 相对 HASHIDS_SALT 永不重复, 并且支持反向解密。
如果你使用 Hashids , 请务必去设置一个唯一的 HASHIDS_SALT , 并做好备份。

FROM https://github.com/sendya/shortUrl
-------
 
https://github.com/zu1k/shorturl

Shadowsocks-Panel安装教程

这个面板程序不是ss-panel,也不是ss-panel魔改版,请各位先知悉这是另一款完全不相同的Shadowsocks面板程序。

这款叫shadowsocks-panel的面板程序相对来说比较小众,用的人不多。与ss-panel魔改版做对比的话,有优点也有缺点。下面来具体说说。
shadowsocks-panel的前端风格和后台界面LALA都觉得比ss-panel魔改版要好看太多,所以说外观党一定会喜欢这款面板。另外在功能方面没有ss-panel魔改版看上去那样臃肿,整个后台界面的选项设置都是一目了然的。当然缺点也有不少,首当其冲的是这款面板程序目前作者还没有将一些功能开发完,比如提交工单、购买套餐的功能就还没有开发完成,并且LALA看了下Github的项目时间,貌似已经烂尾了。。。
基于上述LALA给大家的说明,各位可以先考虑下再决定是否使用这款面板程序。LALA本人还是挺喜欢这款面板的,所以今天就写篇详细的安装教程吧~
准备工作:一台VPS,系统安装CentOS6X64位。
还是老样子使用Xshell登录你的VPS,首先安装一下宝塔WEB面板:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
安装完成后,登录面板后台,安装LNMP环境,除了PHP一定要选择7.0以外,其他组件默认即可.
安装好后还是老样子在面板中新建一个网站,输入你的域名和创建一个FTP。接着点击设置按钮,进入到具体的设置界面。
首先设置程序的伪静态规则:
if (!-e $request_filename) {
rewrite (.*) /index.php last;
}
接着点击网站目录这个选项卡,将程序的运行目录切换到/Public.
现在点击面板上的软件管理,点击PHP版本后的设置按钮,点击禁用函数选项卡,将里面的函数全部都删除.
最后点击面板上的数据库按钮,进入phpmyadmin,使用phpmyadmin新建一个数据库,并命名为:shadowsocks
到这里shadowsocks-panel需要运行的环境就搭建好了。
现在打开shadowsocks-panel在Github上的项目主页,下载相关程序:
所有版本主页:https://github.com/sendya/shadowsocks-panel/releases
这里使用当前的最新版:
首先下载资源文件:https://github.com/sendya/shadowsocks-panel/releases/download/sspanel-v1.2.0.B/Resource.zip
接着下载主程序:https://github.com/sendya/shadowsocks-panel/archive/sspanel-v1.2.0.B2.zip
现在先解压主程序压缩包,然后以不包含文件夹的形式重新进行一次zip压缩,接着将重新压缩好的压缩包上传到网站的根目录中并解压。
重要:现在看到网站根目录中的Resource文件夹,点击进入这个文件夹上传Resource.zip压缩包并解压.
接着回到根目录,进入Data文件夹,编辑里面的Config.simple.php文件.
将刚才复制的所有内容全部粘贴到这个新的Config.php中.
查找到如下图的内容,将如下图内的数据库连接信息修改成你刚才创建的数据库信息:
回到网站根目录下,选择Data目录,点击权限按钮.
将Data目录的权限设置成777。
现在记住并复制你的网站根目录路径,一般是:/www/wwwroot/你的站点域名
回到Xshell终端里面,进入到你的站点根目录:
cd /www/wwwroot/你的站点域名
输入如下命令开始安装shadowsocks-panel面板程序:
php index.php install
稍等一会儿看到ALL DONE则说明安装成功.
确定所有页面都能正常访问后,最后给面板添加一下计划任务。
输入命令:
crontab -e
添加:
* * * * * /usr/bin/curl http://你的站点域名/cron
退出保存即可。
现在来给面板安装后端服务并进行整合。
cd到root目录下:
cd /root
获取最新版shadowsocks-rm manyuser:
git clone https://github.com/Acris/shadowsocks-rm.git
cd shadowsocks-rm/shadowsocks
安装必要软件包:
yum install m2crypto python-setuptools
easy_install pip
安装cymysql支持:
pip install cymysql
安装libsodium(如不需要ChaCha20、salsa20等加密算法可不安装,不过LALA建议还是安装一下):
yum -y groupinstall "Development Tools"
wget https://github.com/jedisct1/libsodium/releases/download/1.0.10/libsodium-1.0.10.tar.gz
tar xf libsodium-1.0.10.tar.gz && cd libsodium-1.0.10
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig
编辑配置文件:
vi config.py
找到配置文件中的数据库连接信息,修改成我们之前创建的数据库信息(和面板使用的数据库是同一个)
退出并保存配置信息,现在来关闭一下CentOS的防火墙:
service iptables stop
先将后端用调错方式尝试运行:
python servers.py
现在打开我们的网站,点击右上角的获取邀请码,初次安装好的面板,系统会自动预留一个可注册的邀请码,并且第一个注册的用户默认就是网站的管理员.
现在我们来使用邀请码注册一下,
登录进去,是不是如之前所说,这个面板界面真的很漂亮~
现在来添加节点来测试下我们的后端是否能与面板整合并正常运行。
点击前台的管理员后台按钮进入到后台面板中.
因为我们现在运行后端的方式是为了调错以及测试是否能够正常使用,在我们确定SS能够正常使用后,现在要把后端放到后台去运行。
先按键盘组合键Ctrl+C退出当前运行的后端。
接着安装supervisor:
yum install supervisor
编辑supervisor的配置文件:
vi /etc/supervisord.conf
在这个文件的最下方空白处新增如下内容:
[program:shadowsocks-rm]
command = /usr/bin/python /root/shadowsocks-rm/shadowsocks/servers.py
directory = /root/shadowsocks-rm/shadowsocks
user = root
autostart = true
autorestart = true
如你是按照我这篇文章安装的面板和后端,那么上面的内容你无需做任何更改直接保存即可。如果你安装的路径不同,则需要更改command和directory后面的值。
最后启动supervisor,输入如下命令:
supervisord
到此,这个面板的安装与配置就基本结束了。
LALA的后话:
这个面板也支持自定义加密方式,但如我之前所说,需要先安装libsodium,确定libsodium安装好后,在后台添加节点的过程中也要选择该节点支持自定义加密。这样前台的自定义加密方式功能才能正常使用。使用方面很简单,用户只需要在前台点击账户中心,选择自定义节点加密,在新页面中选择想使用的加密方式保存即可.
另外还是如我之前所说,这款程序现在已经烂尾了,作者已经很久没更新,包括还没有完成的功能现在也没有音讯,所以你们在使用的过程中可以看到订单中心的购买按钮是不能用的、订单管理页面是空白的、我的工单页面是404错误、服务支持页面也是空白的等情况,这些都是正常的,这些不是程序没配置好,而是程序作者根本就还没完成这些功能。但这些功能不影响用户的使用,也不会特别影响想使用这款面板做SS销售的人。因为这款程序的卡密、邀请码功能还是完善的。我们完全可以抛弃程序的这些功能去使用第三方的发卡平台或者支付平台来销售.
可以考虑使用它的这个分支:
https://github.com/sendya/shadowsocks-panel/tree/master