quick install ShadowsocksR + tcp_bbr
昨天凌晨到今天早上上班前梯子挂了,这里重新搭建一个。 DO 上入了一个$5/M 的 Ubuntu 17.04 x32,下面就是刷脚本的事情。 安装 shadowsocksR,需要注意的事情就是不要选客户端不支持的 obfs,一开始选错了可以在/etc/shadowsocks.json 中修改,保持和客户端兼容。重启在/etc/init.d/shadowsocks restart 1...
昨天凌晨到今天早上上班前梯子挂了,这里重新搭建一个。 DO 上入了一个$5/M 的 Ubuntu 17.04 x32,下面就是刷脚本的事情。 安装 shadowsocksR,需要注意的事情就是不要选客户端不支持的 obfs,一开始选错了可以在/etc/shadowsocks.json 中修改,保持和客户端兼容。重启在/etc/init.d/shadowsocks restart 1...
一直想找机会梳理一下 kernel 的网络子系统,不如现在开始动手做,在梳理 kernel 前,先回顾一下操作系统提供的网络编程 API。 0x00 用户如何使用想了解一下 Linux 下的 tcp 个人认为 socket API 是肯定要介绍的,自 bsd 4.2 引入到如今已经 30 多年了,核心 api 是非常稳定见如下表格 C/S API 服务器端: socke...
之前写 go 语言时候发现 go 语言支持可变长参数,且写法与 c 语言类似,就好奇了 c 语言是如何实现可变长参数的。这里参考了[^this]。 C 语言可变参数通过三个宏(va_start、va_end、va_arg)和一个类型(va_list)实现的, void va_start(va_list ap, paramN);参数:ap: 可变参数列表地址paramN: 确定的参数功能:初...
今天遇到一个经验上的一个陷阱,蛮有意思的。小伙伴问我为什么 sudo 前后的 pip 位置不一样? 12345678[guohao@localhost ~]$ sudo type pippip is /bin/pip[guohao@localhost ~]$ type pippip is /usr/bin/pip[guohao@localhost ~]$ echo $PATH/usr/loc...
因为工作需要需要折腾一下,所以在这里备忘一下如何在 fedora 26 上测试 upstream 的代码。 12sudo dnf install fedpkg fedora-packager rpmdevtools ncurses-devel pesign elfutils-libelf-devel git clone git://git.kernel.org/pub/scm/linux/k...
0x00 workflowgit 的工作流程,已 k8s devel 的开发者文档里面图来说明: workflow 首先在 fork 代码,然后 clone 到本地,创建分支并修改代码,commit 发 PR 或者 rebase/fetch 别人的代码后修改发 PR. 0x01 tips Merge another branch of the same git-repo 1git...
0x00 install不得不说 latex 手工安装很麻烦,一次安装齐了宏包很省心。 0x01 fedora24安装命令: 123dnf install texlive-collection-fontsrecommended texlive-xetex texlive-latex \ texlive-titlesec 'tex(datetime.sty)' ...
0x00 cataloglinux 下面一般安装 gnu/emacs: 1dnf install emacs -y mac 下面推荐 emacs-mac: 12brew tap railwaycat/emacsmacportbrew install emacs-mac --with-spacemacs-icon 配置文件使用spacemacs,它主要功能通过 layer 来切分...