Category: tool

碰到的有意思工具

  • 个人觉得很好用的maven命令

    maven 常用命令

    创建一个简单的maven项目

    mvn archetype:generate \
      -DarchetypeGroupId=org.apache.maven.archetypes \
      -DarchetypeArtifactId=maven-archetype-site \
      -DgroupId=com.mycompany.app \
      -DartifactId=my-app-site
    

    (more…)

  • gcc 编译基础与make

    gcc 编译基础

    gcc common variable

    -l/path 是加入某个library,库的前缀lib和扩展名(.a或.so)不需要写

    -I/path 后面接的路径就是设置要去搜索相关的include文件的目录.

    -Wall 编译的时候输出警告信息

    -O 在编译的时候,依据操作系统环境,对程序进行优化

    gcc default

    • linux 默认是将函数库放置在/lib/usr/lib当中.gcc默认会链接这两个路径下的函数库.
    • 同理,gcc编译会默认会搜索/usr/include目录下的头文件.

    • 通常称-Wall或者-O这些非必要的参数为标志FLAGS,当使用c语言的时候,也可能简称这些标志为CFLAGS

    (more…)

  • my usual vim command

    command

    常用的命令

    shortcuts
    J 将下一行拼接到当前行
    i + ctrl + j 分割成两行
    y 复制到寄存器
    p 从寄存器粘贴
    yy 复制当前行到寄存器
    n+yy 复制从当前行开始的n行到寄存器
    x del
    X del before
    dd 删除当前行
    ^ 光标移动到行首
    $ 光标移动到行末
    gg 光标移动到文件头
    GG 光标移动到文件末行
    u undo
    ctrl+r redo
    :q quit
    :q! quit forcely
    :wq save and quit
    ZZ save and quit
    . replace last command

    command with num

    command with num
    ndd del n line
    d1G del words from current to the head of file
    dG del words from current to the end of file
    d$ del words form current to the end of line
    d0 del words form current to the head of line
    yy
    nyy
    y1G
    yG
    y$
    y0

    还可以在block mode和line mode的情况下使用这些命令.进而对选中块或者选中的行做操作.

    (more…)

  • 工具使用shadowsocks代理接口

    一般使用代理的时候,一个是为了资料,另一个是为了下载。

    用的系统是osx,经常会使用brew安装软件。但是很多软件的源或者它们的依赖库是被墙了。配置代理后,就方便了,不用到处去找替代源

    brew 下载软件是基于curl,vim的管理软件Vim Bundle下载是基于wget的。

    curl

    cat ~/.curlrc 
    
    socks5=127.0.0.1:1080 
    

    polipo

    #Via ~/.polipoc file:
    logSyslog = true
    logFile = ~/log/polipo/polipo.log
    
    socksParentProxy = "127.0.0.1:1080"
    socksProxyType = socks5
    
    proxyAddress = "127.0.0.1"
    proxyPort = 8123
    

    shadowsocks使用的是socket代理,可以使用polipo转化为http代理,方便一些没有办法直接配置socket代理的工具:wget

    wget

    Via ~/.wgetrc file:
    
    use_proxy=yes
    http_proxy=127.0.0.1:8123
    https_proxy=127.0.0.1:8123

    git

    #git use http proxy
    git config --global https.proxy http://127.0.0.1:1080
    #git use https proxy
    git config --global https.proxy https://127.0.0.1:1080
    
    #unset
    git config --global --unset http.proxy
    git config --global --unset https.proxy
    
    #git socks5 proxy
    git config --global http.proxy 'socks5://127.0.0.1:1080'
    git config --global https.proxy 'socks5://127.0.0.1:1080'
    

    npm

    npm config set proxy http://localhost:8080/
    npm config set https-proxy http://localhost:8080/
    npm config set strict-ssl false
    
    #Remove All NPM Proxy
    npm config delete http-proxy
    npm config delete https-proxy
    
    npm config rm proxy
    npm config rm https-proxy
    
    set HTTP_PROXY=null
    set HTTPS_PROXY=null

     

     

  • 如何搭梯子

    这里介绍一下搭梯子用到的网站

    centos7一监安装脚本:来自老高博客

    这个脚本配置了自动启动和自动重启。

    yum update -y
    
    yum install -y python-setuptools net-tools
    
    easy_install pip
    
    pip install --upgrade pip shadowsocks
    
    cat>/etc/systemd/system/shadowsocks-server.service<<EOF
    [Unit]
    Description=Shadowsocks Server
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/ssserver -c /etc/ss-config.json
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
    num=$((30000 + RANDOM))
    pass=`date +%s | sha256sum | base64 | head -c 12`
    
    cat>/etc/ss-config.json<<EOF
    {
        "server_port":$num,
        "password":"$pass",
        "timeout":60,
        "method":"rc4-md5"
    }
    EOF
    
    
    systemctl daemon-reload
    systemctl enable shadowsocks-server
    systemctl restart shadowsocks-server
    systemctl status shadowsocks-server
    
    cat /etc/ss-config.json

    配置shadowsocks,包括服务点和客户端。来自archlinux

    我的server配置:

    cat /etc/ss-config.json
    {
        "method":"rc4-md5",
        "timeout":600,
        "port_password":
        {
          "50720":"password1",
          "50721":"password2"
        }
    }

    开了两个端口。相当于开了两个用户。自己用使用rc4-md5,加密就够了,简单一点,速度也可以快一些。

    如果想要开启kcptun,我也收集了一个centos7的一键脚本,这里是地址,这里是作者博客

    如果是centos7 想要开启bbr,需要内核4.9以上,具体操作可以参考这里

    开启TCP BBR拥塞控制算法

    一般开启选择使用开启bbr就没有必要kcptun,详情看这里:KCP可以和BBR一起用么?

    命令式安装教程:http://shadowsocks.org/en/download/servers.html