作者:谷溪

七常委中最奇怪的一个

七常委中最奇怪的一个

此人籍贯山东,名字里却有个沪字。 这个沪字似乎成就了他,生于沪,显于沪,受江赏识,一飞冲天 […]

steemit 流量哪里去

最近连续看了一些 steemit 的介绍文章,我也动了上去写作的念头,毕竟博客被墙久已,访 […]

树莓派3初体验之一:搭建 Python 开发环境

树莓派3初体验之一:搭建 Python 开发环境

最近新买了一个树莓派3(购买前还考虑了 Orange Pi 等 Linux 开发板,但最终仍然选择了树莓派),主要目标是想通过折腾这个信用卡大小的 Linux 电脑,学习一下 Linux 系统知识,熟悉服务器的各项操作,顺便给自己搭建个 Web Server。
WechatIMG17

安装步骤很顺利,通过官网下载了 NOOBS 版的 Raspbian 系统,并复制到 TF 卡中,然后启动树莓派,一路 Next,很快就可以看到图形界面。然后看了一下树莓派内置的 Python 版本,发现是 2.7.9 以及 3.4.2,于是机智的我马上制定了第一个任务——把树莓派的系统自带 Python 3.4 升级到最新的 Python 3.6.2。

升级的过程是这样的:
1. 从 Python 官网下载 Python 3.6.2 的压缩包。
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
2. 解压编译
cd ./Python-3.6.2
./configure
make
sudo make install

3. 将 /usr/bin/python 的原文件删除,然后link到刚编译好的Python3命令上
rm /usr/bin/python
ln -s /usr/bin/python ~/Python-3.6.2/python

结果是虽然我把原本是2.7.9版本的python命令变成了3.6.2,但是配套的pip等工具却乱套了,一运行就会报语法错误,看来这样生变过去是不行的,于是想恢复回去,几经尝试后失败,遂格式化TF卡,重装系统。

第二次我不再 link /usr/bin/python, 而是机智的换成了/usr/bin/python3,但是依然出错,具体什么错误已经不记得了。再次格盘重装。

第三次终于成功,在命令行输入python3指向了/usr/local/bin/python3,我还没搞明白是怎么弄得,反正搞定了,明天去问问同事在哪里设置……

后来才想起来,要改环境变量里面的$PATH……这是刚学 Python 时候就遇到的问题,现在居然都想不起来了……

WechatIMG16

此时又遇到了第二个坑——Rsapbian没有安装若干必要的库,需要手动安装。

顺利配置好 Python3.6 后,我试着pip3 install requests,结果出现ssl module in Python is not available的报错,几经搜寻,发现是由于 OpenSSL 等库没有预置在 Raspbian 中,而 pip 则需要访问 https 加密的地址,故而报错。
首先,apt-get 安装这些库:
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
然后重新编译一次 Python 即可解决问题:
cd ~/Python-3.6.2
./configure
make
sudo make install

于是经过不知多少次编译,我终于装好了 Python3.6。后来又安装了 PyCharm,但实际运行中感觉延迟严重,所以这样大型的 IDE 可能无法在树莓派上顺畅运行,如果需要写代码,可以考虑轻量级编辑器(同时还有一个问题没有解决,就是如何卸载 PyCharm ……)。

最后说一下树莓派的整体感觉。

开箱之后的树莓派需要自己安装散热片、风扇、外壳,当然这些配件都需要另外购买。组装过程很简单,把散热片粘到处理器上,然后一层一层安装外壳,最后在外壳上方固定和连接风扇。如果有过装机经验,那么整个过程即为简单。组装完成后,我通过一根 HDMI 转 VGA 线,将树莓派连接至一个古董19寸显示器。

我(也是大多数树莓派素人)选择的是官方推荐的 Raspbian 系统,是 Debian 的树莓派分支。其实树莓派有大量的系统版本可以选择,例如 CentOS 的 ARM 版、Ubuntu Mate等等,可按需选择。Raspbian 的 GUI 没有 Ubuntu 那么炫酷,但是能在这么小的板子上运行如此完整而流畅的桌面版 Linux,也让人很欣喜。

