【在Unix终端下配置Proxy】

Github同步一半断了?是时候为你的终端统一设置一个代理了。

本文以Mac(Unix平台)和HTTP_PROXY为例,讲解如何在终端下进行配置代理。

1. 选择Proxy

首先,要购买挑选一个Proxy,购买前需要注意服务商需要能够提供Http Proxy,如下

duotai

2. 配置终端

打开终端

open -t ~/.bash_profile

  • .bash_profile 可以理解为Term打开后能够自动执行的脚本文件

  • 在文本中添加如下内容

    
    export GOPATH=$HOME/gopath
    export GOROOT=/usr/local/opt/go/libexec
    export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
    
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
    
    export ANDROID_HOME=$HOME/Documents/sdk
    export ANDROID_SDK=$ANDROID_HOME
    export ANDROID_NDK=$ANDROID_HOME/android-ndk-r10d
    export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
    
    
    HOST=www.xxxx.com
    PORT=xxxx
    
    
    export http_proxy=http://$HOST:$PORT
    export all_proxy=$http_proxy
    export https_proxy=$http_proxy
    export ftp_proxy=$http_proxy
    export dns_proxy=$http_proxy
    export rsync_proxy=$http_proxy
    export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com,.coding.net,192.168.99.100"
    
    export GRADLE_OPTS="-Dgradle.user.home=$HOME/.gradle -Dhttp.proxyHost=$HOST ->Dhttp.proxyPort=$PORT -Dhttps.proxyHost=$HOST -Dhttps.proxyPort=$PORT"
    echo "current proxy: $http_proxy"
    curl ip.cn
    

    保存配置

    source ~/.bash_profile

    该方法配置好后,在IDEA等工具的终端下同样有用

    3. 查看效果

    重新打开终端后,可以发现系统自动执行了curl的命令,此网站会自动告诉了你当前的IP,我们也可以使用wget进行SpeedTest

    wget -O /dev/null http://speedtest-sfo1.digitalocean.com/10mb.test

    最后,体验Git,Brew,Gradle等工具的飞速下载吧!

  • 注意:

    Docker环境下,实际上是基于Socket进行通信的,所以环境需要在虚拟机/VPS中进行配置Proxy
    亲测Go,Git,Brew,Curl,Wget,NPM是可以正常使用的,可以达到物理带宽
    不支持git://与svn://,那两个非要自己搞一套,必须搞一个包装类,所以算了吧
    如果需要设置内网地址的正则(比如192,10,172),目前暂时没有完美的方案,只能枚举并手动加入no_proxy中
    Gradle是java相关的,用的不是curl,所以需要GRADLE_OPTS作为环境变量,注意这个环境变量只是终端的,IDE下直接配置Gradle为离线模式即可,表示完全不用IDE的通道。

  • 【笔记:部署基于CentOS 6 X64 VPS】

  • 部署LAMP
  • wget http://lamp.teddysun.com/lamp.tar.gz
    tar -zxf lamp.tar.gz
    cd lamp/
    chmod +x *.sh
    ./lamp.sh 2>&1 | tee lamp.log
    ./pureftpd.sh

  • 部署Shadowsocks
  • wget –no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-go.sh
    chmod +x shadowsocks-go.sh
    ./shadowsocks-go.sh 2>&1 | tee shadowsocks-go.log

  • 部署VPN
  • wget http://www.hi-vps.com/shell/vpn_centos6.sh
    sh ./vpn.sh

    【PPTPD VPN一键安装包 For CentOS 6】

  • 本教程适用于Openv VPS、Xen VPS或者KVM VPS。

    1 首先运行如下命令:

    cat /dev/net/tun

    返回的必须是:

    cat: /dev/net/tun: File descriptor in bad state

    运行:

    cat /dev/ppp

    返回的必须是:

    cat: /dev/ppp: No such device or address

    如果上面返回的不是这两个结果的话,请与VPS客服联系开通ppp和tun权限.

    2 下载VPN(CentOS6专用)一键安装包

    wget http://www.hi-vps.com/shell/vpn_centos6.sh
    chmod a+x vpn_centos6.sh

    3 运行一键安装包

    bash vpn_centos6.sh

    会有三个选择:

    1. 安装VPN服务
    2. 修复VPN
    3. 添加VPN用户

    首先输入1,回车,VPS开始安装VPN服务。

    4 添加VPN用户

    bash vpn_centos6.sh

    选择3,然后输入用户名和密码,OK

    5 修复VPN服务,如果VPN拨号发生错误,可以试着修复VPN,然后重启VPS

    bash vpn_centos6.sh

    选择2,然后reboot

  • 【Linux系统中常用操作命令】

  • 常用指令
  • ls   显示文件或目录
    -l 列出文件详细信息l(list)
    -a 列出当前目录下所有文件及目录,包括隐藏的a(all)
    mkdir 创建目录
    -p 创建目录,若无父目录,则创建p(parent)
    cd 切换目录
    touch 创建空文件
    echo 创建带有内容的文件。
    cat 查看文件内容
    cp 拷贝

    mv 移动或重命名
    rm 删除文件
    -r 递归删除,可删除子目录及文件
    -f 强制删除
    find 在文件系统中搜索某文件
    wc 统计文本中行数、字数、字符数
    grep 在文本文件中查找某个字符串
    rmdir 删除空目录
    tree 树形结构显示目录,需要安装tree包
    pwd 显示当前目录
    ln 创建链接文件
    more、less 分页显示文本文件内容
    head、tail 显示文件头、尾内容
    ctrl+alt+F1 命令行全屏模式
    Continue reading “【Linux系统中常用操作命令】”