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

Advertisements

在 Mac OS X 上给 Telegram 单独设置代理服务器

由于众所周知的原因,并不是在世界上每一个国家都能顺利地使用 Telegram,那么我们不得不通过给 Telegram 设置代理服务器等途径来收发消息。

在 Mac OS X 的系统设置里可以设置 SOCKS Proxy,但是这样的缺点是所有其它应用程序也会被应用该代理设置。

本文将介绍如何使用 dsocks 软件来给 Telegram 应用程序单独设置代理服务器。

在开始本文前,你需要有一个 SOCKS 代理服务器,至于如何获得或者架设 SOCKS 代理服务器,并不是本文所要涵盖的内容。

安装 dsocks

使用 MacPorts 或者其它包管理工具都可以安装 dsocks。

$ port search dsocks
dsocks @1.6 (net)
SOCKS client wrapper for *BSD / Mac OS X

$ sudo port install dsocks

编写启动脚本

假设你的 SOCKS 代理服务器运行在 127.0.0.1 的 1080 端口,那么将下面这段脚本存储为文件 ~/bin/telegram.shchmod +x ~/bin/telegram.sh

#!/bin/sh
env DSOCKS_PROXY="127.0.0.1:1080" dsocks.sh \
	/Applications/Telegram.app/Contents/MacOS/Telegram \
	>/dev/null 2>&1 &

注意上述脚本中的 dsocks.sh,对于使用 MacPorts 来安装 dsocks 的情况下,它实际位于:

$ which dsocks.sh
/opt/local/bin/dsocks.sh

启动 Telegram

要启动 Telegram,则改为使用上述脚本来启动: ~/bin/telegram.sh

顺便说一下,给 Telegram 应用程序设置 HTTP/HTTPS 代理也能收发消息,但是延迟非常严重。

#dsocks, #mac-os-x, #macports, #socks-proxy, #telegram