目前我已经把若干连接线(视频线、鼠标、键盘)从树莓派上移除,仅剩供电线路并连上 WiFi,通过 Mac 远程登录进行管理。本来想设置一下 DNS 实现通过 hostname 直接访问主机,结果家里没有多余的机器做 DNS Server,华硕路由器的官方系统又不原生支持 DNS、我还懒得再折腾路由器,所以只是通过改本地的 hosts 来实现 hostsname 登录(我给树莓派起的名字叫做 footboy)。以后可能会在树莓派上搭建几个服务,通过 supervisor 管理;或者做几个 Cronjob 的定时任务。
WechatIMG15

【友人来稿】六四28周年,要纪念更要反思

【友人来稿】六四28周年,要纪念更要反思

【注:最近连续加班,且一直有工程在手,朋友的这片文章迟迟没有发出来。昨晚从端传媒获知诺贝尔 […]

暗黑科技物语——跑团游戏《祸不单行》原创剧本

暗黑科技物语——跑团游戏《祸不单行》原创剧本

祸不单行这个游戏,我已经跑过挺多次了,但其实依然不太熟练,因为规则泛用而限制极少,所以反而 […]

【微思客稿件】断网生存指南

这是给微思客写的第一篇稿件,有兴趣的朋友也可收听微思客FM:http://www.kan8kan.com/jm/vi7SDQmn.html

cutting-internet-cord-singapore-internet-ban_meitu_1

有没有想过,如果有一天突然全国范围内断网,你该怎么办?

据中国互联网络信息中心(CNNIC)在2016年下半年发布的第38次全国互联网发展统计报告,中国网民人数已达7.1亿,互联网普及率已达51.7%。如果一个外星人由于飞船故障迫降在中国,他会惊奇的看到城市街头的每一个人都盯着手上的奇怪设备(手机),通过无线信号将千里之外的服务器上的信息抓取到小小的手持设备上,如饥似渴的吸吮着互联网的信息流,同时不停的上传新的内容,每个人消费和生产的数据在网络运营商处汇聚成一望无际的比特海。

这个外星人很可能像杨永信一样对『网络』这玩意有着耿直的理解,认为每个低头族都让未来分外危险,而断了全中国的网才是善莫大焉。他判断地球已经进入了『紧急状态』,于是毫不犹豫的按下了那个红色按钮———

一瞬间,你被断网了。

焦躁的你发现信号满格、路由器正常、网线也并没有被猫拔掉,怎么就突然断网了呢?尝试过无数种方法的你最终会认清这个无奈的事实——网实实在在的断了,所有IP和端口都被屏蔽,没有任何方法可以使你连接到曾经无远弗届的互联网。

但出于某些不可知的原因,外星人并没有从物理上摧毁所有骨干网。得知这个消息的你欣喜若狂,你深知这个发现的重大含义——即便互联网已无法访问,但每个人的电脑实际上还是互相连接的。换句话说,你们仍处于同一个巨型局域网之中,甚至仍有公网IP。所以,理论上,通过某种方式,你或许能再度利用那些被荒废的网线和电缆?

从抽屉里掏出了一只崭新的U盘,你拍了拍它,轻声说了句——『那么,拯救世界的任务就交给你了!』

无服务器、永远在线的网站——ZeroNet

网址:https://zeronet.io/

ZeroNet是一个免费、开源、使用Bitcoin加密技术和BT技术的全平台分布式网络工具,他的原理比较像我们熟悉的BT下载:当我们通过种子(torrent)下载电影和音乐时,这些资源的来源并非某个机房中的服务器,而是其他用户的电脑硬盘,只要在网络中还存在任何一台电脑『做种』,资源就能够被持续下载,同时提供资源的设备量也会迅速增长,因此BT下载无法被单点封禁。

