quick install ShadowsocksR + tcp_bbr

昨天凌晨到今天早上上班前梯子挂了,这里重新搭建一个。 DO 上入了一个$5/M 的 Ubuntu 17.04 x32,下面就是刷脚本的事情。 安装 shadowsocksR,需要注意的事情就是不要选客户端不支持的 obfs,一开始选错了可以在/etc/shadowsocks.json 中修改,保持和客户端兼容。重启在/etc/init.d/shadowsocks restart 1...

Posted on 

Linux kernel tcp overview

一直想找机会梳理一下 kernel 的网络子系统,不如现在开始动手做,在梳理 kernel 前,先回顾一下操作系统提供的网络编程 API。 0x00 用户如何使用想了解一下 Linux 下的 tcp 个人认为 socket API 是肯定要介绍的,自 bsd 4.2 引入到如今已经 30 多年了,核心 api 是非常稳定见如下表格 C/S API 服务器端: socke...

Posted on 

to explore c va arg

之前写 go 语言时候发现 go 语言支持可变长参数,且写法与 c 语言类似,就好奇了 c 语言是如何实现可变长参数的。这里参考了[^this]。 C 语言可变参数通过三个宏(va_start、va_end、va_arg)和一个类型(va_list)实现的, void va_start(va_list ap, paramN);参数:ap: 可变参数列表地址paramN: 确定的参数功能:初...

Posted on 

bash common sense issues

今天遇到一个经验上的一个陷阱,蛮有意思的。小伙伴问我为什么 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...

Posted on 

how to custom kernel on fedora

因为工作需要需要折腾一下,所以在这里备忘一下如何在 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...

Posted on 

git usage

0x00 workflowgit 的工作流程,已 k8s devel 的开发者文档里面图来说明: workflow 首先在 fork 代码,然后 clone 到本地,创建分支并修改代码,commit 发 PR 或者 rebase/fetch 别人的代码后修改发 PR. 0x01 tips Merge another branch of the same git-repo 1git...

Posted on 

install latex

0x00 install不得不说 latex 手工安装很麻烦,一次安装齐了宏包很省心。 0x01 fedora24安装命令: 123dnf install texlive-collection-fontsrecommended texlive-xetex texlive-latex \ texlive-titlesec 'tex(datetime.sty)' &#x...

Posted on 

emacs tips

0x00 cataloglinux 下面一般安装 gnu/emacs: 1dnf install emacs -y mac 下面推荐 emacs-mac: 12brew tap railwaycat/emacsmacportbrew install emacs-mac --with-spacemacs-icon 配置文件使用spacemacs,它主要功能通过 layer 来切分...

Posted on