Snowflake浏览器扩展程序
**Snowflake**是一款通过中继数据请求从而突破网络审查的一套软件，其中继节点由网络未被审查的国家的用户运行，而受审查国家的用户可以通过Tor浏览器内置的Snowflake客户端来将Snowflake中继节点作为代理服务器，从而连接Tor网络。Snowflake节点可以通过安装浏览器扩展程序、安装独立软件或者浏览嵌有Snowflake中继的网页来创建。

历史
--

2016年1月，Snowflake的第一个版本发布，由前Google工程师兼音乐会钢琴家Serene（英语：）发明。其名字"Snowflake"（雪花）是对数目庞大的ICE协商相关临时代理服务器的比喻。

2019年Firefox和Google Chrome的Snowflake扩展程序发布。

2023年2月，一款据称是Snowflake升级版本的独立软件*Snowstorm*发布。该软件以Rust语言编写，由开放技术基金会资助，目前正在beta测试中。

运作
--

1. 终端用户向Broker寻求Snowflake代理
2. Broker找到一个可用的Snowflake代理
3. Broker回复终端用户
4. 终端用户联系该Snowflake代理，使用WebRTC点对点连接
5. 数据通过桥中继到Tor网络

像伊朗、俄罗斯和中国一些国家封锁Tor网络，用户无法通过公开的Tor入口节点连接上，必须通过网桥——未公开的中继来连接。而审查者会尝试深度包检测等手段识别并封锁网桥 。

Snowflake系统目前由四个主体构成：

* 客户端（）
* 
* 代理（）
* 桥（）

### 客户端

当用户选择使用Snowflake网桥时，他们的软件作为"客户端"运作。

该部分的源代码位于Snowflake仓库的"client"目录下。

### Broker

"客户端"首先连接到，获取由志愿者运作的可用Snowflake"代理"，该过程使用域前置技术，看起来就像是访问一个主流网站。目前Tor浏览器内置的Snowflake网桥以多个使用CDN77的网站作为伪装域名。

该部分的源代码位于Snowflake仓库的"broker"目录下。

### 代理

>  `<iframe src="https://snowflake.torproject.org/embed.html" width="320" height="240" frameborder="0" scrolling="no"></iframe>`   
>  — snowflake.torproject.org，   
> 在网页上嵌入Snowflake的HTML代码，用户通过一个开关即可运作代理

客户端通过获取到Snowflake代理后，直接向代理发起WebRTC连接，此处中间人看到的内容就像是视频会议应用产生的P2P流量。

志愿者安装一个浏览器扩展程序或者保持嵌入有Snowflake代码的标签页开启都会使其计算机变成一个代理。在后者的情况下，志愿者只需打开一个网页内的开关即可使其运作。另外Snowflake代理也可以作为独立程序运行，比如在Docker容器中运行。

Snowflake代理只要网页或者程序连接到互联网就会一直运行，如果某运行者的计算机使用动态IP，代理的IP也会随之变化。Snowflake代理以Tor入口的角色运作，而非出口，并不直接访问用户需要的网站，因此降低了法律风险。中继流量会增加志愿者计算机的带宽用量，但一般不会降低做其他事情的网速。

该部分的源代码位于Snowflake仓库的"proxy"目录下。

### 桥

志愿者运作的"代理"并不直接连接Tor入口节点，而是与Snowflake"桥"通信（目前"桥"有两个，都位于欧洲），"桥"则负责中转流量到Tor网络。

该部分的源代码位于Snowflake仓库的"server"目录下。

应对措施
----

审查者可能使用DTLS指纹识别并封锁Snowflake，这在俄罗斯曾经发生过。另一种可能的审查方法是安装并运行Tor浏览器，然后封锁所有其提供的Snowflake代理。这两种方法在面对大量志愿者建立节点的情况下会遇到挑战。

应用
--

Snowflake在2022年10月伊朗示威期间被广泛讨论和使用，还有人发布了波斯语的使用教程。

同年，俄罗斯政府增大了对Tor技术和政治上的封锁力度，结果是该国境内Snowflake网桥的使用人数增加。

参见
--

* 賽風 - 使用多种反审查技术的翻墙工具
* 闪现代理 - 与Snowflake原理类似的网桥
* 球鞋網路 - 在网络接入受限的国家广泛使用的技术
* uProxy - 类似地，由志愿者担当代理节点的浏览器扩展程序

参考来源
----

1. 1 2 3 4 5  Schwarzer, Matthias.. RedaktionsNetzwerk Deutschland（英语：）. 2022-09-30  [2022-10-10]. （原始内容存档于2022-10-10） （德语）.
2. 1 2 3  Cimpanu, Catalin.. ZDNet. 2019-10-16  [2023-04-20]. （原始内容存档于2023-01-16） （英语）.
3. ↑  Binder, Matt.. Mashable. 2023-02-10  [2023-04-20]. （原始内容存档于2023-06-08）.
4. ↑  Moreno, Johan.. 福布斯. 2023-02-08  [2023-04-20]. （原始内容存档于2023-04-01）.
5. 1 2 3 4  Quintin, Cooper.. 电子前哨基金会. 2022-10-04  [2023-04-20]. （原始内容存档于2022-10-10） （英语）.
6. 1 2 . gitlab.torproject.org. 2021-11-04  [2023-04-20]. （原始内容存档于2023-05-11）.
7. 1 2 3 4  Eikenberg, Ronald.. c't Magazin (Heise online（德语：）). 2022-09-30  [2023-04-20]. （原始内容存档于2023-04-14） （德语）.
8. ↑  duncan.. Tor Blog. 2022-12-07  [2023-05-14]. （原始内容存档于2023-05-26）. Bug tor-browser-build#40674: Add Secondary Snowflake Bridge
9. 1 2 . Solidot. 2022-07-31  [2023-04-20]. （原始内容存档于2022-10-07）.
10. 1 2  Burgess, Matt.. 连线. 2022-07-28  [2022-07-30]. （原始内容存档于2022-08-08）.
11. ↑ . Tor Project Forum. 2022-09-22  [2023-04-20]. （原始内容存档于2023-05-24） （英语）.

外部链接
----

* Snowflake ❄️ （页面存档备份，存于） - torproject.org （简体中文）
* Snowflake 源代码仓库 - gitlab.torproject.org
* Bridge users using transport snowflake （页面存档备份，存于） - Tor Metrics （英文）

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
Tor |
| --- |
|  |
| 相關人物 | 
* Caspar Bowden（英语：）
* Roger Dingledine（英语：）
* Ian Goldberg（英语：）
* Wendy Seltzer（英语：）

 |  |
|  |
| 技術 | 
* Tor
* .onion
* 洋葱路由

 |
|  |
| 軟件 | 
* Orbot
* Ricochet（英语：）
* Snowflake
* Tails
* Tor2web
* TorChat（英语：）
* Tor-ramdisk（英语：）
* Vidalia

 |
|  |
| 相關主題 | 
* Tor项目公司（英语：）
* HTTPS Everywhere
* 匿名服务列表
* Operation Onymous（英语：）
* 暗网
* 黑暗网络

 |
|  |
| 
* **分类 分类**
* **共享资源页面 共享资源**

 |

 |