ZeroNet的工作原理与BT大致相同。在你通过ZeroNet搭建一个网站后,处于同一个网络中的用户即可通过ZeroNet将你的网络论坛下载到他的硬盘里,同时进行浏览。当第三个用户访问这个站点时,你和第二个用户会同时向他上传网站。如果用户基数足够大,那么即便你的电脑关机甚至硬盘损坏,只要别人的电脑上仍保存有网站的文件,这个网站就能永远『存活』下去。是不是很酷?

目前ZeroNet提供论坛、博客、社交网站、加密邮件、即时聊天等,几乎覆盖了大多数的互联网服务。在断网时期,网民实际上有能力以极低成本来为彼此搭建这些基础服务。不仅如此,ZeroNet还可以通过Tor网络隐藏自己的身份,ZeroNet绝对是你对抗外星人的工具包中的一件利器!

断网后我们照样聊天——Tox

网址:https://tox.chat/

Tox是一个开源免费的分布式加密通讯协议,诞生于『棱镜计划』被斯诺登曝光之后,对用户的通讯内容进行端到端加密,中间不经过任何中央服务器,还可以用于局域网内通讯。你发给好友的聊天内容不会像其他聊天软件一样先发送到中央服务器、再转发给收件人,而是直接发送到目标用户。

Tox和ZeroNet一样,也使用了BT技术,将用户点对点的连接起来。在你使用Tox的时候,会生成一个独一的用户名,只要你的朋友知道你的用户名,即可开始聊天。

目前Tox已经支持全平台,并有很多版本的客户端,界面简单易用不需要复杂配置,绝对是逃离外星人监控、实现安全通讯的不二选择!

虽然断网,但我还有几个G的学习资料想传给远方的你——Resilio Sync

上文介绍的ZeroNet和Tox都依赖BitTorrent公司开发的BT技术,其实BitTorrent公司自己也有一套黑科技——Resilio Sync。

Resilio Sync是一个分布式同步工具,同样不需要服务器,且支持全平台(但并不开源)。当你把一个文件夹加入Resilio Sync中时,可以生成一串密钥,如果在另一台设备的Resilio Sync中输入该密钥,就能将你的文件夹远程同步到这台设备中。之后加入的所有同步节点,都可以在下载资源的同时向其他用户上传资源。

由于文件存储在本地硬盘而非服务器上、对传输内容进行了加密、又以BT基础为依托,Resilio Sync实际上是一个高安全度、无存储空间限制、无下载流量限制、无审查、无法被封杀的超级网盘。资源拥有者甚至还可以通过设置权限来控制资源的分发和更改。例如你和你的朋友希望分发你们的音乐专辑,那么你可以分配给他读写权限,然后将只读权限通过各种方法公开出去,此时你们二人可以远程协作共同编辑专辑,而其他网友则可自由下载,当文件被修改的时候,所有同步节点都会被更改。

Resilio Sync还有很多很强大的使用方法,发挥想象力,它能成为对抗外星人的制胜法宝!

从你把包含了以上三个工具的U盘插入电脑的那一刻开始,这个看似被外星人判了死刑的网络就又有了重生的希望。你会把这些工具传递给别人,然后他们传给更多人。从古代开始,人们就懂得利用点对点的『飞鸽传书』来通讯,今天你们只不过把鸽子变成了一个个字符,传递到每一台电脑上。只要鸽子足够多,网络不仅会以另一种形态复苏,还能爆发出更强大的力量。

所以断网以后,不要放弃网络!我们还要保卫地球呢!

新玩家入坑,你该试试哪些桌游(战争类)

这篇文章是写给一家桌游吧的稿件,介绍了两个规则简单、节奏明快、还可以痛快对决的轻策略桌游, […]

【每日自动更新】翻墙软件合集

【每日自动更新】翻墙软件合集

Update: [2017/3/19] 添加了 Psiphon for Android [ […]