美文网首页翻墙iOS点点滴滴Mac
Mac命令行终端下使用shadowsocks翻墙

Mac命令行终端下使用shadowsocks翻墙

作者: MM_H | 来源:发表于2017-08-09 10:18 被阅读1844次

    内容全部来自http://www.cashqian.net/blog/001486989831982332565298e4942a2bb8f56b08f9d2475000

    配置好shadowsocks服务器端后,安装对应系统的客户端,浏览器安装相应插件就可以翻墙上网了,这都很简单。

    问题是对于经常在命令行终端下工作的码农们,SS无法正常工作。因为在终端下不支持socks5代理,只支持http代理,这就很尴尬了。wget、curl、git、brew等命令行工具都会变得很慢。

    Linux系统就简单一些,安装proxychains-NG等软件就可以解决了,但是在Mac下有点麻烦。OS X 10.11之前的系统海好说,都还比较顺利,但是OS X 10.11之后较新的系统默认设置下不会安装成功。

    因为苹果在新系统中加入了SIP安全机制,他会阻止第三方程序向系统目录内(/System,/bin,/sbin,/usr(除了/usr/local))进行写操作,sudo也不行。办法是先把SIP关了,等装好软件配置好后再打开SIP。或者改用其他软件。

    我懒得去把SIP关了开开了关了,找了另外一个软件privoxy,它刚好就是安装在/usr/local内,不需要关闭SIP也可以正常使用。

    1、privoxy安装

    安装很简单用brew安装

    brew install privoxy
    

    2、privoxy配置

    打开配置文件 /usr/local/etc/privoxy/config

    vim /usr/local/etc/privoxy/config
    

    加入下面这两项配置项

    listen-address 0.0.0.0:8118
    forward-socks5 / localhost:1080 .
    

    第一行设置privoxy监听任意IP地址的8118端口。第二行设置本地socks5代理客户端端口,注意不要忘了最后有一个空格和点号。

    3、启动privoxy

    因为没有安装在系统目录内,所以启动的时候需要打全路径。

    sudo /usr/local/sbin/privoxy /usr/local/etc/privoxy/config
    

    4、查看是否启动成功

    netstat -na | grep 8118
    

    看到有类似如下信息就表示启动成功了

    tcp4       0      0  *.8118                 *.*                    LISTEN
    

    5、privoxy使用

    在命令行终端中输入如下命令后,该终端即可翻墙了。

    export http_proxy='http://localhost:8118'
    export https_proxy='http://localhost:8118'
    

    他的原理是讲socks5代理转化成http代理给命令行终端使用。

    如果不想用了取消即可

    unset http_proxy
    unset https_proxy
    

    如果关闭终端窗口,功能就会失效,如果需要代理一直生效,则可以把上述两行代码添加到 ~/.bash_profile 文件最后。

    vim ~/.bash_profile
    -----------------------------------------------------
    export http_proxy='http://localhost:8118'
    export https_proxy='http://localhost:8118'
    -----------------------------------------------------
    

    使配置立即生效

    source  ~/.bash_profile
    

    6、查看是否成功

    重新打开命令行

    curl ip.gs
    

    查看现在的ip

    相关文章

      网友评论

      • MengchunCao:我按照这个步骤配置了,http可以的,但是HTTPS都是返回503错误。。。
      • 闲鱼尼克:没有成功
        MengchunCao:@MM_H 实际上http的也不行,不过shadowsocksX-NG 本身提供了http proxy在1087端口上,所以只要把这个地址设置在http_proxy上就好了。亲测有效。
        MM_H:@闲鱼尼克 我就是按照这些步骤弄的,你再查查你报错的问题吧

      本文标题:Mac命令行终端下使用shadowsocks翻墙

      本文链接:https://www.haomeiwen.com/subject/lzsfrxtx.html