从源码编译安装GIt

编译依赖 apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev 下载 到Github下载需要的版本 安装 autoconf ./configure prefix=/usr/local all make make install »

在服务器上创建自己的远程Git仓库

创建git用户 创建git用户并设定好密码 adduser git 限制git用户登录 修改文件/etc/passwd 找到对应git用户的列然后将/bin/bash修改为/usr/local/bin/git-shell 添加公钥 #vi /path/to/gituser/.ssh/authorized_keys #...添加公钥 创建仓库 git init --bare simple.git chown -R git:git simple.git 使用 git clone git@serveripordomainname:/path/to/sample.git »

对exe文件添加管理员执行权限

起因 临时使用QT开发了一套类似启动器的程序,开发完毕发布给同事使用以后才发现如果安装到程序目录以后很多操作都无效了. 由于以前从未从事过win32开发(我只是个跑龙套的),只能手动排除故障.. 最终发现应该是该编译出的exe文件缺少管理员权限的问题. 手动创建uac文件 <!-- uac.manifest --> <?xml version='1.0' encoding='UTF-8' standalone='yes'?> <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level='requireAdministrator' uiAccess='false' /> </requestedPrivileges> </security> </trustInfo> »

月杪 月杪 on 其他

修改Git已提交的Email和Name

由于在Windows上使用Git的千奇百怪解决方案造成中途需要从babun更换到cygwin..结果更换的时候将Git配置中的Email输入错误,于是寻找了一下修改多个commit中的信息. 最后在changing-author-info中看到了解决方案. 保存脚本 #!/bin/sh git filter-branch --env-filter ' OLD_EMAIL="your-old-email@example.com" CORRECT_NAME="Your Correct Name" CORRECT_EMAIL="your-correct-email@example.com" if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] then export GIT_COMMITTER_NAME="$CORRECT_NAME" export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" fi if »

Swift进行后端开发

自从Swift开源以后就出现了一些可以进行后端开发的框架,主要的几个有:Perfect,Vapor,Kitura和Zewo.其中Perfect最为著名,于是就打算从它入手. 环境 先跟着https://swift.org上的文档在服务器上安装好Swift环境. 官方示例 git clone https://github.com/PerfectlySoft/PerfectTemplate.git cd PerfectTemplate swift build .build/debug/PerfectTemplate 一切正常的话就会看到类似 Starting HTTP server on 127.0.0.1:8181 这样的提示,表示服务已经开启 选择数据库 作为一个后端小白,想选一款非MySQL的数据库,在搜索了各种介绍以后决定先从PostgreSQL入手. 在服务器上配置好PostgreSQL即可,其间过程不表. 尝试添加注册登录 # Sources/main.swift routes.add(method: »

月杪 月杪 on Swift

使用strongSwan搭建IKEv2

编译安装 strongSwan.使用了5.5.1版本,最新是5.6.1不过不知道为什么无法连接 wget https://download.strongswan.org/strongswan-5.5.1.tar.gz tar zxvf strongswan-5.5.1tar.gz cd strongswan-5.5.1 ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --enable-openssl \ --enable-nat-transport \ --disable-mysql \ --disable-ldap \ --disable-static \ --enable-shared »

月杪 月杪 on VPN

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