请稍侯

多说实时邮件提醒

用多说有一段时间了,也发现了不少问题,比如加载速度越来越慢,服务不稳定,然而最不能忍受的是,当有人在文章下发表评论时,博主居然得不到任何通知,只能隔一段时间去多说的后台检查一下。Google 了一下,看到几篇文章里面说,导入一个用户,并指定 data-author-key 为用户 id,就可以有每日提醒了。但是我照着做了一下,在后台也可以看见导入的用户,然后仍然没有收到任何邮件。 后来发现了另外一种方法可以发送实时邮件提醒,基本原理就是不断轮询多说获取实时评论的 API,发现了新评论就自动发邮件到指定地址。看了下作者在 GitHub 上的代码,本来准备直接拿来用,随后发现了一些问题,于...

read more

将树莓派打造成多功能下载机

住的地方办的网络是 4M 小水管,被无良的代理商坑了,之前搞得欠费了好几次,最近老是间歇性断网,这种环境下弄个下载机就很有必要了。对于一个喜欢看电影、美剧的人来说,离线下载是我用的最多的也最实用的功能。我同时用了三个下载工具,aria2 用来多线程下载 http 资源,transmission 用来下载 bt 资源,xware 用来下载迅雷专用链资源。 一、需要的硬件 如果只是偶尔下点东西,可以用一个大一点的 sd 卡或 u 盘,不过价格会比较贵。建议还是通过 usb 接一块机械硬盘,2.5 寸 3.5 寸都可以。 如果通过 usb 接机械硬盘,需要一个 sata 到 usb 的转...

read more

树莓派搭建透明代理

前面介绍了如何将树莓派打造成无线路由器,以及如何用树莓派屏蔽网页、视频广告,接着我们在树莓派上搭建透明代理服务器,实现科学上网。 一、ss-redir + chinadns + iptables 实现透明代理的方法很多,这儿介绍两种。第一种是 ss-redir + chinadns + iptables。 ss-redir 是 shadowsocks 的一部分,在 pc 上面一般用的是 ss-local。chinadns 是一个防污染 dns 服务器,和 shadowsocks 出自同一个作者之手(clowwindy)。基本原理是,先通过 chinadns 解析域名,获得真实 ip...

read more

树莓派屏蔽网页、视频广告

前面介绍了如何将树莓派打造成无线路由器,接着我们让这个路由器更加智能,比如可以加上去网页广告、去视频广告和科学上网等功能。本来打算写成一篇文章,无奈太长,分开写吧,这篇先介绍怎样去除网页和视频广告。 一、去网页广告,dnsmasq + hosts 去网页广告的方法比较多,第一种是 dnsmasq + hosts。安装 dnsmasq: sudo apt-get install dnsmasq 为了方便更新,使用别人维护的 hosts 源,将 hosts 文件转成 dnsmasq 的配置文件格式,脚本如下: #!/bin/bash # Address to send ads to (...

read more

将树莓派打造成无线路由器

家里有个很挫的无线路由器,不能刷 OpenWRT,没什么可玩性,只好拿树莓派开刀了,顺便学点网络相关的知识。 既然是无线路由器,除了树莓派以外还需要一张无线网卡,本人使用的是 EP-N8508GS,这是一款廉价的无线网卡,支持软 AP,但是无法使用 aircrack,如果想用来破解无线网络,还是不要买这款了。如果你用的是其他型号的无线网卡,本文的大部分步骤应该仍然有效。如果是用的 360、百度、小米之类的随身 WiFi,可能有驱动问题,请参考这篇文章解决。 一、安装并配置 hostapd 为了使用无线网卡 AP 功能,需要安装 hostpad。如果你的芯片型号在支持之列,请直接从软...

read more

使用 ssh 和 vnc 访问树莓派

拿到树莓派并安装系统以后,得想办法访问它。如果有显示器或者电视,可以通过 HDMI 线或 AV 线连接,然后插上鼠标和键盘直接操作,可是我没有任何显示设备,我只有一部笔记本,所以只能远程访问了。我一般使用 ssh 远程登录,以后的几乎所有的操作都是在 ssh 下进行的,偶尔会通过 vnc 连接图形界面。由于 vnc 没有内置,所以得先通过 ssh 登录,安装 vnc server,然后才可以通过 vnc 访问。 一、ssh 远程登录 将树莓派通过网线连接到路由器,使笔记本和树莓派在一个局域网里面。在笔记本上登录路由器后台,一般是 192.168.1.1,查看连接到路由器的设备。以我的...

read more

树莓派折腾计划

很早之前就听说过树莓派,只是一直没有机会入手,去年年底趁树莓派 2 发布之际,抢先于年前购入,从此开始了树莓派折腾之旅。 最近重燃写博客的激情,准备将这半年折腾树莓派的经历写成一系列文章,本文作为开篇。 目前暂且拟定如下计划,其中大部分已经实现,带链接的是已经记录下来的: 入门篇: 使用 ssh 和 vnc 访问树莓派 路由器篇: 将树莓派打造成无线路由器(hostapd + udhcpd + iptables) 使用树莓派屏蔽网页和视频广告(dnsmasq + hosts, privoxy + adblock plus, privoxy + ocplayer) 使用树...

read more

关于本博客模板

转眼间一年过去了,这一年身患懒癌,几乎忘了博客这回事,直到最近,点开一篇篇文章,看到底下很多朋友的评论,突然有种小小的感动。向那些提问了却没有得到回复的朋友们道个歉,以后有什么问题可以直接给我发邮件,我看到了一般都会回的。 看到了很多朋友说我博客的主题很漂亮,谢谢你们的夸奖。这个主题是我在学校的时候弄的,当时我正使用另一个人的主题,一段时间之后有点审美疲劳,想换一种风格,于是找了某个国外的后台 admin 模板,撷取其中一部分 css 和布局风格,融入到当时正在用的 jekyll bootstrap 模板中。其实我是一个 c++ 程序员,对前端不是很熟悉,在 chrome 开发者工具里...

read more

NS2 添加自定义协议

NS 模拟分两个层次:一个是基于 Otcl 编程的层次,利用 NS 已有的网络元素实现模拟;另一个是基于 C++ 和 Otcl 编程的层次,如果 NS 中没有所需的网络元素,就需要首先对 NS 扩展,添加你所需要的网络元素。本文将以 NS 中 已有的 Ping 协议为例,讲述第二个层次的具体操作步骤。 一、头文件 新建头文件 ping.h,首先在头文件中定义 ping 包头的数据结构: struct hdr_ping { char ret; double send_time; double rcv_time; // when ping arrived t...

read more

NS2 分裂对象模型

每实例化一个构件时,都会同时创建一个 Otcl 中的对象和一个对应的 C++ 对象,两个对象可以互操作。 一、Otcl 类和 C++ 类的对应关系 分裂对象模型中的 Otcl 类称为解释类, 对应的 C++ 类称为编译类。它们互为影像类。 TclObject 是所有编译类的基类,SplitObject 是所有解释类的基类。 二、创建和销毁 TclObject new{} 创建解释对象和对应的影像对象。 首先创建出解释对象,然后执行该对象的初始化实例过程,init{},并把用户提供的参数传给它。在基类 SplitObject 的初始化实例过程中,通过 create-shadow ...

read more