Make it Better
共享 macOS 上的 ShadowSocks 代理给其他设备
2017-11-23 StanWind


原文入口



前言



先看一个 ShadowSocks repo 的 issue https://github.com/shadowsocks/shadowsocks-iOS/issues/119 

...... 

OS X 的内核没有提供这样的功能。也就是说用 macOS 的无法像 Windows 的客户端一样点一个选项就轻松共享代理给局域网内的其他设备。 

ShadowSocks GUI



How to start



在 macOS 中,我们需要借助 Privoxy 代理本机的 SOCKS5 连接来实现 ShadowSocks 的共享,实施步骤如下:



安装 Privoxy




Bash


brew install privoxy 



将 Privoxy 添加到开机启动中



Bash


# 添加开机启动: ln -sfv /usr/local/opt/privoxy/*.plist ~/Library/LaunchAgents # 启动 Privoxy: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.privoxy.plist # 如果不需要用 launchctl 就直接运行: privoxy /usr/local/etc/privoxy/config 


修改 Privoxy 配置



Bash


vim /usr/local/etc/privoxy/config 



  1. 在 vim 中搜索 forward-socks5t / 

    去掉注释,将端口改为 1080 (Shadowsocks 默认的 SOCKS5 端口) 

    forward-socks5t / 127.0.0.1:1080


  2. 搜索 listen-address 127.0.0.1:8118 

    去掉注释,把 127.0.0.1 改为 0.0.0.0(否则只能作用于本机),端口号默认或选择一个未占用的端口 

    listen-address 0.0.0.0:6666 

    我用的端口号为 6666,下面 iOS 代理设置中会用到


  3. 修改这两处后,保存并退出即可




Tips:




  • vim 两种模式: 

    默认为命令行模式,按 i 键进入 insert 模式


  • 在命令模式下输入冒号搜索: 

    :/listen-address 按回车后向上搜索 

    :?forward-socks5t 按回车后向下搜索 

    按 n 继续搜索,N 反向搜索


  • 命令行模式按两次 u 撤销


  • 命令行模式输入 :wq 保存并退出




运行 Privoxy



Bash


cd /usr/local/sbin/  
./privoxy –no-daemon /usr/local/etc/privoxy/config & # 最后的 `&` 是为了让 privoxy 在后台运行 # 参见 https://ju.outofmemory.cn/entry/251730 # https://my.oschina.net/u/994235/blog/296702


查看本机 IP


两种方法:




  1. ifconfig


  2. 网络偏好设置



我的 IP 为 192.168.1.100



在 iOS 设备上使用代理



  1. 将 iOS 和 Mac 置于同一局域网下,即连接同一个 Wifi


  2. 点击已连接 Wifi 右侧的 ℹ️ 按钮,进入 Wifi 详情


  3. 设置 HTTP 代理为手动,并填写服务器为 192.168.1.100,端口为 6666 

    Wifi info



最后结果


result

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容