教程

2019

如何在普通网络环境下上北邮人

在学校里看剧、电影,下载破解游戏基本都靠北邮人。一方面资源比较全,另一方面是走 IPv6,不需要走计费的校园网 IPv4 流量。不过由于北邮人只支持 IPv6,而国内 IPv6 基本只有校园网有。问题来了,怎么在校外的纯 IPv4 环境下使用 IPv6 Only 的北邮人呢?

目前已经有一些运行商为家庭网络提供了 IPv6,但是北邮人这种教育网 IPv6 资源站点常常封禁了这些家庭 IPv6 网络。

IPv6
Feb 25
Shadowsocks 中继:从 IPv4 到 IPv6

最近墙又双叒叕加高了。在春节前就发现自己的 VPS 无法连接,后来发现还好只是端口被封禁,换成其他的端口就能使用了。不过这才撑了半个月新的端口访问又不太稳定了。如果再换端口,或许也可以。但是不是长久之计。不过我的 VPS 是支持 IPv6 的,一般来说,墙对于 IPv6 流量的拦截比较弱。或许可以想办法先把自己的流量转换成 IPv6 然后再出去。 Hello GFW, Goodbye GFW

Feb 21

2018

树莓派上搭建视频流服务的方法尝试

最近实验需要在树莓派上搭建一个简单的视频服务,而且,希望画质一定的情况下,消耗的带宽越少越好。关于带宽的问题,其实开始并没有考虑太多,但是在尝试用uv4l工具创建 mpeg 流的时候发现,尽管分辨率很低(720p)不到,需要的数据率却达到了大约 5MB/s。我们待测试的通信层不具备这样高的传输传输能力。因此需要想办法把数据率降下来。综上,我们需要产生一个编码后的视频流,如 H264。

Dec 26
Gitlab|安装-迁移-删除

GitLab 由乌克兰程序员 Dmitriy Zaporozhets 和 Valery Sizov 开发,它由 Ruby 写成。后来,一些部分用 Go 语言重写。截止 2018 年 5 月,该公司约有 290 名团队成员,以及 2000 多名开源贡献者。 GitLab 被 IBM,Sony,Jülich Research Center,NASA,Alibaba,Invincea,O’Reilly Media,Leibniz-Rechenzentrum (LRZ),CERN,SpaceX 等组织使用。

Dec 10
Make|自动生成依赖关系

Make 一般是在 Unix 环境下使用的自动化编译工具。他本身不是编译器,而是将众多 C/C++源文件组织起来,确定其编译方式和编译顺序的工具。一旦我们写好的 Makefile 配置文件,那么无论多么复杂的工程我们都可以用一条 make 命令来解决。事实上,尽管通常和 C/C++搭配起来使用,make 也能应用到其他的编程语言之中。

在使用 make 过程中的第一个核心问题是处理文件依赖的问题。例如:

1
2
foo.o : foo.c defs.h       # foo模块
cc -c -g foo.c

这里 foo.o 依赖于 foo.cdefs.h 。当后面两个文件发生变化时,make 会自动运行 cc -c -g foo.c 命令更新 foo.o 文件。但是,随着项目扩大。这种文件之间的依赖关系会变得非常复杂,一个小的改动可能会涉及到众多依赖关系的修改。因此有必要在项目的开始就引入自动构建依赖关系的工具链。

Dec 03
macOS绕过SIP安全机制限制的一种办法

SIP(System Security Protection)是苹果在 OSX EI Capitan 及其后版本的操作系统中引入了一种新的安全机制。望文生义就可以看出,这个安全机制是用来维持系统的完整性,保护系统免收恶意软件的篡改。具体来说,SIP 限制了 root 账户的权限范围,限制了 root 用户在对一些系统保护目录即其中文件的操作能力。但是任何对于安全性加强都意味着对灵活性的削弱

Nov 21