Mac OS X 到达世界任意角落的一个解决方案概述

Across the Great Wall, we can reach every corner in the world.
network

  1. 操作系统的系统偏好设置(系统偏好设置->网络->高级…->代理)里设置 Web 代理(HTTP)安全 Web 代理(HTTPS)Privoxy 监听的端口 127.0.0.1:8118
  2. SSH tunnel 负责建立 Socks5 代理,监听 127.0.0.1:1080 端口,采用 autosshLaunch Daemon 实现。
  3. tor 负责建立匿名隧道,监听 127.0.0.1:9050 端口,使用 127.0.0.1:1080 端口作为上级代理,用来访问暗网 *.onion,参考Mac OS X 上安装 tor 并配置为自动启动
  4. Privoxy 监听 127.0.0.1:8118 端口,负责分发 HTTP/HTTPS 请求。
    注意,Privoxy 3.0.22 以前的版本不支持 RFC5789 中定义的 HTTP PATCH 方法,不过如果 PATCH 是在 HTTPS 里则没有问题;Privoxy 3.0.22 增加了对 HTTP PATCH 的支持。
    1. gfwlist 或者用户自定义域名列表中的域名,分发到 SSH tunnel 建立的 Socks5 代理(127.0.0.1:1080)。
      使用 gfwlist2privoxygfwlist 和用户自定义域名列表转换成 Privoxy 的 action 配置文件,配置到 crontab 中定时执行。参考:Mac OS X 上 gfwlist2privoxy 的使用
    2. *.onion 域名分发到 tor 建立的 Socks5 代理服务器(127.0.0.1:9050)。
    3. user.action 中配置需要过滤的广告规则,和中国电信 HTTP 劫持所用到的域名。
  5. ZeroNet 连入网络使用(always)工作在 127.0.0.1:9050 端口的 tor
  6. dsocks 用来为不支持设置代理服务器的应用程序单独设置代理,比如 telegram,参考在 Mac OS X 上给 Telegram 单独设置代理服务器

#autossh, #dsocks, #gfwlist, #gfwlist2privoxy, #launch-daemon, #mac-os-x, #onion, #privoxy, #telegram, #tor, #zeronet