斯特赖桑德效应
斯特赖桑德效应
欲盖弥彰的斯特赖桑德效应。
互联网并非对每个人都公平,ISP、通信公司和政治家们往往联手封锁我们感兴趣的网站和信息。或许是时候打破束缚,展开一场正面的斗争了。
斯特赖桑德简介
- 借助一个简单的脚本,可以在全新的 Ubuntu 16.04 服务器上运行多种科学上网工具,让你实现匿名并加密所有网络流量。
- 斯特赖桑德原生支持多个 VPS 供应商,包括亚马逊EC2、微软云服务、DigitalOcean、Google云计算、Linode和Rackspace;随着软件的进步,未来将支持更多云和VPS,只要是 Ubuntu 16.04,无论提供商或实例数量,都能通过此方法部署。
- 如果部署顺利,整个过程大约只需10分钟。想象一下,没有系统管理经验的人可能需要数天才能完成其中的某一项,而我们通过斯特赖桑德则能享受开箱即用的体验。
- 一旦部署完成,你可以将使用指南分享给朋友、家人和重要的人士。该指南中包含唯一的 SSL 证书,意味着你发送给他们的仅是一个简单的文件。
- 部署好的网关包含用户所需的一切内容,例如设置向导和支持的操作系统所需的客户端。即便无法下载官方客户端的朋友,也可以从网关中的镜像下载到最新版本的客户端。
- 这只是个开始,接下来还有更多精彩的内容…
更多特性
- 新用户登录时,通过 Nginx 提供密码保护和网关加密。加密网关使用 SSL 证书或通过 Tor 隐藏服务进行加密。
- 网关会自动生成客户端配置说明,搭建在轻量级的 http 服务器 Nginx 上。你可以通过电脑或手机的浏览器轻松访问,按步骤配置客户端。
- 所有科学上网所需的客户端软件都进行了 SHA-256 检查,并通过 GPG 签名认证,确保那些无法通过官方渠道下载的用户也能从镜像中安全下载。
- 所有客户端所需的额外文件,如 OpenVPN 的配置文件,均可通过网关下载。
- 目前,Tor 用户可以利用斯特赖桑德提供的优秀特性传输大文件或控制 Tor 服务的其他流量(如BT,传统的 Tor 不适合进行BT这样的数据传输)。
- 网关会自动生成一个唯一的密码、一个 SSL 证书和一个 SSL 私钥。在斯特赖桑德部署后,网关说明和证书通过 SSH 进行传输。
- 多种服务和多个守护进程带来了极大的灵活性。如果某个连接方式被封锁,仍可尝试其他方式,大多数都能避免深度包检测。
- OpenConnect/AnyConnect、OpenSSH(未经测试)、OpenVPN(stunnel加持)、Shadowsocks 和 Tor(obfs4混淆)都可在中国使用。
- 每个科学上网工具都提供了详细的文档和描述。斯特赖桑德或许是迄今为止最全面的指南,帮助你安装和配置客户端,并在必要时手动完成相关操作。
- 为了避免科学上网工具遭到广泛破坏,端口的设计也颇具讲究。例如,OpenVPN并不运行在默认的1194端口,而是636端口,这正是许多跨国公司使用的标准 LDAP/SSL 连接端口。
- 需要特别注意的是,L2TP/IPsec为了不影响兼容性,无法更改为其他特定端口。
提供的服务
- L2TP/IPsec 使用 Libreswan/xl2tpd 架设。
- 随机生成、选择预分享密钥和密码;
- Windows、macOS、Android 和 iOS 用户可使用系统自带的 VPN 进行设置和连接,无需下载第三方软件。
- Monit
- 能够监测和处理运行状态,自动重启和维护崩溃或无响应的进程。
- OpenSSH
- 支持 Windows 和 Android 的 SSH 隧道,需使用 PuTTY 将默认密钥对导出为 .ppk 格式;
- Tinyproxy 默认安装并绑定到主机,作为 http(s) 代理供不支持 SOCKS 代理的应用(如 Android 上的鸟嘀咕)通过 SSH 隧道访问网络。
- OpenConnect / Cisco AnyConnect
- OpenConnect (ocserv) 是一款强劲且轻便的 VPN 服务器,完全兼容思科的 AnyConnect 客户端;
- 包含众多顶级标准协议,如 HTTP、TLS 和 DTLS,且为跨国公司广泛使用的流行技术;
- 这意味着 OpenConnect 易用且高速,几乎从未被封锁,能够经受审查的考验。
- OpenVPN
- 从自带的 .ovpn 配置文件生成简单的客户端配置文件;
- 同时支持 TCP 和 UDP 连接;
- 多个客户端可共享相同的证书和密钥,但默认生成5个单独的配置;
- 客户端的 DNS 解析由 Dnsmasq 负责,避免 DNS 泄露;
- 启用 TLS 认证,有助于防止主动探测攻击,错误的 HMAC 流量不会轻易丢弃。
- Shadowsocks
- 安装高性能的 libev 版本,能够处理数千个并发连接;
- Android 和 iOS 仅需扫描二维码即可完成自动配置。DNS 可设置为 8.8.8.8,或将配置逐一复制到客户端;
- 采用 ChaCha20 和 Poly1305 对 AEAD 进行加密,增强安全性并提升穿透性;
- 使用 simple-obfs 插件提供流量混淆,以便于从审查网络中脱逃(尤其是在 QOS 节流中)。
- sslh
- sslh 是一种协议解复用器,在高度限制的网络环境(如仅能访问 http 端口的网络)下,仍能通过 OpenSSH 和 OpenVPN 进行连接,因为 sslh 让二者共享了 443 端口。
- Stunnel
- 监听并将 OpenVPN 的流量进行封装,使其伪装成标准的 SSL 流量,以便让 OpenVPN 客户端成功通过隧道连接,躲避深度包检测。
- 通过隧道连接的 OpenVPN 配置文件与直接连接的配置文件一同生成,详细说明也随之生成。
- stunnel 证书和密钥为 PKCS #12 格式,SSL 隧道程序兼容性良好,特别是 OpenVPN Android 版本也能通过 SSLDroid 传输。在中国的移动设备上使用 OpenVPN 成为可能*(据译者所知,大陆 OpenVPN 以前完全失效)*。
- Tor
- 桥接名称随机生成;
- Obfsproxy 默认安装并配置支持 obfs4 传输;
- Android 手机使用 Orbot 扫描二维码即可获取桥接信息并完成自动配置。
- UFW
- 防火墙根据不同服务进行全面配置,任何未经授权的流量都将被阻止。
- 系统无人值守安全更新
- 斯特赖桑德所处的服务器自动配置为无人值守更新,更新级别为安全更新。
- WireGuard
- Linux 用户可以使用下一代简化、基于内核的黑科技 VPN,速度快且采用了许多先前 VPN 所没有的加密类型。
安装
在你进行操作之前,请认真阅读以下内容。
重要说明
斯特赖桑德基于 Ansible,能够在远程服务器上完成自动配置和打包。斯特赖桑德是将远程服务器自动配置为多个 VPN 服务和科学上网的工具。
当斯特赖桑德在你的计算机上(或虚拟机上)运行时,将会把网关部署到你 VPS 提供商的另一台服务器上(通过你的 API 自动生成)。此外,如果斯特赖桑德在 VPS 上运行,它会将网关部署到另一台 VPS 上,因此原先运行斯特赖桑德的 VPS 将多余,记得在获得文档后将其删除,而部署的 VPS 你无法通过 SSH 连接,除非你有公钥(这是不可能的,因为整个配置过程中没有提供公钥供下载或获取)。
在某些情况下,你可能需要在 VPS 上运行斯特赖桑德/Ansible,并将其自身配置为斯特赖桑德服务器,这种模式适合在无法在本地计算机上运行和安装斯特赖桑德/Ansible时,或本地与 VPS 之间的 SSH 连接不稳定时。
准备工作
请在本地计算机完成以下所有步骤(也可在 VPS 上运行)。
- 斯特赖桑德需在 BSD、Linux 或 macOS 上运行,Windows 上无法运行。所有指令需在终端中执行。
- 需安装 Python 2.7,一般在 macOS、Linux 和 BSD 系统上是默认配备,如果你的发行版默认是 Python 3,需安装 Python 2.7 以运行斯特赖桑德。
