Google的新TCP拥塞算法BBR

更新:Debian9都发布好久了,用Debian9吧不需要折腾内核才能开启BBR 上个月网友发现Google在GitHub上的项目Google/BBR. 前几天发现在几个Linux发行版中的候选版内核已经实装,而里面刚好也有Debian. 在看了Telegram群组里的说明后自己试着新开一台机器用上了BBR. 对比测试后发现提升确实非常大,gce美西在试用默认算法的情况下重庆电信HTTP下载大概在100~200K/s左右,而切换到BBR以后HTTP下载速率可以达到3000~4000K/s. Debian系统具体步骤: 添加experimental源 bash deb http://httpredir.debian.org/debian experimental main 安装新内核 目前最新4.9内核预选版为rc8 apt -t experimental install linux-image-4.9.0-rc8-amd64-unsigned 目前的版本 apt -t experimental install linux-image-4.9.0-trunk-amd64-unsigned 目前已经进入unstable源 »

月杪 月杪 on Linux

利用nghttpx 搭建HTTP/2代理

利用nghttpx 搭建HTTP/2代理,配合了Squid.Squid相关配置可以参考在Debian上搭建适用于Surge的HTTPS代理 先安装必要的依赖 apt-get install \ g++ \ make \ binutils \ autoconf \ automake \ autotools-dev \ libtool \ pkg-config \ zlib1g-dev \ libcunit1-dev \ »

月杪 月杪 on Proxy

生成申请 ECC 证书所需的 CSR 文件

# 生成rsa证书csr openssl genrsa -out moonagic.com.key 2048 openssl req -new -key moonagic.com.key -out moonagic.com.csr # 生成ecc证书key # -name 参数可以自己选择 secp521r1, prime256v1 或者是下面所用的 secp384r1 openssl ecparam -genkey »

月杪 月杪 on SSL

手动编译Nginx支持ALPN,以在最新版Chrome中支持HTTP/2

安装一些必要的工具 apt-get install build-essential libpcre3 libpcre3-dev zlib1g-dev 下载需要的源代码 # Openssl版本需要1.0.2才能支持ALPN,而后者是新版Chrome支持HTTP/2的必要条件 wget -O openssl.zip -c https://github.com/openssl/openssl/archive/OpenSSL_1_1_0h.zip unzip openssl.zip mv openssl-OpenSSL_1_1_0h/ openssl wget -O nginx-ct.zip -c https://github.com/grahamedgecombe/nginx-ct/archive/v1.3.2.zip unzip »

月杪 月杪 on Nginx

在Mac上为Git配置代理

Mac上为iTerm2设置代理可以直接用 export http_proxy=http://127.0.0.1:6152/ export https_proxy=http://127.0.0.1:6152/ 但是对git并不那么奏效,因为git除了走https外还需要走ssh. 试了网上很多办法都不行,最后找到了这个办法: 先将connect(我自己clone到了github)克隆到本地 bitbucket上的版本需要做出一项改动才能在Mac上正确编译使用,还是直接使用GitHub上已经修改好的仓库吧1 git clone https://github.com/moonagic/connect.git cd connect # 直接gcc编译 make # 然后将编译得到的文件connect拷贝到bin目录 cp connect /usr/local/bin 修改ssh配置文件(没有的话新建一个) vi ~/.ssh/config # »

月杪 月杪 on Proxy, Mac, Git

shadowsocks-libev在Debian下新编译安装方法

很久没有升级服务器上的shadowsocks-libev,结果今天发现以前的编译方法已经无法成功编译.(以前的编译方法已经修正) 又不行了,还是看下面吧 必要的更新 apt-get update && apt-get upgrade 安装必要组件 # Debian8可能需要添加jessie-backports apt-get install --no-install-recommends \ gettext \ build-essential \ autoconf \ libtool \ libpcre3-dev \ asciidoc »

月杪 月杪 on Shadowsocks

Setup LetsEncrypt on Debian

Install LetsEncrypt Client git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt Obtain a Certificate Inside the nginx config, add this location block: location ~ /\.well-known/acme-challenge { root /var/www/html; } Reload »

月杪 月杪 on SSL, Nginx

为Linux手动添加swap空间

GCE建立的实例默认是没有swap的,所以如果需要swap的话就必须自己添加. 以下的操作都需要root权限 首先先建立一个分区 dd if=/dev/zero of=/var/swap bs=1024 count=1024000 这样就会创建/var/swap这么一个分区文件. 把这个分区变成swap分区。 mkswap /var/swap 使用这个swap分区。使其成为有效状态。 swapon /var/swap 如果需要取消的话 swapoff /var/swap rm /var/swap 现在查看一下 → free -h total used »

月杪 月杪 on Linux

Mac开发环境配置笔记

Xcode 安装 直接Mac App Store搞定. Command Line Tools 直接在终端输入 xcode-select --install 其他的会自动帮你完成 Sublime 很好用的跨平台编辑器,直接安装就好.然后按照[[Package Control] https://packagecontrol.io ]中的提示配置好Package Control(Sublime上的包管理工具) iTerm2+zsh 安装iTerm2 先下载iTerm2,用来替代系统默认的终端. 配色可以使用Solarized 如果下面使用agnoster主题的话可能需要安装字体PowerlineFonts 将zsh设为默认的shell 在终端输入 chsh »

微软注销了我使用多年的@msn.com邮箱

起因 一项服务(以下简称服务A)在多年前由于一些原因使用了一个不太常用的邮箱注册.服务A一直到现在都使用正常,而注册的邮箱因为基本不使用的原因很少登录. 结果 但是在今天打算登录服务A的时候突然提示我登录前必须重置密码,而显示唯一重置密码的途径就是通过邮箱接收重置链接. 小问题而已,于是输入邮箱点击重置,提示我重置链接已经发送到邮箱. 我和以前重置各种密码一样娴熟的打开outlook.com输入账号密码登录...结果提示我That Microsoft account doesn't exist. Enter a different account or get a new one. WTF..难道我记错了?不可能啊,才6个字母而且我在 1Password 以及iCloud Keychain 和 Chrome中记录的账号都显示我的记忆是没有出问题的.. 那么唯一的原因就是我这个邮箱真的被微软注销了!而且由于邮箱后缀为msn.com所以想要重新注册也并不是件容易的事情. »

月杪 月杪 on Microsoft