windows 命令行下用 netsh 实现端口转发(端口映射)

命令

netsh interface portproxy add/set/show/delete v4tov4/v4tov6/v6tov6/v6tov4

例子

增加

netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.56.101 connectport=8080

将本地的8080端口的数据转发至192.168.56.101上的8080端口。

netsh interface portproxy add v4tov4 listenport=9090 connectaddress=192.168.56.101 connectport=9090

将本地的9090端口的数据转发至192.168.56.101上的9090端口。

显示

netsh interface portproxy show all

修改

netsh interface portproxy set v4tov4 listenport=9090 connectaddress=192.168.56.101 connectport=9080

将本地9090端口改成转发至192.168.56.101的9080端口中。

删除

netsh interface portproxy delete v4tov4 listenport=9090

删除本地端口9090的端口转发配置。

参考资料


git 国内加速代理

长期以来都是用着大带宽的或者海外的服务器,最近阿里做了一个云服务器促销活动,只有1M的带宽,连接github下载工具包那是一个慢。这篇文章简单记录下如何使用代理服务器进行下载加速。

  1. 设置本地代理

    http代理或socks代理均可,git目前都支持。

  2. git 的 http 协议代理

    如果是http代理,假设端口为1080,按照如下设置:

    git config --global http.proxy 'http://127.0.0.1:1080' 
    git config --global https.proxy 'https://127.0.0.1:1080'
    

    如果是socks代理,则是如下设置:

    git config --global http.proxy 'socks5://127.0.0.1:1080' 
    git config --global https.proxy 'socks5://127.0.0.1:1080'
       
    # 只对github.com 代理
    git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
       
    # 取消代理
    git config --global --unset http.https://github.com.proxy
    git config --global --unset http.proxy
    git config --global --unset https.proxy
    

    如果使用的是 .gitconfig 文件,则配置如下:

    [http]
    [http "http://git.kelu.orgl"]
    	proxy = socks5://127.0.0.1:1081
    
  3. git 的 git 协议的代理

    git config --global core.gitproxy "git-proxy"
    git config --global socks.proxy "localhost:1080"
       
    git config --global --unset core.gitproxy
    

参考资料


Mac 下安装 php 包管理器 composer

许久未在 Mac 上开发。不想今晚心血来潮试着把玩起老项目,好像最近刚重装了系统,mac 竟然没有 composer 命令。这篇文章记录下如何在 Mac 下安装 composer 命令。

一般来说,使用 brew 命令安装即可:

brew install composer

然而我在安装时出现了上面的错误:


==> Downloading https://getcomposer.org/download/1.7.2/composer.phar

curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to getcomposer.org:443
Error: Failed to download resource "composer"
Download failed: https://getcomposer.org/download/1.7.2/composer.phar

参考 github 的帖子 Mac OS 10.14 Mojave brew upgrade Curl LibreSSL SSL_connect: SSL_ERROR_SYSCALL #4436,设置如下环境变量即可:

export HOMEBREW_FORCE_BREWED_CURL =1

具体如下:

安装完成后,就可以幸福的 composer install 啦!


linux 下 CURL POST JSON 数据

纯粹做个记录,在 Jenkins 的 pipeline 脚本中,需要 curl post 一个 json 数据到远端应用,临时实现如下:

steps {

sh '''\
echo $TEST_URL/$JOB_NAME/$BUILD_ID
while [[ $(curl -sL -w "%{http_code}" -H "'Content-type':'application/json'" -X POST "$TEST_URL/$JOB_NAME/$BUILD_ID" -d '{"image":"'$MY_TAG'","kelu":"'test'"}' -o /dev/null) != "200" ]]; do
echo "backend is unavailable - sleeping"
sleep 5
done
'''

}

需要注意的是 -H 、 -X 和 -d 参数。如果不带 -H 参数,则 -d 中传递的是普通的 POST 参数,远端使用 json 解析是解析不出来的。