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

来源:互联网 发布:嵌入式转人工智能领域 编辑:程序博客网 时间:2024/05/22 00:18

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:8118forward-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_proxyunset 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

原创粉丝点击