Mac 共享代理给局域网的机器,玩转 Shadowsock

Mac玩转shadowsock

安装 shadowsock

参考:http://salogs.com/news/2016/11/02/mac-shadowsocks/

  1. GUI 界面上的 shadowsock ,一般有普通版还有 NG 版本,可以在 github 里面搜索,地址敏感不发。不要两个都安装,端口会被抢用。新的 mac 安装 NG 版本,旧的mac用旧版本的。
  2. 还有通过命令行安装。

    brew install shadowsocks-libev
    # 启动服务
      brew services start shadowsocks-libev
    # 或者先前台跑一次程序
    /usr/local/opt/shadowsocks-libev/bin/ss-local -c /usr/local/etc/shadowsocks-libev.json
    #设置自启动
    ln -sfv /usr/local/opt/shadowsocks-libev/homebrew.mxcl.shadowsocks-libev.plist ~/Library/LaunchAgents
    #查看端口占用情况
    lsof -i -P | grep -i "listen"
    
  3. 配置文件的书写/usr/local/etc/shadowsocks-libev.json

      1 {
      2     "server":"",
      3     "server_port":,
      4     "local_address":"0.0.0.0",
      5     "local_port":1080,
      6     "password":"",
      7     "timeout":300,
      8     "method":"aes-256-cfb"
      9 }
    

    其中的 local_address 我填写的是 0.0.0.0 表示局域网点的所有机子都可以通过1080这个端口代理,其他的数据自己填写

其他虚拟机、局域网的电脑、手机通过 shadowsock 上网

SwitchyOmega下载地址

浏览器配置规则的网址

  1. 虚拟机:ubuntu 通过网络,网络代理填写相应的 ip 和端口就可以。
  2. 手机(iphone):在你 wifi 上,最后有一个使用代理,填写相应的 ip 还有端口即可。
  3. 浏览器:firefox 通过使用 Foxyproxy Standard, chrome 使用 SwitchyOmega,代理上不了的时候先通过 github 下再插件,然后配置上网。

Mac 开机启动的文件

参考:http://www.tanhao.me/talk/1287.html/

  • 普通应用一般存放的目录 ~/Library/LaunchAgents
  • Mac OSX的当前用户成功登录后启动的程序,该类别的启动项配置文件存放在~/Library/Preferences/com.apple.loginitems.plist,所以只针当前用户.
  • 推荐放入的地方

    以上三个目录为系统推荐放置的路径,是当登录之后启动的进程

    ~/Library/LaunchDaemons
    
    /Library/LaunchDaemons
    
    /System/Library/LaunchDaemons
    

    放置在以上三个目录,则启动为守护进程,为系统启动后立即启动的进程

  • 删除启动项的方法

    1.通过launchctl load xxx.plist或launchctl unload xxx.plist命令添加和删除指定启动项;

    2.直接创建、修改、删除相关目录下面的plist文件。

privoxy安装(用于终端科学上网)

参考:http://www.cashqian.net/blog/001486989831982332565298e4942a2bb8f56b08f9d2475000

https://sebastianblade.com/share-macos-shadowsocks-proxy-to-other-device/

  • 安装 brew install privoxy
    打开配置文件 /usr/local/etc/privoxy/config
    加入下面这两项配置项

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

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

    sudo /usr/local/sbin/privoxy /usr/local/etc/privoxy/config
    
  • 查看是否启动成功

    netstat -na | grep 8118
    或者
    lsof -i -P | grep -i "listen"

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

    tcp4 0 0 *.8118 *.* LISTEN

  • 开启自启动
    ln -sfv /usr/local/opt/privoxy/*.plist ~/Library/LaunchAgents
    启动
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.privoxy.plist

  • privoxy使用

    在命令行终端中输入如下命令后,该终端即可科学上网了。

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

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

    如果不想用了取消即可

    unset http_proxy
    unset https_proxy
    

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

    vim ~/.bash_profile

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

    使配置立即生效

    source  ~/.bash_profile
    

    还可以在 ~/.bash_profile 里加入开关函数,使用起来更方便

    function proxy_off(){
        unset http_proxy
        unset https_proxy
        echo -e "已关闭代理"
    }
    
    function proxy_on() {
        export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
        export http_proxy="http://127.0.0.1:8118"
        export https_proxy=$http_proxy
        echo -e "已开启代理"
    }
    

个人博客原文地址:http://biyongyao.com/archives/233

猜你喜欢

转载自blog.csdn.net/biyongyao/article/details/78636505