<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet type="text/xsl" href="rss.xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title>匿名网络社群 anoni.net/Docs</title><description>匿名网络、Tor、Tails、OONI、网络自由、网络审查、ASNs 观测范围、检测列表、本地推广与翻译 </description><link>https://ipfs.anoni.net/zh-cn/</link><atom:link href="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml" rel="self" type="application/rss+xml" /> <managingEditor>anoni.net Volunteer</managingEditor><docs>https://github.com/anoni-net/docs</docs><language>zh</language> <pubDate>Wed, 26 Aug 2026 09:24:28 -0000</pubDate> <lastBuildDate>Wed, 26 Aug 2026 09:24:28 -0000</lastBuildDate> <ttl>1440</ttl> <generator>MkDocs RSS plugin - v1.19.0</generator> <image> <url>None</url> <title>匿名网络社群 anoni.net/Docs</title> <link>https://ipfs.anoni.net/zh-cn/</link> </image> <item> <title>文档站新增八个小工具，全部在读者自己的浏览器里执行</title> <author>anoni.net 社区</author> <category>技术</category> <category>社区</category> <category>隐私</category> <description>&lt;h1 id=&#34;文档站新增八个小工具全部在读者自己的浏览器里执行&#34;&gt;文档站新增八个小工具，全部在读者自己的浏览器里执行&lt;a class=&#34;headerlink&#34; href=&#34;#文档站新增八个小工具全部在读者自己的浏览器里执行&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;我们是一群关心匿名网络与网络自由的志工，从台湾出发，维运&lt;a href=&#34;../../../../&#34;&gt;文档站&lt;/a&gt;，把个人隐私与匿名的做法依日常、敏感工作与高风险三种情境整理成可以照着操作的指引。&lt;/p&gt; &lt;p&gt;站上的文章说明怎么保护自己，&lt;a href=&#34;../../../../utils/&#34;&gt;小工具区&lt;/a&gt;放的是可以直接按的东西。八个工具都在读者的浏览器里完成运算，不送出任何数据，存进设备之后没有网络也能用。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;小工具索引页的八张卡片，每张写着工具名称与一句用途说明&#34; src=&#34;https://assets.anoni.net/blog/utils-index-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;起点是照片的-metadata&#34;&gt;起点是照片的 metadata&lt;a class=&#34;headerlink&#34; href=&#34;#起点是照片的-metadata&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../basics/metadata/&#34;&gt;Metadata 是什么&lt;/a&gt;那篇提到，照片里带着拍摄时间、相机型号与 GPS 坐标，而上传照片前先去 EXIF 是任何人现在就能做的低成本防护。&lt;/p&gt; &lt;p&gt;在线的清除工具几乎都需要先把文件传上去，而需要清除 metadata 的人，正是最不该把原始文件交出去的人。密码生成器、QR code 读取器与网址清理器都有同样的矛盾，要用的东西本身就是不该外流的东西。&lt;/p&gt; &lt;p&gt;把运算放回读者自己的浏览器可以解决矛盾，代价是功能受限于浏览器能做到的范围。需要连到外部服务才能运作的功能不会放进来，网络测量请用 &lt;a href=&#34;../../../../tools/what-is-ooni/&#34;&gt;OONI Probe&lt;/a&gt;，那是专门为测量设计的工具，数据的处理方式也公开。&lt;/p&gt; &lt;p&gt;八个工具看起来各做各的，收进来的判准只有一条：处理的东西本身就不该外流。照片里的坐标、刚生成的主密码、还没确认过的 QR code、可能被标记过的文件、答完就显示你在防谁的清单，交给任何一台服务器都说不过去。威胁模型清单与隐形字符检测离清除 metadata 这个起点比较远，收进来的理由相同。&lt;/p&gt; &lt;h2 id=&#34;八个工具共同的四条规则&#34;&gt;八个工具共同的四条规则&lt;a class=&#34;headerlink&#34; href=&#34;#八个工具共同的四条规则&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;在你的设备上运算&lt;/strong&gt;：所有工具都在浏览器中完成计算，不送出任何数据&lt;/li&gt; &lt;li&gt;&lt;strong&gt;断网可用&lt;/strong&gt;：存进设备之后没有网络也能用，域名被封锁、连接被切断或身处没有信号的地方都可以打开&lt;/li&gt; &lt;li&gt;&lt;strong&gt;源代码公开&lt;/strong&gt;：程序放在 &lt;a href=&#34;https://github.com/anoni-net/docs/tree/main/docs/zh-TW/js&#34; target=&#34;_blank&#34;&gt;anoni-net/docs&lt;/a&gt; 仓库，具备能力的人可以自行验证&lt;/li&gt; &lt;li&gt;&lt;strong&gt;需要 JavaScript&lt;/strong&gt;：运算在读者的设备上进行，浏览器关掉 JavaScript 时整页不会有反应&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;想自己确认第一条，最直接的做法是打开浏览器开发者工具的网络面板，用任何一个工具处理一次数据，看有没有请求送出去。整个过程不到一分钟，比读完源代码快得多。&lt;/p&gt; &lt;h2 id=&#34;用-Tor-Browser-的话有一个冲突&#34;&gt;用 Tor Browser 的话有一个冲突&lt;a class=&#34;headerlink&#34; href=&#34;#用-Tor-Browser-的话有一个冲突&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../tools/tor-browser-advanced/&#34;&gt;Tor Browser 的安全等级&lt;/a&gt;调到 Safest 会关掉 JavaScript，八个工具都无法使用。冲突在于，安全等级页的指引写的是在遇到来路不明的钓鱼链接与不熟悉的域名时把等级调高，而收到可疑链接正是最需要用隐形字符检测或 QR code 读取器检查一次的时候。&lt;/p&gt; &lt;p&gt;可疑的网站用高安全等级打开，把要检查的文字或图片复制出来之后切回 Standard，检查完再调回去。工具不连外，在 Standard 等级下打开不会增加你在可疑网站上的暴露。&lt;/p&gt; &lt;h2 id=&#34;开始之前先答三题&#34;&gt;开始之前，先答三题&lt;a class=&#34;headerlink&#34; href=&#34;#开始之前先答三题&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../utils/threat-model/&#34;&gt;威胁模型清单&lt;/a&gt;把「要保护什么、要防谁、愿意付出多少」三题答成一份可复制的纯文本摘要，并列出建议先读的页面。分级与&lt;a href=&#34;../../../../basics/threat-model/&#34;&gt;威胁模型如何建立&lt;/a&gt;一文完全一样，资产四类、对手六级、成本三级。&lt;/p&gt; &lt;p&gt;三题各自看都合理，凑在一起未必，清单会把凑不起来的组合标出来。对手选到执法或国家级而成本填最低、要防亲密关系的人却没把设备列进要保护的东西、只防随意路人却打算大改工作流程，都在标记的范围里。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;威胁模型清单的填答画面，三题分别是要保护什么、要防谁有什么能力、愿意付出多少成本，选项以复选框列出&#34; src=&#34;https://assets.anoni.net/blog/utils-threat-model-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;答案只留在该标签页里，不写进 localStorage、不写进 IndexedDB、不写进 cookie，刷新就回到空白。「我要防的是亲密关系的人」写在设备上正好是最不该留的记录，而设备很可能就在对方的接触范围内。要保存一份就按复制摘要，贴到自己选的地方。&lt;code&gt;tools/test_threatmodel.mjs&lt;/code&gt; 有一项测试守着不落地这件事，避免日后有人为了体验方便顺手加上存储。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;威胁模型清单生成的结果，上方标出两个错配，中间是建议先读的页面，下方是可以整段复制的纯文本摘要&#34; src=&#34;https://assets.anoni.net/blog/utils-threat-model-result-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;刚加入一个团体、被交代注意安全却不知道从哪开始的时候，最适合打开清单。换工作、换城市、开始参与新议题，或经历一次安全事件之后，回头再答一次。&lt;/p&gt; &lt;h2 id=&#34;要交给别人的东西&#34;&gt;要交给别人的东西&lt;a class=&#34;headerlink&#34; href=&#34;#要交给别人的东西&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;h3 id=&#34;密语与密码生成器&#34;&gt;密语与密码生成器&lt;a class=&#34;headerlink&#34; href=&#34;#密语与密码生成器&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&lt;a href=&#34;../../../../utils/passphrase/&#34;&gt;密语与密码生成器&lt;/a&gt;从 &lt;a href=&#34;../../../../tools/asian-diceware/&#34;&gt;asian-diceware&lt;/a&gt; 的 7776 字词表抽密语，或从勾选的字符集抽随机密码。两个模式的随机数都来自 &lt;code&gt;crypto.getRandomValues&lt;/code&gt;，取样时将无法整除的部分舍弃重抽，让每个字被抽中的概率完全相同。抽六个字的熵约为 77.5 位，画面会直接显示熵值。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;密语生成器的画面，抽出六个字组成的密语，下方显示约 77.5 bits 的熵，并标示够强、重要账号可以用&#34; src=&#34;https://assets.anoni.net/blog/utils-passphrase-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;怀疑手边的电脑被人动过的话，切到实体骰子模式。词表的顺序本身就是编码，第一个字是 &lt;code&gt;11111&lt;/code&gt;，最后一个是 &lt;code&gt;66666&lt;/code&gt;。掷五颗骰子按下画面上的数字即可查出一个字，随机性来自你自己的手，程序只剩查表的工作。按下载完整对照表会得到一份 7776 行的纯文本文件，印出来之后不必再打开工具。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;实体骰子模式的画面，六轮掷骰查出 oolong、boba、tofu、lantern、bamboo、harbor 六个字，组成一组密语&#34; src=&#34;https://assets.anoni.net/blog/utils-passphrase-dice-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;申请密码管理器要设主密码、加密磁盘等长期不换的密码，都适合在此生成。复制之后记得用一段无关的文字覆盖剪贴板，手机上的剪贴板常常跨 App 共用。&lt;/p&gt; &lt;h3 id=&#34;QR-code-生成器&#34;&gt;QR code 生成器&lt;a class=&#34;headerlink&#34; href=&#34;#QR-code-生成器&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&lt;a href=&#34;../../../../utils/qrcode/&#34;&gt;QR code 生成器&lt;/a&gt;将很长又容易打错的字符串转成 QR code，让眼前的人用相机读取。活动报名链接、讲义的下载网址、临时的联系方式都适用，56 个字符的 onion 网址与一行含 IP 与指纹的 Tor bridge 也在其中，中间不经过任何服务器，也不留下消息记录。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;QR code 生成器的画面，把一个 onion 网址转成 QR code，下方标出版本 5、37 乘 37 格、70 个字节&#34; src=&#34;https://assets.anoni.net/blog/utils-qrcode-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;QR code 里面是明文，任何拍到图的人都能读出内容，包括墙上的摄像头与你身后的人。真正需要保密的内容应该用&lt;a href=&#34;../../../../tools/messaging-comparison/&#34;&gt;端对端加密的通信工具&lt;/a&gt;传送。要印在纸上时将容错度调到 Q 或 H，纸会折也会脏。&lt;/p&gt; &lt;p&gt;现场要把一个链接交给眼前的人，而网络不方便使用的时候最适合。带工作坊把一行 bridge 交给参加者是典型的例子，念出来两边都不确定刚才是大写 O 还是数字 0，改用 QR code 让对方扫描，一次就对。&lt;/p&gt; &lt;h2 id=&#34;收到来路不明的东西时&#34;&gt;收到来路不明的东西时&lt;a class=&#34;headerlink&#34; href=&#34;#收到来路不明的东西时&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;h3 id=&#34;QR-code-读取器&#34;&gt;QR code 读取器&lt;a class=&#34;headerlink&#34; href=&#34;#QR-code-读取器&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&lt;a href=&#34;../../../../utils/qr-read/&#34;&gt;QR code 读取器&lt;/a&gt;在浏览器中解出图片里的内容，图片不离开设备。解出来是网址时会将主机名独立标出，并且刻意不提供打开按钮，确认主机之后再自行贴进浏览器。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;QR code 读取器的画面，解出一组 Wi-Fi 设置，字段拆成网络名称、加密方式与密码，密码以圆点遮蔽&#34; src=&#34;https://assets.anoni.net/blog/utils-qr-read-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;Wi-Fi 设置、两步验证绑定、预先写好的邮件与短信、地理坐标、电子名片都能识别，字段会拆开来标记，密码默认遮蔽。扫到 &lt;code&gt;nopass&lt;/code&gt; 的 Wi-Fi、含 &lt;code&gt;secret&lt;/code&gt; 的 &lt;code&gt;otpauth:&lt;/code&gt;、&lt;code&gt;javascript:&lt;/code&gt; 开头的内容都会另外提醒，那几种按下去的后果与扫到一个普通网址差很多。&lt;/p&gt; &lt;p&gt;停车缴费机上贴着一张看起来没有异状的 QR code，或刚认识的人递来印着 QR code 的名片，都适合先确认内容再决定要不要照做。&lt;/p&gt; &lt;h3 id=&#34;隐形字符检测&#34;&gt;隐形字符检测&lt;a class=&#34;headerlink&#34; href=&#34;#隐形字符检测&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&lt;a href=&#34;../../../../utils/invisible/&#34;&gt;隐形字符检测&lt;/a&gt;找出文字里的零宽字符、方向控制、标签字符与混在拉丁字母里的同形字，标出位置并说明每一类是什么。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;隐形字符检测的画面，示范文字里的两个零宽空格、一个冒充网址的西里尔字母与四个标签字符被橘色标出，下方按类别说明每一种是什么&#34; src=&#34;https://assets.anoni.net/blog/utils-invisible-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;机构发文件给二十个人、每一份在不同位置插入不同组合的零宽字符，内容看起来完全一样，外流之后比对即可知道是哪一份。记者取得文件向机构求证时出示原件或复制粘贴其中一段，等于把消息来源交给正在找他的人。完整的场景见&lt;a href=&#34;../../../../scenarios/journalist/&#34;&gt;记者保护消息来源&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;不可见字符的另一个用途是把整段指令藏进看起来正常的文件里。人读不到，模型读得到，把一段来路不明的文字贴给 AI 助手之前扫描一次，成本十秒。&lt;/p&gt; &lt;p&gt;检测结果能证明「有」，不能证明「没有」，零宽字符是最粗糙的一种标记方式，同义词替换、段落空白行数、标点微调、PDF 里的字符间距都不会被检测到，彩色激光打印机还会在每张纸上留下编码序号与时间的黄点阵列。处理真正敏感的文件时，正确的做法是重新打字或转述内容，不要传递原始文件。&lt;/p&gt; &lt;p&gt;社区的立场是教检测、不教植入，同一组零宽字符，机构用来保护内部文件是合理需求，用来找出举报人就是压迫工具，所以工具不提供生成带标记副本的功能，示范文字也固定，无法换成自己的文字。&lt;/p&gt; &lt;h2 id=&#34;送出去之前先清一次&#34;&gt;送出去之前先清一次&lt;a class=&#34;headerlink&#34; href=&#34;#送出去之前先清一次&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;h3 id=&#34;文件-metadata-清除器&#34;&gt;文件 metadata 清除器&lt;a class=&#34;headerlink&#34; href=&#34;#文件-metadata-清除器&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&lt;a href=&#34;../../../../utils/strip-metadata/&#34;&gt;文件 metadata 清除器&lt;/a&gt;移除 EXIF、XMP、IPTC、制作软件与注释字段，文件不离开设备，清完的是新的一份，原始文件不会被改动。处理范围是 JPEG、PNG、WebP、GIF、MP4、MOV 与 PDF，遇到认不出来的文件，画面上会直接标示，不会安静地交回一份没有处理过的东西。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;文件 metadata 清除器的画面，上方列出处理的七种格式，下方是一张示范照片清完之后从 30.1 KB 变成 29.7 KB，被移除的 EXIF 段落标示为 392 个字节&#34; src=&#34;https://assets.anoni.net/blog/utils-strip-metadata-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;照片与视频的压缩数据从文件里的固定位置一路照抄到文件尾，一个比特都没有变动，清完的文件解出来与原文件完全相同。重新编码的工具做不到无损，每一次重新压缩都会损失画质，而且会在输出里留下自己的处理痕迹，用 mat2 清过的文件可以辨识出是 mat2 清的。&lt;/p&gt; &lt;p&gt;EXIF 里还有一张没有被裁切过的缩略图。照片裁掉一半再传出去，缩略图可能仍是原本的完整画面。画面上会逐项列出移除与保留的内容，含各自占几个字节，以及文件格式里对应的段落代号。&lt;/p&gt; &lt;p&gt;iPhone 默认拍出来的 HEIC 还无法处理，可以在「设置 → 相机 → 格式」选「最兼容」，之后拍的就是 JPEG。TIFF、RAW、MKV、WebM、AVI 与 Office 文档目前也不在范围内。工具不做人脸模糊，画面里的门牌、路标、制服与窗外景色都在图像本身，分享之前自行检视一次。&lt;/p&gt; &lt;h3 id=&#34;网址清理器&#34;&gt;网址清理器&lt;a class=&#34;headerlink&#34; href=&#34;#网址清理器&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&lt;a href=&#34;../../../../utils/clean-url/&#34;&gt;网址清理器&lt;/a&gt;挑出网址里的跟踪参数并移除，每一个都说明是谁在跟踪，同时拆掉 Google 与 Facebook 的跳转包装。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;网址清理器的画面，一个带着五个跟踪参数的捐款网址被清成干净版本，下方逐项说明每个参数是谁在跟踪&#34; src=&#34;https://assets.anoni.net/blog/utils-clean-url-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;移除的逻辑是白名单，只处理清单里能识别的参数，其余一律保留。反过来做的话，YouTube 的视频 ID 与分页参数会一起被删除，读者会得到一个打不开或指向错误内容的网址，而且不会联想到是清理工具改坏的，只会觉得对方给错了链接。&lt;/p&gt; &lt;p&gt;从 Facebook 点开文章再复制出来的网址带着 &lt;code&gt;fbclid&lt;/code&gt;，贴进群组之后，每个点进去的人都会带着同一个 ID 回到 Meta，同一个 ID 将整串点击记录串了起来。邮件通讯的 &lt;code&gt;utm_source&lt;/code&gt; 转发出去等于告诉收件人你订了哪份通讯，&lt;code&gt;mc_eid&lt;/code&gt; 更直接，属于 Mailchimp 的收件人识别码，对得回电子邮件地址。&lt;/p&gt; &lt;p&gt;短网址刻意不展开，因为展开的动作会把想清理的网址送到第三方服务器上，正好是工具要避免的事。&lt;/p&gt; &lt;h2 id=&#34;想知道自己的浏览器透露什么&#34;&gt;想知道自己的浏览器透露什么&lt;a class=&#34;headerlink&#34; href=&#34;#想知道自己的浏览器透露什么&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../utils/leaks/&#34;&gt;你的浏览器透露了什么&lt;/a&gt;列出任何网站在打开页面的那一刻就能取得的信息，没有问过使用者，也不需要同意。每一项下面标出 Tor Browser 会显示什么，例如时区直接写「Tor Browser 会显示：UTC」，换一个浏览器打开同一页就可以对照。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;浏览器指纹示范页的画面，最上方是八位短码，下方逐项列出时区、语言偏好与屏幕尺寸，每一项都附上 Tor Browser 会显示的值&#34; src=&#34;https://assets.anoni.net/blog/utils-leaks-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;最上面的八位短码是将稳定的值揉在一起算出来的，换设备或换浏览器再打开一次，只要比对短码就知道有没有变。十五项值加起来足以认出一个人，短码把整组值浓缩成一个可以直接比对的识别码。原理见&lt;a href=&#34;../../../../basics/browser-fingerprinting/&#34;&gt;浏览器指纹是什么&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;列出的十五项里，在自己设备上真正能够关闭的只有三项，位置权限、语言偏好与 Do Not Track 信号。其余没有开关可以关，因为它们本来就是网页平台提供给网站的能力。单一动作能处理最多项目的是改用有内建防护的浏览器。&lt;/p&gt; &lt;p&gt;工具刻意没有导出按钮，导出的文件本身就是一份完整的指纹，留在设备上比不留更糟。也没有独特性百分比，计算独特性需要一个母体数据库，社区不打算为此开始收集访客数据。想看那种统计可以用 &lt;a href=&#34;https://coveryourtracks.eff.org/&#34; target=&#34;_blank&#34;&gt;EFF 的 Cover Your Tracks&lt;/a&gt;。&lt;/p&gt; &lt;h2 id=&#34;视频与-PDF-各有一个限制&#34;&gt;视频与 PDF 各有一个限制&lt;a class=&#34;headerlink&#34; href=&#34;#视频与-PDF-各有一个限制&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;编码器会把自己的版本写进压缩数据本身，与画面内容混在一起，不属于描述字段，要移除只能重新编码，而重新编码会损失画质，也只是把旧编码器的痕迹换成新的。工具不做重新编码，改成把扫到的字符串列出来，避免使用者误以为已经清干净。&lt;/p&gt; &lt;p&gt;照片与视频可以把描述那一段直接剪掉，PDF 不行。PDF 的每个对象在交叉引用表里记着自己的位置，剪掉一段之后后面全部位移，整张表要重算，而 1.5 版之后常见的做法还会把好几个对象压进同一段压缩数据，从外面连内容都看不到。所以工具是把整份文件重写，无损的保证在 PDF 上不成立。实测页面内容不会重新排版，渲染出来与原文件逐像素相同，但表单、数字签名或特殊交互元素重写之后不一定完全保留，重要的文件先留一份原始文件。&lt;/p&gt; &lt;p&gt;XMP 另有一个陷阱，把文档目录里指向 XMP 的引用删掉、重新保存之后，内容仍然完整留在文件里，只是没有人指向它，用文本搜索工具打开还是找得到作者与地点，所以工具是把对象本身移除，&lt;code&gt;tools/test_stripmeta.mjs&lt;/code&gt; 有一项测试专门守着。&lt;/p&gt; &lt;h2 id=&#34;整份文档站可以存进设备&#34;&gt;整份文档站可以存进设备&lt;a class=&#34;headerlink&#34; href=&#34;#整份文档站可以存进设备&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;用一般浏览器打开过文档站之后，目前语言的核心章节（概念、工具、进阶、在地）会在后台保存到设备的缓存里，不需要另外安装任何东西。切换语言时才会下载该语言的章节，所以设备上只会有实际读过的语言。&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;离线阅读页的设置画面，上方是占用空间统计与两个自动保存的开关，下方按章节列出页面，展开的工具章节显示每一页的勾选状态与大小&#34; src=&#34;https://assets.anoni.net/blog/docs-offline-library-cn.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;记者、行动者、LGBTQ、家暴等场景页不在预先下载的范围内，只有自行点开过才会保存。场景页留在设备上本身可能就是敏感信号，所以是否留存交给读者决定。要离线带着走的话，在&lt;a href=&#34;../../../../offline/&#34;&gt;离线阅读&lt;/a&gt;页的清单里自行勾选。&lt;/p&gt; &lt;p&gt;自动保存的章节默认只存文字，离线打开会缺图。页面上有一个选项可以连同核心章节的正文图一起保存，大约多 7 MB。默认关着是因为多数人在移动网络上，而缺图仍然读得懂大部分内容。自行勾选的页面不受该选项影响，一律连正文图一起保存。&lt;/p&gt; &lt;p&gt;文档站也可以安装成离线 App，Android、桌面浏览器与 iOS 的逐步操作写在&lt;a href=&#34;../../../../offline/&#34;&gt;离线阅读&lt;/a&gt;页。Tor Browser 以及 onion、IPFS 版基于隐私考量不注册后台的 Service Worker，需要离线备援时用一般浏览器在 anoni.net 安装，平时的匿名浏览再回到 Tor Browser。&lt;/p&gt; &lt;h2 id=&#34;用了谁的程序&#34;&gt;用了谁的程序&lt;a class=&#34;headerlink&#34; href=&#34;#用了谁的程序&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;小工具区大部分的程序是社区自己写的。有四样东西来自别人，原封不动放进来，不做任何修改：&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;组件&lt;/th&gt; &lt;th&gt;用在&lt;/th&gt; &lt;th&gt;许可证&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&#34;https://github.com/kazuhikoarase/qrcode-generator&#34; target=&#34;_blank&#34;&gt;qrcode-generator&lt;/a&gt; 1.4.4&lt;/td&gt; &lt;td&gt;QR code 生成器&lt;/td&gt; &lt;td&gt;MIT&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&#34;https://github.com/cozmo/jsQR&#34; target=&#34;_blank&#34;&gt;jsQR&lt;/a&gt; 1.4.0&lt;/td&gt; &lt;td&gt;QR code 读取器&lt;/td&gt; &lt;td&gt;Apache-2.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&#34;https://github.com/Hopding/pdf-lib&#34; target=&#34;_blank&#34;&gt;pdf-lib&lt;/a&gt; 1.17.1&lt;/td&gt; &lt;td&gt;metadata 清除器的 PDF 部分&lt;/td&gt; &lt;td&gt;MIT&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&#34;https://github.com/anoni-net/asian-diceware&#34; target=&#34;_blank&#34;&gt;asian-diceware&lt;/a&gt; 的 7776 字词表&lt;/td&gt; &lt;td&gt;密语与密码生成器&lt;/td&gt; &lt;td&gt;词表 CC-BY-4.0，程序 MIT&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;不做修改是刻意的，改过就失去「这是上游那一份」的可审性，读者要验的时候只能相信我们的说法。文件都在 &lt;code&gt;utils/vendor/&lt;/code&gt; 底下，可以自己跟上游的版本比对。共通的理由是组件写错不会崩溃，只会产生看起来正常但实际上错的结果，那比坏掉更难发现。&lt;/p&gt; &lt;h2 id=&#34;想一起做的话&#34;&gt;想一起做的话&lt;a class=&#34;headerlink&#34; href=&#34;#想一起做的话&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;工具是纯前端，没有构建流程，程序在 &lt;a href=&#34;https://github.com/anoni-net/docs/tree/main/docs/zh-TW/js&#34; target=&#34;_blank&#34;&gt;anoni-net/docs&lt;/a&gt; 的 &lt;code&gt;docs/zh-TW/js/&lt;/code&gt; 底下，一个工具一支 JS。改完要在本机看效果，执行 &lt;code&gt;cd docs &amp;amp;&amp;amp; uv sync &amp;amp;&amp;amp; mkdocs serve&lt;/code&gt; 即可。&lt;/p&gt; &lt;p&gt;八个工具各有一支测试，执行方式是 &lt;code&gt;node tools/test_&amp;lt;名称&amp;gt;.mjs&lt;/code&gt;，不需要安装任何包，每一支都在 CI 里执行。测试守的是画面看起来正常、结果却是错的那几种情况：取样有没有偏差、生成的 QR code 扫回来内容对不对、指纹示范页有没有偷偷送出数据、网址清理有没有误删必要参数、威胁模型的答案有没有被写进存储。&lt;/p&gt; &lt;p&gt;目前缺的东西列在各工具页的不支持清单里，HEIC、TIFF、RAW、MKV、WebM、AVI 与 Office 文档都还没有人做。着手之前先开一个 issue 或到 Matrix room 说一声，避免两个人做同一件事。流程见 &lt;a href=&#34;https://github.com/anoni-net/docs/blob/main/CONTRIBUTING.md&#34; target=&#34;_blank&#34;&gt;CONTRIBUTING&lt;/a&gt; 与&lt;a href=&#34;../../../../community/how-to-contribute/&#34;&gt;如何参与与认领主题&lt;/a&gt;。&lt;/p&gt; &lt;h2 id=&#34;接下来&#34;&gt;接下来&lt;a class=&#34;headerlink&#34; href=&#34;#接下来&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;社区想往的方向是让文档站成为一份存在读者自己设备上的隐私与匿名指引。域名被封锁、连接被切断、身处没有网络的环境，正是最需要打开文档的时候，能否打开取决于之前有没有先保存下来。&lt;/p&gt; &lt;p&gt;几件现在就可以协助的事：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;希望能离线带着走的页面&lt;/strong&gt;：预先下载的范围目前依核心章节划分，实际需求可能不同&lt;/li&gt; &lt;li&gt;&lt;strong&gt;工具在你的情境下缺了什么&lt;/strong&gt;：某个字段没有被识别、某种文件格式无法打开、说明看不懂都算&lt;/li&gt; &lt;li&gt;&lt;strong&gt;视频或 PDF 的实际案例&lt;/strong&gt;：手上有无法清除 metadata 的文件，或清完之后无法打开的文件，都欢迎回报&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;回报渠道是 Matrix 公开 room（家服务器 &lt;code&gt;im.anoni.net&lt;/code&gt;，链接见&lt;a href=&#34;../../../../community/tools/&#34;&gt;社区工具页&lt;/a&gt;），或 &lt;a href=&#34;https://github.com/anoni-net/docs/issues&#34; target=&#34;_blank&#34;&gt;anoni-net/docs&lt;/a&gt; 的 issue。不方便具名的部分可寄到 whisper@anoni.net（&lt;a href=&#34;../../../../contact/&#34;&gt;GPG 公钥&lt;/a&gt;）。&lt;/p&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/08/2026-browser-side-utils/</link> <pubDate>Tue, 25 Aug 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/08/2026-browser-side-utils/</guid> <enclosure url="https://assets.anoni.net/blog/utils-index-cn.webp" type="image/webp" length="151470" /> </item> <item> <title>匿名网络社区前往 Global Gathering 2026</title> <author>anoni.net 社区</author> <category>公告</category> <category>社区</category> <description>&lt;h1 id=&#34;匿名网络社区前往-Global-Gathering-2026&#34;&gt;匿名网络社区前往 Global Gathering 2026&lt;a class=&#34;headerlink&#34; href=&#34;#匿名网络社区前往-Global-Gathering-2026&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;Team CommUNITY 主办的 Global Gathering 2026 于 9 月 4 日到 6 日在葡萄牙 Estoril 举行，我们申请到一个展位，时段已经排定。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;日期时间：9 月 6 日 &lt;code&gt;13:00&lt;/code&gt; 到 &lt;code&gt;15:00&lt;/code&gt; WEST（UTC+1，活动期间的葡萄牙当地时间，北京时间减 7 小时）&lt;/li&gt; &lt;li&gt;位置：Regional Perspectives Village 的 &lt;code&gt;6&lt;/code&gt; 号展位，大小 3 x 3 米&lt;/li&gt; &lt;li&gt;展位名称：anoni.net Hub: Sinophone Asia-Pacific Networked Freedom&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;活动信息见 &lt;a href=&#34;https://wiki.digitalrights.community/index.php?title=2026_Global_Gathering_Programming&#34; target=&#34;_blank&#34;&gt;Global Gathering 2026&lt;/a&gt;。&lt;/p&gt; &lt;h2 id=&#34;Global-Gathering-是什么&#34;&gt;Global Gathering 是什么&lt;a class=&#34;headerlink&#34; href=&#34;#Global-Gathering-是什么&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Global Gathering 是 Team CommUNITY 主办的年度聚会，参加者来自世界各地，工作范围涵盖数字权利、网络自由，以及协助民间社会抵御数字攻击。&lt;/p&gt; &lt;p&gt;整场活动没有主舞台的主题演讲，三天的议程由讨论圈（Circles）、依地区或主题聚集的 Meetups，以及开放走动的展位（Booths）组成。村落（Villages）再把这些活动依主题分类，例如规避审查技术、数字安全、区域观点。我们的展位位于区域观点村（Regional Perspectives Village）。&lt;/p&gt; &lt;h2 id=&#34;我们参与的原因&#34;&gt;我们参与的原因&lt;a class=&#34;headerlink&#34; href=&#34;#我们参与的原因&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;我们第一次参加 Global Gathering，主要希望认识更多人，包含开发匿名网络与规避审查工具的技术工作者，以及同在亚洲区域的伙伴。&lt;/p&gt; &lt;p&gt;我们是一群关心匿名网络与网络自由的志愿者，目前从台湾出发，长期投入的工作涵盖保护记者的消息来源、让行动者在组织过程中不留下痕迹、让人在不暴露身份的前提下支持敏感议题。三者共同的基础都是一个可用的匿名网络。我们运维 Matrix 家服务器 &lt;code&gt;im.anoni.net&lt;/code&gt; 与这个文档站，观测与讨论的记录都留在可以查验的地方。&lt;/p&gt; &lt;p&gt;社区从 2025 年 8 月举办的&lt;a href=&#34;../../../../event-workshop-2025/&#34;&gt;匿名网络工作坊&lt;/a&gt;起算，第一批伙伴在那场活动认识。2026 年的工作分成三个方向，个人隐私指引依日常、敏感工作与高风险三种情境整理可操作的做法，校园 Tor relay 与 EFF 和 Tor Project 合作推动，国立台湾师范大学已有实际运行的案例，第三个方向是这次要带到展位的匿名支付。&lt;/p&gt; &lt;p&gt;同样的题目在亚太地区其他地方也有人处理，彼此还不知道对方存在。华语使用者分散在台湾、香港、中国、日本与东南亚各地，遇到的状况彼此关联，能够互相对照经验的机会很少。&lt;/p&gt; &lt;p&gt;另一个目的是参与区域之间的协作，网络自由的题目很少能靠单一社区完成，能够观测与维护的范围有限，多数需要跨地区协作才能完整处理。先建立联系，后续才有共同投入的可能。&lt;/p&gt; &lt;p&gt;8 月 13 日台湾北部移动网络降速的那 30 分钟，我们用 OONI 公开数据整理成&lt;a href=&#34;../ooni-mobile-throttle-drill-results/&#34;&gt;一份数据导览&lt;/a&gt;，当天全台 238 笔连接速度测试来自 47 台设备，其中一台的下载中位数由 &lt;code&gt;132,096&lt;/code&gt; kbit/s 降到 &lt;code&gt;1,223&lt;/code&gt; kbit/s，文章里的每个查询都免验证免密钥，读者可自行重新执行一次。记录会一并带往现场，若有人正在处理断网或降速，可以提供对照。&lt;/p&gt; &lt;h2 id=&#34;展位上要谈匿名支付&#34;&gt;展位上要谈匿名支付&lt;a class=&#34;headerlink&#34; href=&#34;#展位上要谈匿名支付&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;议程在 8 月下旬公布，三天的场次涵盖断网应变、规避审查工具、平台问责、AI 治理与记者安全。把 Circles、Villages 与 Booths 逐项看过之后，没有任何一场以资金流隐私为题。捐款者匿名、跨境拨款、制裁与外汇管制对公民社会的影响，这几件事没有出现在任何一个场次的标题或说明里。有几场以筹款策略与资助申请为题，重点在把钱找进来。款项怎么在不暴露收款人的前提下送达，议程上没有着墨。&lt;/p&gt; &lt;p&gt;制裁名单、银行拒绝往来、捐款记录被调阅，是许多组织每天在处理的事，在议程上却找不到对应的讨论。&lt;/p&gt; &lt;p&gt;匿名支付会是展位上的主要话题，我们还在研究阶段，正在收集实际的使用情境，包含谁在什么处境下需要匿名的资金流、现行做法卡在哪一段、法规与合规要求造成哪些限制。&lt;/p&gt; &lt;p&gt;特别想找这几种人聊：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;有跨境拨款经验的运营者&lt;/strong&gt;：特别是收款方在高风险或受制裁地区。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;处理过捐款者匿名的组织&lt;/strong&gt;：知道现行工具在哪里不够用。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;被资金流管制挡住的项目&lt;/strong&gt;：因为银行拒绝往来或外汇限制而无法收受支持。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;在研究或倡导层面关注这个题目的人&lt;/strong&gt;：包含法规面。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;展位时段欢迎直接走过来，不用预约也不用准备话题，匿名支付以外的题目一样可以聊。展位的用意是当一个区域的会面点，让在场的人彼此找得到。&lt;/p&gt; &lt;h2 id=&#34;另一组来自台湾的团队也在现场&#34;&gt;另一组来自台湾的团队也在现场&lt;a class=&#34;headerlink&#34; href=&#34;#另一组来自台湾的团队也在现场&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Cofacts 也到了 Estoril，展位是 Booth &lt;code&gt;10&lt;/code&gt;，9 月 6 日 &lt;code&gt;13:00&lt;/code&gt; 到 &lt;code&gt;15:00&lt;/code&gt; WEST，与我们同一个时段。他们这次展示 &lt;a href=&#34;https://cofacts.ai/&#34; target=&#34;_blank&#34;&gt;Cofacts.ai&lt;/a&gt;，一套建立在多年协作查核社群与聊天机器人之上的多代理（multi-agent）AI 框架。&lt;/p&gt; &lt;p&gt;两边关心的事情会在同一个地方交会。公共讨论需要可以查证的信息，也需要一个承载信息却不会让传递者曝光的网络。两个展位开放同一个下午，欢迎两边都来。&lt;/p&gt; &lt;h2 id=&#34;议程上与我们相关的讨论&#34;&gt;议程上与我们相关的讨论&lt;a class=&#34;headerlink&#34; href=&#34;#议程上与我们相关的讨论&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;匿名与规避审查的部分：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;技术工作者聚会（Technologist Meetup，9 月 4 日 &lt;code&gt;13:30&lt;/code&gt; 到 &lt;code&gt;14:30&lt;/code&gt;）是各地投入数字权利与公共利益技术的人互相认识的场合，排在规避审查技术村，我们想找有维护测量工具或自建服务经验的人。&lt;/li&gt; &lt;li&gt;跨境叙事的设备检查与 metadata（Cross-Borders Storytelling: Device Searches, Metadata, and Collective Preparation）比较各地在过境时遭遇设备检查与 metadata 审视的经验，并讨论数字、法律、实体与心理层面的准备。华语记者往返不同司法管辖区的频率高，别人的准备方式我们用得上。&lt;/li&gt; &lt;li&gt;Signal 能否抵抗钓鱼（Can Signal Become Phishing-Resistant?）处理针对记者与行动者的钓鱼，攻击者滥用 Signal 账号救援与设备连接的正常流程，不需要软件漏洞。账号救援的风险要怎么写进隐私指引，我们想在这场找答案。&lt;/li&gt; &lt;li&gt;VPN 透明度的问责框架（Lights in the Tunnel: Co-Creating an Accountability Framework for VPN Transparency）着手草拟评估 VPN 透明度与问责的方法论，并选定要评估的服务商。社区常被问哪一家 VPN 可信，我们想知道这套方法怎么变成使用者看得懂的建议。&lt;/li&gt; &lt;li&gt;年龄验证与数字身份系统（Age Verification and Digital Identity Systems）分成两场，盘点各国的推行状况与背后的行动者，并讨论民间社会可以推动的减害路径。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;观测与区域协作的部分：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;审查事件的快速应对（Strengthening Rapid Response Efforts to Censorship Events）讨论各地在审查事件发生时如何协作应对，并介绍 OONI 用于快速应对的工具与方法。我们长期使用 OONI 公开数据，8 月那份降速观测即为同一套方法的实现。&lt;/li&gt; &lt;li&gt;亚洲聚会（Asia Meetup，9 月 4 日 &lt;code&gt;12:00&lt;/code&gt; 到 &lt;code&gt;13:00&lt;/code&gt;）是亚洲区域工作者的连接场合，我们想在这场认识同区域正在处理相近题目的人。&lt;/li&gt; &lt;li&gt;断网应对计划服务台（Internet Shutdown Contingency Planning Help Desk）以 BRACE 框架协助组织依自身的威胁模型拟定断网时的应对计划。台湾每年有演习情境可以对照，框架能接上哪些部分是我们要理清的。&lt;/li&gt; &lt;li&gt;数字证据的保存（We See, We Archive, We Remember）以香港、中国、伊朗、巴勒斯坦的档案工作为基础，讨论公共利益信息在遭到抹除时如何保存。&lt;/li&gt; &lt;/ul&gt; &lt;h2 id=&#34;会前往交流的展位&#34;&gt;会前往交流的展位&lt;a class=&#34;headerlink&#34; href=&#34;#会前往交流的展位&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;The Onion Odyssey Cryptographic Universe 由 Tor Project 与 Guardian Project（Orbot、Onion Browser）共同设置，位于规避审查技术村的 &lt;code&gt;22&lt;/code&gt; 号展位，三天都开放，我们想了解华语使用者在 Orbot 与 Onion Browser 上遇到的门槛。&lt;/li&gt; &lt;li&gt;Lockdown Systems 带着 OnionShare，通过 Tor 网络匿名分享文件、搭建网站与聊天，另有备份与删除社交媒体记录的 Cyd。消息来源第一次使用时容易卡在哪里，隐私指引正需要这类细节。&lt;/li&gt; &lt;li&gt;Air Messenger 以 MLS 协议为基础，结合端到端加密、低 metadata 与联邦式架构，我们自己运维 Matrix 家服务器，想知道联邦式架构能把 metadata 压到什么程度。&lt;/li&gt; &lt;li&gt;Amnezia VPN 展示 VPN 封锁与 DPI 过滤的研究，以及追踪断网的 Amnezia Pulse，我们想用 8 月那份降速观测与他们的断网判定方法对照。&lt;/li&gt; &lt;li&gt;LEAP 的 MANTA 测量规避通道在受审查环境中的健康程度，我们想了解同一套测量方法是否适用于台湾的连接环境。他们的展位（Booth &lt;code&gt;21&lt;/code&gt;）只在 9 月 4 日 &lt;code&gt;15:30&lt;/code&gt; 到 &lt;code&gt;17:30&lt;/code&gt; 开放，同一天 &lt;code&gt;15:00&lt;/code&gt; 到 &lt;code&gt;16:00&lt;/code&gt; 在规避审查技术村另有一场 MANTA 的讨论。&lt;/li&gt; &lt;li&gt;po1ytech 的 polymorphic 是自动镜像系统，让遭到封锁的独立媒体维持可达，我们想问维持这套系统需要多少人力，志愿者社区的规模有限，可持续性是选工具时的前提。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;完整议程见 &lt;a href=&#34;https://wiki.digitalrights.community/index.php?title=2026_Global_Gathering_Programming&#34; target=&#34;_blank&#34;&gt;Global Gathering 2026&lt;/a&gt;，场次数量远多于此处列出的部分。&lt;/p&gt; &lt;h2 id=&#34;将到现场的伙伴&#34;&gt;将到现场的伙伴&lt;a class=&#34;headerlink&#34; href=&#34;#将到现场的伙伴&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;我们的展位排在最后一天，前两天没有固定据点，以下几种方式都可以找到我们。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;活动专用的 Matrix room 最可靠，地址是 &lt;a href=&#34;https://matrix.to/#/%23gg2026:im.anoni.net&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;#gg2026:im.anoni.net&lt;/code&gt;&lt;/a&gt;，在里面留言即可约定时间与地点，不需要交换电话号码，活动期间我们会尽快回复。任何 Matrix 账号都能加入，没有账号的人申请一个 &lt;code&gt;matrix.org&lt;/code&gt; 账号，几分钟就好。房间里的时间若没有特别注明，一律指 WEST。&lt;code&gt;im.anoni.net&lt;/code&gt; 的账号由人工开通，需要一到两天，现场找人来不及等，不需要为了进这个房间去申请。&lt;/li&gt; &lt;li&gt;9 月 4 日有两场我们会参加的场次，亚洲聚会（&lt;code&gt;12:00&lt;/code&gt; 到 &lt;code&gt;13:00&lt;/code&gt; WEST）与技术工作者聚会（&lt;code&gt;13:30&lt;/code&gt; 到 &lt;code&gt;14:30&lt;/code&gt; WEST），直接在现场会合即可。&lt;/li&gt; &lt;li&gt;每天 &lt;code&gt;12:00&lt;/code&gt; 到 &lt;code&gt;13:00&lt;/code&gt; WEST 的 Networking Hour 我们多半会出现，行程仍有变动，出发前可先在该 room 确认。9 月 4 日的这个小时就是上面那场亚洲聚会，两者是同一个时段。&lt;/li&gt; &lt;li&gt;三天大多数时间我们都在会场，名牌上会写 anoni.net 与昵称，看到请直接打招呼。&lt;/li&gt; &lt;li&gt;9 月 6 日 &lt;code&gt;13:00&lt;/code&gt; 到 &lt;code&gt;15:00&lt;/code&gt; WEST 的展位时段最容易找到人，到展位时报上昵称即可。&lt;/li&gt; &lt;/ul&gt; &lt;h2 id=&#34;无法到场的参与方式&#34;&gt;无法到场的参与方式&lt;a class=&#34;headerlink&#34; href=&#34;#无法到场的参与方式&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;多数人不会前往葡萄牙，仍然有两件事可以一起做。&lt;/p&gt; &lt;p&gt;欢迎把你遇到的协作缺口写下来寄给我们，我们会带到现场，与其他地区伙伴的记录对照。台湾的观察在国际场合出现的次数不多，具体写出一个情境，比一段抽象的简介更有用。&lt;/p&gt; &lt;p&gt;我们也想听匿名支付的实际经验，若你或你认识的组织处理过跨境的小额支持、捐款收据与身份披露之间的取舍、收款人因为资金流向遭到辨识而承担风险的情况，这些经验是现场最需要的素材。不方便具名的部分，可寄到下方的匿名信箱。活动的三天内我们会在几小时内查看，其余时间是一到两天回复。&lt;/p&gt; &lt;p&gt;活动之外，三个方向都需要更多人参与，个人隐私指引需要有人整理情境与校对，校园 Tor relay 需要有人在自己的学校里询问可行性，匿名支付需要更多实际案例。若你比对过 8 月那份降速观测与原始的 OONI 数据，有想补充或指正的地方也欢迎提出。想认领哪一项，在 Matrix room 提出即可。&lt;/p&gt; &lt;h2 id=&#34;欢迎协助传递&#34;&gt;欢迎协助传递&lt;a class=&#34;headerlink&#34; href=&#34;#欢迎协助传递&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;展位只有一个时段，是否遇到对的人，很大一部分取决于信息传得多远。若你认识可能会到 Estoril 的人，或身边有记者、开源社区的伙伴在处理相关的题目，欢迎把这篇转给他们，转传不需要事先告知我们。转出去之后若有人回应，欢迎在 Matrix room 分享，我们可以在出发前先接上。&lt;/p&gt; &lt;h2 id=&#34;活动结束之后&#34;&gt;活动结束之后&lt;a class=&#34;headerlink&#34; href=&#34;#活动结束之后&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;展位收集到的内容会整理成一份记录，在后续的电子报与这个文档站发布。我们会了解案例发生的情境，涉及的对象与所在区域不会出现在对外的内容里。协作缺口的清单与匿名支付的案例，两者都会去标识化之后才呈现。&lt;/p&gt; &lt;h2 id=&#34;联系方式&#34;&gt;联系方式&lt;a class=&#34;headerlink&#34; href=&#34;#联系方式&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;活动期间联系：Matrix room &lt;a href=&#34;https://matrix.to/#/%23gg2026:im.anoni.net&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;#gg2026:im.anoni.net&lt;/code&gt;&lt;/a&gt;，供 Global Gathering 三天使用&lt;/li&gt; &lt;li&gt;即时讨论：&lt;a href=&#34;../../../../community/tools/&#34;&gt;Matrix 公开 room&lt;/a&gt;（家服务器 &lt;code&gt;im.anoni.net&lt;/code&gt;）&lt;/li&gt; &lt;li&gt;匿名线索：whisper@anoni.net（&lt;a href=&#34;../../../../contact/&#34;&gt;GPG 公钥&lt;/a&gt;），活动期间几小时内查看&lt;/li&gt; &lt;/ul&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/08/2026-anoni-net-global-gathering/</link> <pubDate>Thu, 20 Aug 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/08/2026-anoni-net-global-gathering/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/social/blog/2026/08/2026-anoni-net-global-gathering.png" type="image/png" length="58966" /> </item> <item> <title>Brave 用两种相反的手法抹平 GPU 指纹</title> <author>anoni.net 社区</author> <category>技术</category> <category>隐私</category> <description>&lt;h1 id=&#34;Brave-用两种相反的手法抹平-GPU-指纹&#34;&gt;&lt;span class=&#34;twemoji&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path d=&#34;M17.81 4.47c-.08 0-.16-.02-.23-.06C15.66 3.42 14 3 12 3c-1.97 0-3.85.47-5.56 1.41-.24.13-.54.04-.68-.2a.506.506 0 0 1 .2-.68C7.82 2.5 9.86 2 12 2s4 .47 6.04 1.5c.25.15.34.45.21.69a.48.48 0 0 1-.44.28M3.5 9.72c-.1 0-.2-.03-.29-.09a.517.517 0 0 1-.12-.7c.99-1.4 2.25-2.5 3.75-3.27C10 4.04 14 4.03 17.15 5.65c1.5.77 2.76 1.85 3.75 3.25.16.22.1.54-.12.7-.23.16-.54.11-.7-.1a9.26 9.26 0 0 0-3.39-2.96c-2.87-1.47-6.54-1.47-9.4.01-1.36.7-2.5 1.7-3.4 2.95-.08.15-.23.22-.39.22m6.25 12.07c-.13 0-.25-.05-.35-.15-.87-.87-1.34-1.43-2.01-2.64-.69-1.23-1.05-2.73-1.05-4.34 0-2.97 2.54-5.39 5.66-5.39s5.66 2.42 5.66 5.39a.5.5 0 0 1-.5.5.5.5 0 0 1-.5-.5c0-2.42-2.09-4.39-4.66-4.39s-4.66 1.97-4.66 4.39c0 1.44.32 2.77.93 3.84.64 1.16 1.08 1.65 1.85 2.43.19.2.19.51 0 .71-.12.1-.24.15-.37.15m7.17-1.85c-1.19 0-2.24-.3-3.1-.89-1.49-1.01-2.38-2.65-2.38-4.39a.5.5 0 0 1 .5-.5.5.5 0 0 1 .5.5c0 1.41.72 2.74 1.94 3.56.71.48 1.54.71 2.54.71.24 0 .64-.03 1.04-.1.27-.05.54.13.58.41.05.26-.13.53-.41.58-.57.11-1.07.12-1.21.12M14.91 22h-.13c-1.59-.46-2.63-1.05-3.72-2.12a7.28 7.28 0 0 1-2.17-5.22c0-1.62 1.38-2.94 3.08-2.94s3.08 1.32 3.08 2.94c0 1.07.95 1.94 2.08 1.94 1.15 0 2.08-.87 2.08-1.94 0-3.77-3.25-6.83-7.25-6.83-2.84 0-5.46 1.58-6.61 4.03-.39.81-.59 1.76-.59 2.8 0 .78.07 2.01.67 3.61.1.26-.03.55-.29.64a.504.504 0 0 1-.64-.29c-.5-1.31-.73-2.62-.73-3.96 0-1.2.23-2.29.68-3.24 1.33-2.79 4.28-4.6 7.51-4.6 4.54 0 8.25 3.51 8.25 7.83 0 1.62-1.38 2.94-3.08 2.94s-3.08-1.32-3.08-2.94c0-1.07-.93-1.94-2.08-1.94s-2.08.87-2.08 1.94c0 1.71.66 3.31 1.87 4.51.95.94 1.86 1.46 3.27 1.84.27.08.42.36.35.62-.05.23-.26.38-.47.38&#34;/&gt;&lt;/svg&gt;&lt;/span&gt; Brave 用两种相反的手法抹平 GPU 指纹&lt;a class=&#34;headerlink&#34; href=&#34;#Brave-用两种相反的手法抹平-GPU-指纹&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;打开一个网页，网页上的 JavaScript 就能取得你的显卡型号、驱动信息，以及硬件支持哪些功能。答案在同一台电脑上几乎不会变，跟踪公司把它们跟其他设备特征组合起来，就是一组不需要 cookie、不需要你同意、跨网站跟着你走的标识符。&lt;/p&gt; &lt;p&gt;显卡是浏览器指纹的其中一项来源，字体清单、屏幕尺寸、时区、音频运算结果同样算在里面。整套机制怎么运作、为什么清 cookie 没有作用、各家浏览器的默认状态差在哪，见 &lt;a href=&#34;../../../../basics/browser-fingerprinting/&#34;&gt;浏览器指纹是什么，为什么很难摆脱&lt;/a&gt;。本文只处理显卡这一块。&lt;/p&gt; &lt;p&gt;Brave 从 &lt;code&gt;1.93&lt;/code&gt; 版起处理这组信号，桌面版与 Android 版都默认开启，分批推送&lt;sup id=&#34;fnref:brave&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:brave&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。做法有三项，WebGL 的厂商与渲染器字符串换成所有 Brave 用户一致的通用字符串、WebGPU 的硬件描述字段清空、WebGL 支持的扩展清单注入噪声。&lt;/p&gt; &lt;p&gt;前两项让所有用户看起来一样，第三项让同一个用户在每个网站看起来都不一样。两种方向相反的手法出现在同一次更新里，各自负责不同的 API。分工的界线落在哪里，也是 Brave 与 Tor Browser 在指纹抗性上分歧的起点。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;显卡为什么是一组好用的指纹&#34;&gt;显卡为什么是一组好用的指纹&lt;a class=&#34;headerlink&#34; href=&#34;#显卡为什么是一组好用的指纹&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;WebGL 与 WebGPU 让网站使用硬件加速绘图，地图、游戏、数据可视化都靠它们。为了让网站能针对硬件调整绘图方式，两组 API 也把底层的硬件细节开放给 JavaScript 查询。&lt;/p&gt; &lt;p&gt;网站能取得的信息有三类&lt;sup id=&#34;fnref2:brave&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:brave&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;厂商与渲染器字符串&lt;/strong&gt;：透过 &lt;code&gt;WEBGL_debug_renderer_info&lt;/code&gt; 扩展提供的 &lt;code&gt;UNMASKED_VENDOR_WEBGL&lt;/code&gt; 与 &lt;code&gt;UNMASKED_RENDERER_WEBGL&lt;/code&gt; 两个参数&lt;sup id=&#34;fnref2:mdn&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:mdn&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;，网站会取得类似 &lt;code&gt;ANGLE (Apple, ANGLE Metal Renderer: Apple M5 Max)&lt;/code&gt; 的字符串，精确到芯片型号。调试用的扩展最早是 Chrome 为了 Google Maps 开放，后来变成所有网站都能调用。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;支持的扩展清单&lt;/strong&gt;：同一个 WebGL context 会回报它支持的完整扩展清单，内容随 GPU 与驱动而异，跟踪者把整份清单 hash 成一组精简的标识符。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;WebGPU 的硬件描述&lt;/strong&gt;：较新的 WebGPU API 会返回 adapter 的 &lt;code&gt;vendor&lt;/code&gt;、&lt;code&gt;architecture&lt;/code&gt; 与 &lt;code&gt;device&lt;/code&gt; 字段，例如 &lt;code&gt;{vendor: &#39;apple&#39;, architecture: &#39;metal-3&#39;}&lt;/code&gt;。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;显卡不会天天更换，所以这些值长期稳定，比 cookie 更难清除。用户换账号、开无痕窗口、清空浏览记录，API 回报的硬件特征仍是同一组。&lt;/p&gt; &lt;p&gt;Brave 执行了一次小规模的网络爬取，分析每次调用前的调用堆栈（stack trace），观察排行前段的网站怎么使用这些 API，结论是多数网站调用它们的唯一用途就是浏览器指纹识别&lt;sup id=&#34;fnref3:brave&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:brave&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。爬取规模与比例没有写在公告里。&lt;/p&gt; &lt;h2 id=&#34;一致化与随机化各自处理哪一种数据&#34;&gt;一致化与随机化，各自处理哪一种数据&lt;a class=&#34;headerlink&#34; href=&#34;#一致化与随机化各自处理哪一种数据&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;信号&lt;/th&gt; &lt;th&gt;Brave 的处理&lt;/th&gt; &lt;th&gt;手法性质&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;WebGL 厂商与渲染器字符串&lt;/td&gt; &lt;td&gt;换成单一通用字符串，所有 Brave 用户取得相同的值&lt;/td&gt; &lt;td&gt;一致化&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;WebGPU 的 adapter 描述&lt;/td&gt; &lt;td&gt;清空 &lt;code&gt;vendor&lt;/code&gt;、&lt;code&gt;architecture&lt;/code&gt;、&lt;code&gt;device&lt;/code&gt;&lt;/td&gt; &lt;td&gt;一致化&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;WebGL 扩展清单&lt;/td&gt; &lt;td&gt;注入噪声，每个 session、每个站点（eTLD+1）、每个存储区看到的值都不同&lt;/td&gt; &lt;td&gt;随机化&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;第三项沿用 Brave 既有的 farbling 机制，2020 年的更新里写下的定义是「对半识别性的浏览器功能输出做轻微随机化，让网站难以检测，又不破坏良性、以用户为本的网站」&lt;sup id=&#34;fnref:farbling&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:farbling&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;h2 id=&#34;farbling-的种子怎么运作&#34;&gt;farbling 的种子怎么运作&lt;a class=&#34;headerlink&#34; href=&#34;#farbling-的种子怎么运作&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;farbling 的行为由种子的产生方式决定，浏览器启动时产生一组随机的 session token，与造访的每个第一方顶层框架域名经 HMAC256 混合，得出每个域名一组、寿命与 session 相同的 token&lt;sup id=&#34;fnref2:farbling&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:farbling&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。同一个网站在同一个 session 内重复测量会取得完全相同的值，换一个网站取得不同的值，下一个 session 再全部换过。第三方 frame 与 script 沿用顶层 eTLD+1 的种子&lt;sup id=&#34;fnref3:farbling&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:farbling&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;，嵌入第三方内容不会成为绕道。&lt;/p&gt; &lt;p&gt;指纹器会把大量半识别特征 hash 成单一标识符，只要其中一项被随机化，整组 hash 就被污染。技术源头是 PriVaricator（Nikiforakis 等人，WWW 2015）与 FPRandom（Laperdrix 等人，ESSoS 2017）两项研究&lt;sup id=&#34;fnref4:farbling&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:farbling&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;h2 id=&#34;为什么不全部一致化&#34;&gt;为什么不全部一致化&lt;a class=&#34;headerlink&#34; href=&#34;#为什么不全部一致化&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;扩展清单为什么走随机化，公告里没有写。从 API 的用途推测，改动两种数据对网站功能的冲击差距很大。&lt;/p&gt; &lt;p&gt;厂商与渲染器字符串主要用于性能调校与硬件黑名单。网站取得的字符串不在既有清单里，最坏的结果是走一般绘图路径。把值收敛成一个常数，该字段对指纹的贡献直接归零，代价有限。&lt;/p&gt; &lt;p&gt;扩展清单用于功能协商。网站会依照清单里有没有某个扩展，决定要不要启用某条绘图路径，或改走哪一种后备方案。给一份与硬件实况不符的统一清单，网站可能选到硬件无法支持的路径，也可能放弃本来可用的加速。可行的做法只剩在保留可用性的前提下加入噪声，让 hash 出来的值不稳定。&lt;/p&gt; &lt;p&gt;两种手法的防护目标也不同，一致化降低的是熵（entropy），让某一项特征失去区辨力，理想状态是全世界的 Brave 用户在该字段完全相同。注入噪声破坏的是可链接性（linkability），值仍然带有信息，但每站每次都不一样，跟踪者无法把两个网站上的你接成同一个人。&lt;/p&gt; &lt;h2 id=&#34;Tor-Browser-把一致化做到底&#34;&gt;Tor Browser 把一致化做到底&lt;a class=&#34;headerlink&#34; href=&#34;#Tor-Browser-把一致化做到底&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Pierre Laperdrix 2019 年替 Tor Project 写的指纹介绍文章，开宗明义写着「所有 Tor 用户应该有完全相同的指纹」。当时的具体做法包含在所有平台回报同一组操作系统信息、统一时区与屏幕分辨率，以及 letterboxing 在内容周围加上灰边，把可视区域对齐到固定尺寸，避免最大化窗口泄漏屏幕大小&lt;sup id=&#34;fnref:tor&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:tor&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;p&gt;Laperdrix 也点出随机化的风险，引用 Eckersley 提出的「可指纹化的隐私增强技术悖论」（Paradox of Fingerprintable Privacy Enhancing Technologies）。举的例子是某个扩展程序改掉一批数值，却漏改 &lt;code&gt;navigator.platform&lt;/code&gt;，于是造出一组现实中不存在的特征组合，用户反而更容易被辨认出来&lt;sup id=&#34;fnref2:tor&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:tor&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;。随机化要做对，覆盖范围必须够完整，Brave 持续扩充 farbling 的端点清单也是同一个原因。&lt;/p&gt; &lt;p&gt;Firefox 系的处理方式又是另一种。&lt;code&gt;privacy.resistFingerprinting&lt;/code&gt; 开启时，&lt;code&gt;WEBGL_debug_renderer_info&lt;/code&gt; 这个扩展直接停用，网站调用不到&lt;sup id=&#34;fnref:mdn&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:mdn&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;。该开关默认关闭，需要用户自行到 &lt;code&gt;about:config&lt;/code&gt; 开启，各家浏览器默认做到哪里的完整对照见 &lt;a href=&#34;../../../../basics/browser-fingerprinting/&#34;&gt;浏览器指纹是什么，为什么很难摆脱&lt;/a&gt;。停用与返回通用值各有代价，停用之后网站取不到值，需要自行处理空值的情况，返回通用值则让网站收到的数据与真实硬件无异，照常运作。Brave 选后者，一贯把功能损坏的风险压到最低。公告里另一项主张是防护要默认开启，不藏在特殊模式或旗标后面&lt;sup id=&#34;fnref4:brave&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:brave&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;p&gt;界线在 Brave 的文档里也写得清楚。2020 年说明 farbling 的更新里有一句建议，需要对抗定向攻击的用户应该改用 Tor Browser&lt;sup id=&#34;fnref5:farbling&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:farbling&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。随机化挡得住被广泛部署的商业跟踪，不提供匿名集（anonymity set）。&lt;/p&gt; &lt;h2 id=&#34;读者可以怎么选&#34;&gt;读者可以怎么选&lt;a class=&#34;headerlink&#34; href=&#34;#读者可以怎么选&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;日常浏览的层面，默认开启是这次更新最实际的价值。多数人不会为了隐私去改 &lt;code&gt;about:config&lt;/code&gt;、切换特殊模式或安装扩展程序，公告里也写了扩展程序本身带有安全与隐私问题&lt;sup id=&#34;fnref5:brave&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:brave&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。防护在安装完就生效，门槛接近零。&lt;/p&gt; &lt;p&gt;需要匿名的情境仍然要用 Tor Browser。Brave 的随机化只处理跨站串接，IP 地址仍然直接暴露给网站，网络路径上的观察者也看得到你连了哪里。记者、行动者、处理敏感题材的工作者，威胁模型不同，工具选择也跟着不同，可以回头看 &lt;a href=&#34;../../../../basics/threat-model/&#34;&gt;威胁模型如何建立&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;Tor 的可达性因地而异。境内重度封锁，需要网桥或其他接入方式，台湾、香港、澳门、新加坡、马来西亚一般都可以直连，限制转移到你发表了什么与 SIM 实名登记留下的记录，香港另有 2026 年 3 月起在国安调查中要求交出设备密码的义务，连转机旅客都适用。逐地的可达性与法规细节见 &lt;a href=&#34;../../../../scenarios/asia-travel/&#34;&gt;出差与研讨会的数字准备&lt;/a&gt;。相对地，Brave 的指纹防护属于浏览器内建功能，不涉及接入方式，装完就生效。&lt;/p&gt; &lt;p&gt;用 Tor Browser 的人要记得一致化路线靠整体一致性维持。安装扩展程序、最大化窗口、改动字体设置，都会让你从人群里凸出来，细节见 &lt;a href=&#34;../../../../tools/tor-browser-advanced/&#34;&gt;Tor Browser 进阶设置&lt;/a&gt;。同一个动作在 Brave 上影响有限，在 Tor Browser 上会直接破坏防护的前提。&lt;/p&gt; &lt;p&gt;想确认自己的浏览器泄漏了什么，EFF 的 &lt;a href=&#34;https://coveryourtracks.eff.org/&#34; target=&#34;_blank&#34;&gt;Cover Your Tracks&lt;/a&gt; 会列出浏览器回报的 WebGL 厂商与渲染器字符串，以及各项特征的识别力。Brave 的更新完整推送到你的设备之后，两个字段会塌成通用值&lt;sup id=&#34;fnref6:brave&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:brave&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;h2 id=&#34;还没做完的部分&#34;&gt;还没做完的部分&lt;a class=&#34;headerlink&#34; href=&#34;#还没做完的部分&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;WebGPU 支持的扩展清单目前还没纳入随机化，公告里写了之后会补上&lt;sup id=&#34;fnref7:brave&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:brave&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。图形 API 仍是指纹研究的活跃领域，新的泄漏管道会持续出现。&lt;/p&gt; &lt;p&gt;网站功能受损的情况还在观察期。Brave 保留了逐站调整防护的能力，遇到确实无法正常运作的网站，用户可以单站关闭图形防护、关闭指纹防护，或整个关掉 Shields&lt;sup id=&#34;fnref8:brave&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:brave&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。保留这些开关代表取舍仍在，一致化与注入噪声都无法保证所有网站维持原本的行为。&lt;/p&gt; &lt;p&gt;指纹识别不会因为一次浏览器更新而结束。显卡这一项被处理掉之后，字体清单、canvas 绘图结果、音频运算特征仍在原地。能安全收敛成常数的信号就收敛，牵涉功能协商的信号就注入噪声，这条分工线也适用于检视其他标榜指纹抗性的工具。&lt;/p&gt; &lt;h2 id=&#34;延伸阅读&#34;&gt;延伸阅读&lt;a class=&#34;headerlink&#34; href=&#34;#延伸阅读&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../basics/browser-fingerprinting/&#34;&gt;浏览器指纹是什么，为什么很难摆脱&lt;/a&gt;：指纹由哪些特征组成、为什么结构上难以规避，以及各家浏览器的默认状态&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../basics/platform-tracking/&#34;&gt;平台知道你多少事&lt;/a&gt;：设备指纹在整套跟踪生态里的位置&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/tor-browser-advanced/&#34;&gt;Tor Browser 进阶设置&lt;/a&gt;：指纹抗性与窗口大小的实际操作&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../basics/threat-model/&#34;&gt;威胁模型如何建立&lt;/a&gt;：先确认在抗谁，再选工具&lt;/li&gt; &lt;/ul&gt; &lt;div class=&#34;footnote&#34;&gt; &lt;hr /&gt; &lt;ol&gt; &lt;li id=&#34;fn:brave&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://brave.com/privacy-updates/38-webgl-webgpu-fingerprinting-protections/&#34; target=&#34;_blank&#34;&gt;Brave improves protections against GPU fingerprinting&lt;/a&gt; - Brave 隐私更新第 38 篇。本文引用的三项防护、爬取观察、兼容处理与后续规划皆出自此文。查证日 2026-08-14。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:brave&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:brave&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref3:brave&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref4:brave&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref5:brave&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref6:brave&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref7:brave&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref8:brave&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:farbling&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://brave.com/privacy-updates/4-fingerprinting-defenses-2.0/&#34; target=&#34;_blank&#34;&gt;Fingerprinting defenses 2.0&lt;/a&gt; - Brave 隐私更新第 4 篇，2020 年。farbling 的定义、HMAC256 种子机制与研究出处出自此文，第三方 frame 沿用顶层种子的说明另见 Brave 的 &lt;a href=&#34;https://github.com/brave/brave-browser/wiki/Fingerprinting-Protections&#34; target=&#34;_blank&#34;&gt;Fingerprinting Protections wiki&lt;/a&gt;。wiki 页面会被持续编辑，查证日 2026-08-18。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:farbling&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:farbling&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref3:farbling&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref4:farbling&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref5:farbling&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:tor&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://blog.torproject.org/browser-fingerprinting-introduction-and-challenges-ahead/&#34; target=&#34;_blank&#34;&gt;Browser Fingerprinting: An Introduction and the Challenges Ahead&lt;/a&gt; - Pierre Laperdrix，The Tor Project 博客，2019 年 9 月 4 日。一致化路线、letterboxing 与可指纹化隐私增强技术悖论的说明出自此文，文中的具体做法对应撰文当时的 Tor Browser 版本，该悖论一词出自 Eckersley 的 PETS 2010 论文，由本文引用。查证日 2026-08-18。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:tor&#34; title=&#34;Jump back to footnote 3 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:tor&#34; title=&#34;Jump back to footnote 3 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:mdn&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_debug_renderer_info&#34; target=&#34;_blank&#34;&gt;WEBGL_debug_renderer_info&lt;/a&gt; - MDN Web Docs。两个常数的定义，以及 Firefox 在 &lt;code&gt;privacy.resistFingerprinting&lt;/code&gt; 为 true 时停用此扩展的说明。查证日 2026-08-18。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:mdn&#34; title=&#34;Jump back to footnote 4 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:mdn&#34; title=&#34;Jump back to footnote 4 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/08/brave-gpu-fingerprinting/</link> <pubDate>Wed, 19 Aug 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/08/brave-gpu-fingerprinting/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/social/blog/2026/08/brave-gpu-fingerprinting.png" type="image/png" length="44600" /> </item> <item> <title>在田间学的两场数字安全线上课，8/26 这场还能报名</title> <author>anoni.net 社区</author> <category>活动</category> <category>社区</category> <category>隐私</category> <description>&lt;h1 id=&#34;在田间学的两场数字安全线上课826-这场还能报名&#34;&gt;在田间学的两场数字安全线上课，8/26 这场还能报名&lt;a class=&#34;headerlink&#34; href=&#34;#在田间学的两场数字安全线上课826-这场还能报名&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;figure&gt; &lt;img alt=&#34;数字安全与隐私保护系列活动主视觉&#34; src=&#34;https://assets.anoni.net/blog/tianjian-digital-privacy.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt; &lt;br /&gt; &lt;figcaption&gt;活动主视觉由《田间》制作，来源：&lt;a href=&#34;https://tian-jian.org/tj-field-school/event/digital-privacy/&#34; target=&#34;_blank&#34;&gt;在田间学活动页面&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;《田间》在「在田间学」开了「数字安全与隐私保护系列」，两场免费线上课程。8/12 的第一场由我们社区的 Toomore 分享，8/26 的第二场由黄豆泥（Mashbean）接续，现在还可以报名。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;田间与在田间学&#34;&gt;《田间》与「在田间学」&lt;a class=&#34;headerlink&#34; href=&#34;#田间与在田间学&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;《田间》是独立研究计划 China Media Project 的华文刊物，关注全球华文媒体的发展与挑战，也鼓励媒体圈之间的交流。China Media Project 2004 年成立于香港大学新闻及传媒研究中心，目前设于美国，在台北设有研究据点。《田间》的&lt;a href=&#34;https://tian-jian.org/information#about&#34; target=&#34;_blank&#34;&gt;关于我们&lt;/a&gt;页面上写着「我们坚信新闻自由，致力于推动华文圈的民主和开放社会」。核心团队三个人，主编简恒宇、记者苏晓凡、调查协调专员吕伊萱。团队之外另有一组编辑顾问群，成员包含独立记者乔龙、香港记者协会主席郑嘉如、香港中文大学新闻与传播学院副教授方可成、数字素养实验室（FactLink）创办人陈慧敏、《北漂台湾》作者杜晋轩，以及 READr 总编辑简信昌。&lt;/p&gt; &lt;p&gt;「在田间学」是他们为华文新闻工作者与内容创作者开设的线上学习平台，课程与活动都免费。这个系列的设定写在活动页上：「在资安风险无所不在的今天，个人数字足迹对新闻工作者格外重要，本系列课程将从个人装置盘点出发，到探讨平台中介者如何成为保护资讯流通与支持安全协作的屏障。」&lt;/p&gt; &lt;p&gt;两场的分工很清楚。第一场处理记者自己手上的设备与账号，第二场处理记者所依赖的平台。&lt;/p&gt; &lt;h2 id=&#34;第一场个人隐私与你手上的消息来源已结束&#34;&gt;第一场，个人隐私与你手上的消息来源（已结束）&lt;a class=&#34;headerlink&#34; href=&#34;#第一场个人隐私与你手上的消息来源已结束&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;时间：2026/08/12（三）19:30 - 21:00（+0800）&lt;/li&gt; &lt;li&gt;讲者：Toomore（anoni.net 共同维护者）&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;内容从个人隐私盘点开始，包含手机定位权限的检视、隐私防护现况的评估，以及记者工作中的安全应变。&lt;/p&gt; &lt;p&gt;《田间》记者苏晓凡把当天的内容整理成一篇笔记，2026/08/18 发布：&lt;/p&gt; &lt;p&gt;&lt;a class=&#34;md-button&#34; href=&#34;https://tian-jian.org/digital-security-and-privacy-class/&#34; target=&#34;_blank&#34;&gt;&lt;span class=&#34;twemoji&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path d=&#34;M6 13v-2h8l-3.5-3.5 1.42-1.42L17.84 12l-5.92 5.92-1.42-1.42L14 13zm16-1a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-2 0a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8&#34;/&gt;&lt;/svg&gt;&lt;/span&gt; 【在田间学】数字资安与隐私保护系列课程&lt;/a&gt;&lt;/p&gt; &lt;p&gt;（作者：苏晓凡，《田间》，2026/08/18）&lt;/p&gt; &lt;p&gt;笔记分成个人隐私检测、通讯录与日历、账号与密码管理、WiFi 与移动设备、与消息来源、推荐工具六个段落，把当天的操作步骤写得比现场更好读。想回顾或补课的伙伴，直接读那一篇最快。当中有一句话特别适合当成起点：「尽量不要让你的 APP 触碰通讯录。」&lt;/p&gt; &lt;p&gt;当天提到的主题，文档站都有对应的页面可以延伸阅读。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;笔记段落&lt;/th&gt; &lt;th&gt;延伸阅读&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;个人隐私检测&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;../../../../scenarios/everyday-baseline/&#34;&gt;一般人平常该做到什么&lt;/a&gt;、&lt;a href=&#34;../../../../basics/platform-tracking/&#34;&gt;社群平台怎么收集你的数据&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;通讯录、日历&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;../../../../basics/metadata/&#34;&gt;Metadata 是什么，为什么重要&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;账号与密码管理&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;../../../../tools/password-manager/&#34;&gt;密码管理器入门&lt;/a&gt;、&lt;a href=&#34;../../../../tools/asian-diceware/&#34;&gt;Asian Diceware&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;WiFi 与移动设备&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;../../../../scenarios/asia-travel/&#34;&gt;出差与研讨会的数字准备&lt;/a&gt;、&lt;a href=&#34;../../../../basics/browser-fingerprinting/&#34;&gt;浏览器指纹是什么，为什么很难摆脱&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;与消息来源&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;../../../../scenarios/journalist/&#34;&gt;记者保护消息来源&lt;/a&gt;、&lt;a href=&#34;../../../../tools/messaging-comparison/&#34;&gt;匿名通讯工具比较&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;密码挑三到六个英文单字随意排列的做法，我们也做了一份带亚洲味的字典，见 &lt;a href=&#34;../../../../tools/asian-diceware/&#34;&gt;Asian Diceware&lt;/a&gt;。&lt;/p&gt; &lt;h2 id=&#34;第二场平台中介者如何成为保护独立记者的屏障826&#34;&gt;第二场，平台中介者如何成为保护独立记者的屏障（8/26）&lt;a class=&#34;headerlink&#34; href=&#34;#第二场平台中介者如何成为保护独立记者的屏障826&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;时间：2026/08/26（三）19:30 - 21:00（+0800），欧洲中部时间 13:30 - 15:00，美东时间 07:30 - 09:00&lt;/li&gt; &lt;li&gt;讲者：黄豆泥 / Mashbean（哈佛肯尼迪学院 Allen Lab Fellow、Matters 总经理）&lt;/li&gt; &lt;li&gt;形式：线上（Webex），免费，以中文进行&lt;/li&gt; &lt;li&gt;主题：匿名性、隐私保护、通讯安全与资源传递，并介绍可以立即采用的实务工具&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;报名在活动页面按「注册参加」，需要先注册「在田间学」的账号。课后《田间》会提供参与者一份数字小册。&lt;/p&gt; &lt;p&gt;&lt;a class=&#34;md-button&#34; href=&#34;https://tian-jian.org/tj-field-school/event/digital-privacy/&#34; target=&#34;_blank&#34;&gt;&lt;span class=&#34;twemoji&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path d=&#34;M6 13v-2h8l-3.5-3.5 1.42-1.42L17.84 12l-5.92 5.92-1.42-1.42L14 13zm16-1a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-2 0a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8&#34;/&gt;&lt;/svg&gt;&lt;/span&gt; 活动页面与报名&lt;/a&gt;&lt;/p&gt; &lt;h2 id=&#34;为什么推荐这一场&#34;&gt;为什么推荐这一场&lt;a class=&#34;headerlink&#34; href=&#34;#为什么推荐这一场&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;第一场的重点放在记者自己能控制的部分，设备、账号、浏览器指纹，以及跟消息来源的联系管道。做完之后，剩下的风险有一大半落在平台身上。信息存在谁的服务器上、平台被要求交出数据时会怎么处理、内容被下架或账号被停用时作品还在不在，都是个人设置管不到的范围。第二场把题目设定在平台中介者能为记者做什么，补上我们没有涵盖的另一半。&lt;/p&gt; &lt;h2 id=&#34;其他资源&#34;&gt;&lt;span class=&#34;twemoji&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--&gt;&lt;path d=&#34;M464 256a208 208 0 1 0-416 0 208 208 0 1 0 416 0M0 256a256 256 0 1 1 512 0 256 256 0 1 1-512 0m256-80c-17.7 0-32 14.3-32 32 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 47.2-36 67.2-56 74.5v3.8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8.1c0-20.5 14.8-35.2 30.1-40.2 6.4-2.1 13.2-5.5 18.2-10.3 4.3-4.2 7.7-10 7.7-19.6 0-17.7-14.3-32-32-32zm-32 192a32 32 0 1 1 64 0 32 32 0 1 1-64 0&#34;/&gt;&lt;/svg&gt;&lt;/span&gt; 其他资源&lt;a class=&#34;headerlink&#34; href=&#34;#其他资源&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;div class=&#34;grid cards&#34;&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../scenarios/journalist/&#34;&gt;&lt;span class=&#34;twemoji&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path d=&#34;M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5zm0 4a3 3 0 0 1 3 3 3 3 0 0 1-3 3 3 3 0 0 1-3-3 3 3 0 0 1 3-3m5.13 12A9.7 9.7 0 0 1 12 20.92 9.7 9.7 0 0 1 6.87 17c-.34-.5-.63-1-.87-1.53 0-1.65 2.71-3 6-3s6 1.32 6 3c-.24.53-.53 1.03-.87 1.53&#34;/&gt;&lt;/svg&gt;&lt;/span&gt; 记者保护消息来源&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/password-manager/&#34;&gt;&lt;span class=&#34;twemoji&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path d=&#34;M12.67 13.67c-.47.46-1.04.83-1.67 1.06V23H8v-2H5v-3h3v-3.28c-1.74-.62-3-2.26-3-4.22C5 8 7 6 9.5 6h.1c-.47.95-.68 2-.57 3.08-.59.2-1.03.76-1.03 1.42 0 .83.67 1.5 1.5 1.5.23 0 .45-.06.65-.15.64.84 1.52 1.47 2.52 1.82m8.06 5.77-2.76 1.16-.78-1.84-2.76 1.17-1.17-2.77L16.03 16l-1.27-3c-1.85.08-3.65-.95-4.41-2.75-.96-2.29.12-4.93 2.41-5.9.24-.1.5-.17.74-.23C12.84 2.87 11.5 2 10 2 7.79 2 6 3.79 6 6v.24c-.3.26-.6.58-.85.91C5.06 6.78 5 6.4 5 6c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.42-.6 2.67-1.55 3.57.42.43 1.05.56 1.63.31.77-.32 1.12-1.2.8-1.96a1 1 0 0 0-.14-.26C15.9 7.13 16 6.58 16 6c0-.63-.1-1.24-.28-1.81 1.28.36 2.38 1.25 2.93 2.57.76 1.8.24 3.81-1.15 5.05zM13 8.6c.37-.41.65-.89.82-1.42-.54.27-.85.82-.82 1.42&#34;/&gt;&lt;/svg&gt;&lt;/span&gt; 密码管理器入门&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../basics/browser-fingerprinting/&#34;&gt;&lt;span class=&#34;twemoji&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path d=&#34;M17.81 4.47c-.08 0-.16-.02-.23-.06C15.66 3.42 14 3 12 3c-1.97 0-3.85.47-5.56 1.41-.24.13-.54.04-.68-.2a.506.506 0 0 1 .2-.68C7.82 2.5 9.86 2 12 2s4 .47 6.04 1.5c.25.15.34.45.21.69a.48.48 0 0 1-.44.28M3.5 9.72c-.1 0-.2-.03-.29-.09a.517.517 0 0 1-.12-.7c.99-1.4 2.25-2.5 3.75-3.27C10 4.04 14 4.03 17.15 5.65c1.5.77 2.76 1.85 3.75 3.25.16.22.1.54-.12.7-.23.16-.54.11-.7-.1a9.26 9.26 0 0 0-3.39-2.96c-2.87-1.47-6.54-1.47-9.4.01-1.36.7-2.5 1.7-3.4 2.95-.08.15-.23.22-.39.22m6.25 12.07c-.13 0-.25-.05-.35-.15-.87-.87-1.34-1.43-2.01-2.64-.69-1.23-1.05-2.73-1.05-4.34 0-2.97 2.54-5.39 5.66-5.39s5.66 2.42 5.66 5.39a.5.5 0 0 1-.5.5.5.5 0 0 1-.5-.5c0-2.42-2.09-4.39-4.66-4.39s-4.66 1.97-4.66 4.39c0 1.44.32 2.77.93 3.84.64 1.16 1.08 1.65 1.85 2.43.19.2.19.51 0 .71-.12.1-.24.15-.37.15m7.17-1.85c-1.19 0-2.24-.3-3.1-.89-1.49-1.01-2.38-2.65-2.38-4.39a.5.5 0 0 1 .5-.5.5.5 0 0 1 .5.5c0 1.41.72 2.74 1.94 3.56.71.48 1.54.71 2.54.71.24 0 .64-.03 1.04-.1.27-.05.54.13.58.41.05.26-.13.53-.41.58-.57.11-1.07.12-1.21.12M14.91 22h-.13c-1.59-.46-2.63-1.05-3.72-2.12a7.28 7.28 0 0 1-2.17-5.22c0-1.62 1.38-2.94 3.08-2.94s3.08 1.32 3.08 2.94c0 1.07.95 1.94 2.08 1.94 1.15 0 2.08-.87 2.08-1.94 0-3.77-3.25-6.83-7.25-6.83-2.84 0-5.46 1.58-6.61 4.03-.39.81-.59 1.76-.59 2.8 0 .78.07 2.01.67 3.61.1.26-.03.55-.29.64a.504.504 0 0 1-.64-.29c-.5-1.31-.73-2.62-.73-3.96 0-1.2.23-2.29.68-3.24 1.33-2.79 4.28-4.6 7.51-4.6 4.54 0 8.25 3.51 8.25 7.83 0 1.62-1.38 2.94-3.08 2.94s-3.08-1.32-3.08-2.94c0-1.07-.93-1.94-2.08-1.94s-2.08.87-2.08 1.94c0 1.71.66 3.31 1.87 4.51.95.94 1.86 1.46 3.27 1.84.27.08.42.36.35.62-.05.23-.26.38-.47.38&#34;/&gt;&lt;/svg&gt;&lt;/span&gt; 浏览器指纹是什么，为什么很难摆脱&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../community/&#34;&gt;&lt;span class=&#34;twemoji&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path d=&#34;M12 5.5A3.5 3.5 0 0 1 15.5 9a3.5 3.5 0 0 1-3.5 3.5A3.5 3.5 0 0 1 8.5 9 3.5 3.5 0 0 1 12 5.5M5 8c.56 0 1.08.15 1.53.42-.15 1.43.27 2.85 1.13 3.96C7.16 13.34 6.16 14 5 14a3 3 0 0 1-3-3 3 3 0 0 1 3-3m14 0a3 3 0 0 1 3 3 3 3 0 0 1-3 3c-1.16 0-2.16-.66-2.66-1.62a5.54 5.54 0 0 0 1.13-3.96c.45-.27.97-.42 1.53-.42M5.5 18.25c0-2.07 2.91-3.75 6.5-3.75s6.5 1.68 6.5 3.75V20h-13zM0 20v-1.5c0-1.39 1.89-2.56 4.45-2.9-.59.68-.95 1.62-.95 2.65V20zm24 0h-3.5v-1.75c0-1.03-.36-1.97-.95-2.65 2.56.34 4.45 1.51 4.45 2.9z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt; 社区参与&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/08/tianjian-digital-privacy/</link> <pubDate>Wed, 19 Aug 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/08/tianjian-digital-privacy/</guid> <enclosure url="https://assets.anoni.net/blog/tianjian-digital-privacy.webp" type="image/webp" length="85718" /> </item> <item> <title>从 OONI 公开数据看 8/13 台湾北部移动网络降速的 30 分钟</title> <author>anoni.net 社区</author> <category>OONI</category> <category>社区</category> <description>&lt;h1 id=&#34;从-OONI-公开数据看-813-台湾北部移动网络降速的-30-分钟&#34;&gt;从 OONI 公开数据看 8/13 台湾北部移动网络降速的 30 分钟&lt;a class=&#34;headerlink&#34; href=&#34;#从-OONI-公开数据看-813-台湾北部移动网络降速的-30-分钟&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;&lt;img alt=&#34;一起测 8 月 13 日的移动网络降速&#34; src=&#34;../../../assets/images/ooni-run-v2.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;台湾长期没有经历大规模的网络降速或断网。对日常生活来说是好事，对想理解网络异常的人来说，代表手上缺少对照的样本。&lt;a href=&#34;../../../../tools/what-is-ooni/&#34;&gt;OONI&lt;/a&gt; 是国际上长期在做网络封锁与连接质量观测的开源项目，任何人都能安装它的 App 参与测量，结果全部公开。台湾在里面的记录，一直呈现一个正常运作的网络。&lt;/p&gt; &lt;p&gt;8 月 13 日之前的 30 天，台湾三家移动运营商在 OONI 上留下 564 条成功的连接速度测试（测试项名称 &lt;code&gt;ndt&lt;/code&gt;），下载中位数 &lt;code&gt;12,425&lt;/code&gt; kbit/s，低于 &lt;code&gt;2,000&lt;/code&gt; kbit/s 的只有 4 条，其中 2 条还是测量失败。kbit/s 是每秒传输的千比特数，数字越大越快，&lt;code&gt;1,000&lt;/code&gt; kbit/s 约等于 1 Mbps。&lt;/p&gt; &lt;p&gt;8 月 13 日 14:30 到 15:00，台湾北部七个县市的移动网络降速 30 分钟。&lt;a href=&#34;../ooni-mobile-throttle-drill/&#34;&gt;两天前社区发出号召&lt;/a&gt;，请大家在降速时段执行 OONI Probe 的性能测试。当天全台留下 238 条连接速度测试与 235 条视频流测试（测试项名称 &lt;code&gt;dash&lt;/code&gt;），其中在移动网络上完成的有 170 条与 168 条，来自 47 台设备。8 月 10 日中部场的同一个时段，全台湾的移动网络性能测量是 0 条。&lt;/p&gt; &lt;p&gt;号召的起点来自社区伙伴 &lt;a href=&#34;https://mashbean.net/about/&#34; target=&#34;_blank&#34;&gt;mashbean（黄豆泥）&lt;/a&gt;。演习前他提议趁着难得的时间点找大家一起用 OONI 记录，两边于是分头准备，一边整理号召与操作说明，一边在当天实地观测。他把自己的记录写成&lt;a href=&#34;https://mashbean.net/blog/2026/0813-16xy2v/&#34; target=&#34;_blank&#34;&gt;另一篇文章&lt;/a&gt;，追到了演习公告结束之后网络仍然受限的情形，正好补上本文数据看不见的时段。两篇一起读，涵盖的时间才完整。&lt;/p&gt; &lt;p&gt;其中一部中华电信移动的手机，在降速时段测到 &lt;code&gt;788&lt;/code&gt; 到 &lt;code&gt;1,709&lt;/code&gt; kbit/s。台湾的公开数据里没有出现过同一量级的数字。需要先说明的是，数字来自单一设备留下的 6 条记录，足以作为一个完整的个案，不足以推论全岛或任何一家运营商的普遍状况。&lt;/p&gt; &lt;p&gt;本文记录的是网络状态。运营商是否确实执行指令、官方公布的数字精不精确，都不在讨论范围。台湾过去没有降速形态的数据，把 30 分钟的观测留下来是主要目的。以下的查询都免验证免密钥，读者可以自行重新执行一次。&lt;/p&gt; &lt;p&gt;整理数据的过程里，最实用的收获与降速本身无关，而是判读方法。降速与封锁在 OONI 数据上是两种完全不同的形态。封锁会让异常率飙升、留下确认封锁的记录，降速则完全不动判定字段，变化只出现在吞吐量与延迟的数值上。当天全台的网络连接测试异常率是 &lt;code&gt;1.0%&lt;/code&gt;，与平常的 &lt;code&gt;0.6%&lt;/code&gt; 落在同一个区间，确认封锁整天维持在 &lt;code&gt;0&lt;/code&gt;，下降的只有速度。拿封锁判定的异常率去描述降速，会得到一个接近平常的数字，然后误以为什么都没发生。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;先看当天数据的整体形态&#34;&gt;先看当天数据的整体形态&lt;a class=&#34;headerlink&#34; href=&#34;#先看当天数据的整体形态&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;把当天全台的连接速度测试按 15 分钟分组，社区动员会直接呈现在数据上。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;8 月 13 日各 15 分钟区间的连接速度测试条数，橙色为降速时段&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;vegachart style=&#39;width: 100%&#39; class=&#34;vegalite&#34;&gt;{&#34;description&#34;:&#34;OONI ndt measurements per 15 minutes in Taiwan on 2026-08-13&#34;,&#34;data&#34;:{&#34;values&#34;:[{&#34;t&#34;:&#34;13:00&#34;,&#34;n&#34;:3,&#34;g&#34;:&#34;一般时段&#34;},{&#34;t&#34;:&#34;13:15&#34;,&#34;n&#34;:4,&#34;g&#34;:&#34;一般时段&#34;},{&#34;t&#34;:&#34;13:30&#34;,&#34;n&#34;:11,&#34;g&#34;:&#34;一般时段&#34;},{&#34;t&#34;:&#34;13:45&#34;,&#34;n&#34;:4,&#34;g&#34;:&#34;一般时段&#34;},{&#34;t&#34;:&#34;14:00&#34;,&#34;n&#34;:9,&#34;g&#34;:&#34;一般时段&#34;},{&#34;t&#34;:&#34;14:15&#34;,&#34;n&#34;:27,&#34;g&#34;:&#34;一般时段&#34;},{&#34;t&#34;:&#34;14:30&#34;,&#34;n&#34;:13,&#34;g&#34;:&#34;降速时段&#34;},{&#34;t&#34;:&#34;14:45&#34;,&#34;n&#34;:50,&#34;g&#34;:&#34;降速时段&#34;},{&#34;t&#34;:&#34;15:00&#34;,&#34;n&#34;:31,&#34;g&#34;:&#34;一般时段&#34;},{&#34;t&#34;:&#34;15:15&#34;,&#34;n&#34;:15,&#34;g&#34;:&#34;一般时段&#34;},{&#34;t&#34;:&#34;15:30&#34;,&#34;n&#34;:2,&#34;g&#34;:&#34;一般时段&#34;},{&#34;t&#34;:&#34;15:45&#34;,&#34;n&#34;:2,&#34;g&#34;:&#34;一般时段&#34;}]},&#34;mark&#34;:{&#34;type&#34;:&#34;bar&#34;,&#34;tooltip&#34;:true,&#34;cornerRadiusEnd&#34;:4},&#34;encoding&#34;:{&#34;x&#34;:{&#34;field&#34;:&#34;t&#34;,&#34;type&#34;:&#34;ordinal&#34;,&#34;title&#34;:&#34;台湾时间（每 15 分钟）&#34;,&#34;axis&#34;:{&#34;labelAngle&#34;:-45}},&#34;y&#34;:{&#34;field&#34;:&#34;n&#34;,&#34;type&#34;:&#34;quantitative&#34;,&#34;title&#34;:&#34;连接速度测试条数&#34;},&#34;color&#34;:{&#34;field&#34;:&#34;g&#34;,&#34;type&#34;:&#34;nominal&#34;,&#34;title&#34;:null,&#34;scale&#34;:{&#34;domain&#34;:[&#34;一般时段&#34;,&#34;降速时段&#34;],&#34;range&#34;:[&#34;#0089bf&#34;,&#34;#e65100&#34;]},&#34;legend&#34;:{&#34;orient&#34;:&#34;top&#34;}}}}&lt;/vegachart&gt;&lt;/p&gt; &lt;p&gt;号召文请大家设 &lt;code&gt;14:35&lt;/code&gt; 的闹钟，行有余力再加 &lt;code&gt;14:15&lt;/code&gt; 与 &lt;code&gt;15:10&lt;/code&gt;。三个尖峰都出现了，&lt;code&gt;14:45&lt;/code&gt; 到 &lt;code&gt;15:00&lt;/code&gt; 的 50 条是全天最高点。前 30 天全台平均一天约 34 条连接速度测试，多数来自少数几台设备的自动排程，当天单一个 15 分钟区间就超过平常一整天。&lt;/p&gt; &lt;details class=&#34;note&#34;&gt; &lt;summary&gt;各 15 分钟区间的完整条数&lt;/summary&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;台湾时间&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;条数&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;13:00&lt;/code&gt; 到 &lt;code&gt;13:15&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;3&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;13:15&lt;/code&gt; 到 &lt;code&gt;13:30&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;4&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;13:30&lt;/code&gt; 到 &lt;code&gt;13:45&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;11&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;13:45&lt;/code&gt; 到 &lt;code&gt;14:00&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;4&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:00&lt;/code&gt; 到 &lt;code&gt;14:15&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;9&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:15&lt;/code&gt; 到 &lt;code&gt;14:30&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;27&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:30&lt;/code&gt; 到 &lt;code&gt;14:45&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;13&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:45&lt;/code&gt; 到 &lt;code&gt;15:00&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;50&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;15:00&lt;/code&gt; 到 &lt;code&gt;15:15&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;31&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;15:15&lt;/code&gt; 到 &lt;code&gt;15:30&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;15&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;15:30&lt;/code&gt; 到 &lt;code&gt;15:45&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;2&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;15:45&lt;/code&gt; 到 &lt;code&gt;16:00&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;2&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/details&gt; &lt;p&gt;各运营商的参与情况如下。&lt;code&gt;AS&lt;/code&gt; 开头的编号是自治网络的全球标识符，运营商、企业、学校都有各自的号码，OONI 只记录到运营商层级，不记录使用者位置。设备数以 OONI 生成的匿名设备标识符（&lt;code&gt;probe_id&lt;/code&gt;）去重计算。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;运营商&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;8/13 条数&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;前 30 天条数&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;当天设备数&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;AS17421&lt;/code&gt; 中华电信移动&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;68&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;20&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;22&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;AS9674&lt;/code&gt; 远传&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;51&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;12&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;15&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;AS24158&lt;/code&gt; 台湾大哥大&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;55&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;538&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;9&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;三个数值列都是连接速度测试的数量，前两列的单位是测量条数，最后一列是不重复的设备数。一部手机测三次算 3 条、1 台设备。&lt;/p&gt; &lt;p&gt;中华电信移动与远传原本是台湾 OONI 数据里覆盖最少的两家。一个下午的测量超过了两家过去 30 天的累积。台湾大哥大的前 30 天条数本来就高，来自少数设备的长期自动执行，当天新增的 9 台设备是过去没有的分布。&lt;/p&gt; &lt;p&gt;数据上分不出谁是看到号召才测的。App 里的性能测试是一张内置卡片（编号 &lt;code&gt;00107&lt;/code&gt;），全球使用者点下去执行的都是同一张，当天光是台湾以外就有上千条带着同一个编号。号召的效果只能从前后量的对比推估，看不到个别参与者的来源。&lt;/p&gt; &lt;h2 id=&#34;放大到一部手机的-30-分钟&#34;&gt;放大到一部手机的 30 分钟&lt;a class=&#34;headerlink&#34; href=&#34;#放大到一部手机的-30-分钟&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;设备标识符可以把同一部手机的多条测量串起来。当天有一部中华电信移动的 Android 手机在降速前后都执行了测试，两个性能测试项各留下 6 条。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;同一部手机的下载与上传吞吐量，灰带为降速时段。纵轴为对数坐标，数据跨两个多数量级。13:33 到 14:36 之间没有测量，线段在此断开&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;vegachart style=&#39;width: 100%&#39; class=&#34;vegalite&#34;&gt;{&#34;description&#34;:&#34;Download vs upload throughput of a single mobile device during the 2026-08-13 throttling drill&#34;,&#34;layer&#34;:[{&#34;data&#34;:{&#34;values&#34;:[{&#34;s&#34;:&#34;2026-08-13T14:30:00&#34;,&#34;e&#34;:&#34;2026-08-13T15:00:00&#34;}]},&#34;mark&#34;:{&#34;type&#34;:&#34;rect&#34;,&#34;opacity&#34;:0.12,&#34;color&#34;:&#34;#546e7a&#34;},&#34;encoding&#34;:{&#34;x&#34;:{&#34;field&#34;:&#34;s&#34;,&#34;type&#34;:&#34;temporal&#34;},&#34;x2&#34;:{&#34;field&#34;:&#34;e&#34;}}},{&#34;data&#34;:{&#34;values&#34;:[{&#34;t&#34;:&#34;2026-08-13T13:32:00&#34;,&#34;d&#34;:&#34;下载&#34;,&#34;seg&#34;:&#34;降速前&#34;,&#34;v&#34;:89510},{&#34;t&#34;:&#34;2026-08-13T13:33:00&#34;,&#34;d&#34;:&#34;下载&#34;,&#34;seg&#34;:&#34;降速前&#34;,&#34;v&#34;:174682},{&#34;t&#34;:&#34;2026-08-13T14:36:00&#34;,&#34;d&#34;:&#34;下载&#34;,&#34;seg&#34;:&#34;降速中&#34;,&#34;v&#34;:788},{&#34;t&#34;:&#34;2026-08-13T14:39:00&#34;,&#34;d&#34;:&#34;下载&#34;,&#34;seg&#34;:&#34;降速中&#34;,&#34;v&#34;:881},{&#34;t&#34;:&#34;2026-08-13T14:51:00&#34;,&#34;d&#34;:&#34;下载&#34;,&#34;seg&#34;:&#34;降速中&#34;,&#34;v&#34;:1565},{&#34;t&#34;:&#34;2026-08-13T14:52:00&#34;,&#34;d&#34;:&#34;下载&#34;,&#34;seg&#34;:&#34;降速中&#34;,&#34;v&#34;:1709},{&#34;t&#34;:&#34;2026-08-13T13:32:00&#34;,&#34;d&#34;:&#34;上传&#34;,&#34;seg&#34;:&#34;降速前&#34;,&#34;v&#34;:21510},{&#34;t&#34;:&#34;2026-08-13T13:33:00&#34;,&#34;d&#34;:&#34;上传&#34;,&#34;seg&#34;:&#34;降速前&#34;,&#34;v&#34;:16348},{&#34;t&#34;:&#34;2026-08-13T14:36:00&#34;,&#34;d&#34;:&#34;上传&#34;,&#34;seg&#34;:&#34;降速中&#34;,&#34;v&#34;:26300},{&#34;t&#34;:&#34;2026-08-13T14:39:00&#34;,&#34;d&#34;:&#34;上传&#34;,&#34;seg&#34;:&#34;降速中&#34;,&#34;v&#34;:31789},{&#34;t&#34;:&#34;2026-08-13T14:51:00&#34;,&#34;d&#34;:&#34;上传&#34;,&#34;seg&#34;:&#34;降速中&#34;,&#34;v&#34;:22370},{&#34;t&#34;:&#34;2026-08-13T14:52:00&#34;,&#34;d&#34;:&#34;上传&#34;,&#34;seg&#34;:&#34;降速中&#34;,&#34;v&#34;:32695}]},&#34;mark&#34;:{&#34;type&#34;:&#34;line&#34;,&#34;strokeWidth&#34;:2,&#34;point&#34;:{&#34;size&#34;:70,&#34;filled&#34;:true},&#34;tooltip&#34;:true},&#34;encoding&#34;:{&#34;x&#34;:{&#34;field&#34;:&#34;t&#34;,&#34;type&#34;:&#34;temporal&#34;,&#34;title&#34;:&#34;台湾时间&#34;,&#34;axis&#34;:{&#34;format&#34;:&#34;%H:%M&#34;},&#34;scale&#34;:{&#34;padding&#34;:18}},&#34;y&#34;:{&#34;field&#34;:&#34;v&#34;,&#34;type&#34;:&#34;quantitative&#34;,&#34;scale&#34;:{&#34;type&#34;:&#34;log&#34;,&#34;domain&#34;:[500,250000],&#34;nice&#34;:false},&#34;title&#34;:&#34;吞吐量 kbit/s（对数坐标）&#34;},&#34;color&#34;:{&#34;field&#34;:&#34;d&#34;,&#34;type&#34;:&#34;nominal&#34;,&#34;title&#34;:null,&#34;scale&#34;:{&#34;domain&#34;:[&#34;下载&#34;,&#34;上传&#34;],&#34;range&#34;:[&#34;#0089bf&#34;,&#34;#e65100&#34;]},&#34;legend&#34;:{&#34;orient&#34;:&#34;top&#34;}},&#34;detail&#34;:{&#34;field&#34;:&#34;seg&#34;,&#34;type&#34;:&#34;nominal&#34;}}}]}&lt;/vegachart&gt;&lt;/p&gt; &lt;p&gt;下载的两段落差两个数量级，上传的两段几乎在同一个高度上。&lt;/p&gt; &lt;p&gt;前两条在降速开始前约一小时，后四条在降速时段内。下载中位数由 &lt;code&gt;132,096&lt;/code&gt; kbit/s 降到 &lt;code&gt;1,223&lt;/code&gt; kbit/s，两个测试项各自算出的比值是 &lt;code&gt;1/108&lt;/code&gt; 与 &lt;code&gt;1/88&lt;/code&gt;。放回台湾数据的脉络看，落差更明显：中华电信移动在前 30 天的 18 条测量里，最低值是 &lt;code&gt;42,197&lt;/code&gt; kbit/s，降速中的 &lt;code&gt;788&lt;/code&gt; kbit/s 是该运营商在公开数据上前所未见的量级。&lt;/p&gt; &lt;p&gt;同一批测量还记录了往返延迟与重传率，六条的完整数值如下。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;台湾时间&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;下载&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;上传&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;流媒体比特率&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;最小 RTT&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;平均 RTT&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;重传率&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;13:32&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;89,510&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;21,510&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;138,513&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;18.39&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;66.78&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;0.000%&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;13:33&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;174,682&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;16,348&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;119,179&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;17.85&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;82.05&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;0.001%&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:36&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;788&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;26,300&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;1,308&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;16.85&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;168.40&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;0.522%&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:39&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;881&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;31,789&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;1,608&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;19.97&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;137.24&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;0.202%&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:51&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;1,565&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;22,370&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;1,624&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;18.72&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;130.05&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;0.000%&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:52&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;1,709&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;32,695&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;821&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;18.28&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;114.79&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;&lt;code&gt;0.000%&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;前三个数值列的单位是 kbit/s，数字越大越快，其中 &lt;code&gt;1,308&lt;/code&gt; kbit/s 大致相当于标清的流媒体。两个 RTT 列的单位是毫秒（ms），数字越小代表数据包来回一趟越快，最小 RTT 取整段测试中最快的一次，接近线路本身的实际距离，平均 RTT 则把途中排队的时间也算进去。重传率是需要重发的数据包所占比例。&lt;/p&gt; &lt;p&gt;解读吞吐量时要记得一件事，连接速度测试的对端是 M-Lab 的服务器，数值里同时包含最后一公里与到 M-Lab 节点的国际线路，单条结果无法把两段分离。延迟字段正好回应该项疑虑：最小 RTT 全程维持在 17 到 20 ms，与数据包路径未改变的情形一致，也降低了「速度变化来自国际线路」的可能。平均 RTT 从 67 到 82 ms 升到 115 到 168 ms，代表数据包在某处出现队列延迟（queuing delay）。重传率四条里有两条从降速前的近乎 &lt;code&gt;0&lt;/code&gt; 升到 &lt;code&gt;0.522%&lt;/code&gt; 与 &lt;code&gt;0.202%&lt;/code&gt;，相对变化不小，绝对值仍低于 &lt;code&gt;0.6%&lt;/code&gt;，较符合延迟发送而非大量丢弃的形态。&lt;/p&gt; &lt;p&gt;三个字段合起来，构成流量整形（shaping）在数据上的特征。若手段是丢弃数据包，重传率会上升得更明显。若成因是信号劣化或换了基站，最小 RTT 通常会跟着变动。以上判读同样建立在单一设备上。&lt;/p&gt; &lt;p&gt;行政院对演练做法的说明是核心网络限流，将移动网络下载速率调降至 256KB&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:2&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。原始说法没有标明单位，若解读为每秒 256 KB，换算后是 &lt;code&gt;2,048&lt;/code&gt; kbit/s。若解读为 256 kbit/s，量级则完全不同。本文不做数值精确度的比对，列出官方说法是让读者知道公布的量级落在哪里。&lt;/p&gt; &lt;h2 id=&#34;没有降速信号的测量撑起了对照&#34;&gt;没有降速信号的测量撑起了对照&lt;a class=&#34;headerlink&#34; href=&#34;#没有降速信号的测量撑起了对照&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;47 台设备里，46 台在降速时段测到的是正常速度。降速时段三家移动运营商的下载中位数是 &lt;code&gt;42.2&lt;/code&gt; Mbps，降速前是 &lt;code&gt;53.2&lt;/code&gt; Mbps，恢复后是 &lt;code&gt;58.5&lt;/code&gt; Mbps，三个时段落在同一个量级。&lt;/p&gt; &lt;p&gt;正因为有整批正常数值垫底，单一设备的 &lt;code&gt;788&lt;/code&gt; kbit/s 才能被认定是特殊的。若当天所有人都测到低速，合理的解释会变成全台网络普遍变慢，或当天的一般波动。若只有一部手机在测，低速也可能来自该设备自身的状况，例如信号不良或后台程序占用带宽。同时段有 32 台设备执行同一组测试，其中 31 台正常，单一设备的异常才站得住。&lt;/p&gt; &lt;p&gt;号召文请不在降速范围的人也测一次，用意即在于此。范围外的测量不是白测的，它们决定了范围内的数字能不能被解读。人在台南、在高雄，或当天根本不在台湾，只要在同一个时间点按下执行，数据都落在同一个公开数据库里，都是对照的一部分。&lt;/p&gt; &lt;p&gt;当天全球有数千条同样的性能测试在执行，台湾的差别只在于有明确的事件与时间边界可以对应。缺了对照组，剩下的就只是一个孤立的低速数字，说明不了任何事。&lt;/p&gt; &lt;h2 id=&#34;体感怎么对应到字段&#34;&gt;体感怎么对应到字段&lt;a class=&#34;headerlink&#34; href=&#34;#体感怎么对应到字段&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;社区没有做体感问卷，以下从数据回推当时使用手机会遇到的状况。&lt;/p&gt; &lt;h3 id=&#34;视频转圈圈&#34;&gt;视频转圈圈&lt;a class=&#34;headerlink&#34; href=&#34;#视频转圈圈&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;视频流测试会记录开始播放前的等待时间。降速前的两条都是 &lt;code&gt;0&lt;/code&gt; 秒，降速中的三条分别是 &lt;code&gt;0.12&lt;/code&gt; 秒、&lt;code&gt;0.12&lt;/code&gt; 秒与 &lt;code&gt;5.29&lt;/code&gt; 秒。最后一条等了超过五秒缓冲才开始播放，正是点开视频后盯着圈圈转的等待时间。&lt;/p&gt; &lt;h3 id=&#34;发消息传照片出去反而顺畅&#34;&gt;发消息、传照片出去反而顺畅&lt;a class=&#34;headerlink&#34; href=&#34;#发消息传照片出去反而顺畅&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;降速中的四条上传分别是 &lt;code&gt;26,300&lt;/code&gt;、&lt;code&gt;31,789&lt;/code&gt;、&lt;code&gt;22,370&lt;/code&gt; 与 &lt;code&gt;32,695&lt;/code&gt; kbit/s，与降速前的 &lt;code&gt;21,510&lt;/code&gt;、&lt;code&gt;16,348&lt;/code&gt; kbit/s 相比没有下降。上传与下载的倍率达到 33、36、14、19 倍。限流是单向的，只作用在下载方向。单向限流也解释了号召文提醒过的一件事：测量结果的上传在降速期间仍然顺畅，数据能即时发出，不需要等网络恢复后补传。&lt;/p&gt; &lt;h3 id=&#34;点下去要等一下才有反应&#34;&gt;点下去要等一下才有反应&lt;a class=&#34;headerlink&#34; href=&#34;#点下去要等一下才有反应&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;平均 RTT 翻倍，每一次点击到画面更新之间的空档会被拉长。&lt;/p&gt; &lt;h3 id=&#34;网页还是打得开只是慢&#34;&gt;网页还是打得开，只是慢&lt;a class=&#34;headerlink&#34; href=&#34;#网页还是打得开只是慢&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;降速时段全台有 1,893 条网络连接测试（Web Connectivity），异常率 &lt;code&gt;1.0%&lt;/code&gt;，降速前与恢复后都是 &lt;code&gt;0.6%&lt;/code&gt;。确认封锁的条数在所有时段皆为 &lt;code&gt;0&lt;/code&gt;。网站连得到，Tor 与 Psiphon 也连得上，降速时段的 33 条 Tor 测试与 33 条 Psiphon 测试异常数都是 &lt;code&gt;0&lt;/code&gt;。&lt;/p&gt; &lt;p&gt;降速的 30 分钟在数据上呈现为速度下降，连接本身没有中断。&lt;/p&gt; &lt;h2 id=&#34;降速与断网在数据上是两种形态&#34;&gt;降速与断网在数据上是两种形态&lt;a class=&#34;headerlink&#34; href=&#34;#降速与断网在数据上是两种形态&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;OONI 的多数测试项在做封锁判定，例如网络连接测试、Telegram、Signal。真正的封锁或断网发生时，异常率会飙升、出现确认封锁的记录，严重时测量直接失败，连报告都发不出来，数据库里留下的是一段空白。降速时连接全部成功，报告照常发出，判定字段一动也不动。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;&lt;/th&gt; &lt;th&gt;封锁或断网&lt;/th&gt; &lt;th&gt;降速&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;连接是否成功&lt;/td&gt; &lt;td&gt;大量失败&lt;/td&gt; &lt;td&gt;全部成功&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;异常率&lt;/td&gt; &lt;td&gt;明显上升&lt;/td&gt; &lt;td&gt;不动&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;确认封锁&lt;/td&gt; &lt;td&gt;可能出现&lt;/td&gt; &lt;td&gt;维持 &lt;code&gt;0&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;吞吐量&lt;/td&gt; &lt;td&gt;未必反映&lt;/td&gt; &lt;td&gt;明显下降&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;该看哪一组测试项&lt;/td&gt; &lt;td&gt;有封锁判定的测试项&lt;/td&gt; &lt;td&gt;性能测试项的数值&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;判准因此很清楚。想观测降速，要看性能测试项的数值。想观测封锁，要看有判定的测试项。两者用错了，得到的数字都会指向错误的结论。&lt;/p&gt; &lt;p&gt;号召文事前只请大家执行性能测试，原因也在于此。限速期间执行有封锁判定的测试项，手机端大量超时而辅助服务器一切正常，比对出来会被标成封锁的签名，等于在台湾的公开数据里注入一批看起来像审查的记录。当天的结果显示假信号没有出现。&lt;/p&gt; &lt;p&gt;两种形态都可以自行查看。台湾 8 月 13 日的&lt;a href=&#34;https://explorer.ooni.org/chart/mat?probe_cc=TW&amp;amp;test_name=web_connectivity&amp;amp;since=2026-08-13&amp;amp;until=2026-08-14&amp;amp;axis_x=measurement_start_day&amp;amp;time_grain=hour&#34; target=&#34;_blank&#34;&gt;逐小时分布&lt;/a&gt;里，确认封锁整天维持在 &lt;code&gt;0&lt;/code&gt;，降速的一小时同样为 &lt;code&gt;0&lt;/code&gt;。OONI 团队查证过的封锁事件收在 &lt;a href=&#34;https://explorer.ooni.org/findings&#34; target=&#34;_blank&#34;&gt;Findings&lt;/a&gt;，每则都连着对应的测量数据，可以看到确认封锁的条数在事件期间如何上升。两边查的是同一个数据库、同一组字段，差别只在数值。&lt;/p&gt; &lt;h2 id=&#34;结论怎么从公开数据得出&#34;&gt;结论怎么从公开数据得出&lt;a class=&#34;headerlink&#34; href=&#34;#结论怎么从公开数据得出&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;h3 id=&#34;第一步把时间区间内的测量捞出来&#34;&gt;第一步，把时间区间内的测量捞出来&lt;a class=&#34;headerlink&#34; href=&#34;#第一步把时间区间内的测量捞出来&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;measurements 端点免验证，接受精确到秒的时间区间。&lt;/p&gt; &lt;div class=&#34;highlight&#34;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;https://api.ooni.org/api/v1/measurements?probe_cc=TW&amp;amp;test_name=ndt &amp;amp;since=2026-08-13T06:00:00Z&amp;amp;until=2026-08-13T08:00:00Z&amp;amp;limit=200 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;所有时间一律为 UTC，台湾时间需减 8 小时，降速时段对应 &lt;code&gt;06:30&lt;/code&gt; 到 &lt;code&gt;07:00&lt;/code&gt;。要取台湾时间的一整天，起讫要往前推 8 小时，写成 &lt;code&gt;2026-08-12T16:00:00Z&lt;/code&gt; 到 &lt;code&gt;2026-08-13T16:00:00Z&lt;/code&gt;。返回的每一条都带网络编号（&lt;code&gt;probe_asn&lt;/code&gt;）与测量编号（&lt;code&gt;measurement_uid&lt;/code&gt;）。条数超过 &lt;code&gt;limit&lt;/code&gt; 时返回里会有 &lt;code&gt;next_url&lt;/code&gt;，要逐页取完才不会漏数据，当天的连接速度测试就有 238 条，一次 &lt;code&gt;limit=200&lt;/code&gt; 取不完。&lt;/p&gt; &lt;h3 id=&#34;第二步取原始-JSON-拿数值&#34;&gt;第二步，取原始 JSON 拿数值&lt;a class=&#34;headerlink&#34; href=&#34;#第二步取原始-JSON-拿数值&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;列表本身不含吞吐量，要再开每一条返回的 &lt;code&gt;measurement_url&lt;/code&gt;。连接速度测试的数值在 &lt;code&gt;test_keys.summary&lt;/code&gt;，包含下载（&lt;code&gt;download&lt;/code&gt;）、上传（&lt;code&gt;upload&lt;/code&gt;）、最小往返延迟（&lt;code&gt;min_rtt&lt;/code&gt;）、平均往返延迟（&lt;code&gt;avg_rtt&lt;/code&gt;）与重传率（&lt;code&gt;retransmit_rate&lt;/code&gt;）。视频流测试的数值在 &lt;code&gt;test_keys.simple&lt;/code&gt;，包含比特率中位数（&lt;code&gt;median_bitrate&lt;/code&gt;）与播放等待时间（&lt;code&gt;min_playout_delay&lt;/code&gt;）。&lt;/p&gt; &lt;h3 id=&#34;第三步剔除非移动网络的测量&#34;&gt;第三步，剔除非移动网络的测量&lt;a class=&#34;headerlink&#34; href=&#34;#第三步剔除非移动网络的测量&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;原始 JSON 的网络类型字段（&lt;code&gt;annotations.network_type&lt;/code&gt;）会标记移动网络（&lt;code&gt;mobile&lt;/code&gt;）、Wi-Fi（&lt;code&gt;wifi&lt;/code&gt;）、有线（&lt;code&gt;wired_ethernet&lt;/code&gt;）或 VPN（&lt;code&gt;vpn&lt;/code&gt;）。当天 238 条连接速度测试里，只有 170 条标记为移动网络。少了筛选，家用光纤与 VPN 的测量会混进来，而两者本来就不在降速范围内。&lt;/p&gt; &lt;h3 id=&#34;第四步用设备标识符串起同一部手机&#34;&gt;第四步，用设备标识符串起同一部手机&lt;a class=&#34;headerlink&#34; href=&#34;#第四步用设备标识符串起同一部手机&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;标识符在原始 JSON 的顶层，字段名是 &lt;code&gt;probe_id&lt;/code&gt;，与吞吐量所在的 &lt;code&gt;test_keys&lt;/code&gt; 是平行的两个位置。值是 OONI 为每台设备生成的匿名哈希，同一部手机的多条测量会带同一个值，把值相同的测量收在一起就是该设备当天的完整记录。当天 238 条连接速度测试里有 18 条没有带标识符，无法归户到任何一台设备，本文的设备数也不计入。&lt;/p&gt; &lt;p&gt;单条测量难以独立判读，因为手机型号、位置、信号强度全都不同。同一部手机的自身前后对照直接得多。本文的关键表格即由此得出。&lt;/p&gt; &lt;h3 id=&#34;第五步排除误判&#34;&gt;第五步，排除误判&lt;a class=&#34;headerlink&#34; href=&#34;#第五步排除误判&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;两个当天实际遇到的例子。&lt;/p&gt; &lt;p&gt;一台台湾大哥大的设备在 14:54 测到 &lt;code&gt;3,124&lt;/code&gt; kbit/s，看起来像降速。但它在当天 20:11 又测到 &lt;code&gt;3,126&lt;/code&gt; kbit/s，视频流比特率整天落在 &lt;code&gt;2,072&lt;/code&gt; 到 &lt;code&gt;2,909&lt;/code&gt; kbit/s 之间。数字全天稳定，来自该号码本身的速率上限，与演练无关。只看降速时段的数据，很容易把它算进证据里。&lt;/p&gt; &lt;p&gt;降速时段另有 5 条测量完全失败，错误分别是连接超时、DNS 查询失败与连接被拒。失败的成因无法从单条结果判定，可能来自降速，也可能来自一般的连接问题，因此不列入。&lt;/p&gt; &lt;h3 id=&#34;第六步建立对照组&#34;&gt;第六步，建立对照组&lt;a class=&#34;headerlink&#34; href=&#34;#第六步建立对照组&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;8 月 10 日、11 日、12 日的同一个时段，移动网络的性能测量没有任何一条低于 &lt;code&gt;2,000&lt;/code&gt; kbit/s，8 月 12 日的 7 条里最低是 &lt;code&gt;8,399&lt;/code&gt; kbit/s。低于 &lt;code&gt;2,000&lt;/code&gt; kbit/s 的测量只出现在 8 月 13 日的降速时段，当天其他时段都没有。有了对照组，才能把观察到的低速与一般波动分开。&lt;/p&gt; &lt;h2 id=&#34;超出本批数据范围的问题&#34;&gt;超出本批数据范围的问题&lt;a class=&#34;headerlink&#34; href=&#34;#超出本批数据范围的问题&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;h3 id=&#34;位置&#34;&gt;位置&lt;a class=&#34;headerlink&#34; href=&#34;#位置&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;OONI 记录国家与 ASN，不记录县市，也不记录基站位置。从数据看得出一条测量来自 &lt;code&gt;AS17421&lt;/code&gt;，看不出手机当时在台北还是台南。47 台设备里只有 1 台留下明确的降速信号，最可能的解释是其他人不在降速的七个县市内，但公开数据无法验证。&lt;/p&gt; &lt;p&gt;不记录位置是 OONI 的设计选择，理由是保护参与者。在审查严重的国家，测量者的位置信息会直接转为人身风险。该取舍是对的，代价是地理范围明确的事件难以精确对位。想补上位置维度，需要社区自己另外收集，例如一份自愿填写的县市登记表单，且只收到县市层级、不与设备标识符对应，避免补回 OONI 刻意拿掉的追踪能力。&lt;/p&gt; &lt;h3 id=&#34;跨运营商的数据覆盖度&#34;&gt;跨运营商的数据覆盖度&lt;a class=&#34;headerlink&#34; href=&#34;#跨运营商的数据覆盖度&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;留下完整前后对照的设备集中在中华电信移动一家。台湾大哥大与远传在降速时段的低值都是测量失败，没有可判读的数值。落差来自参与者分布与数据落点，不代表各运营商的网络状况有差异。要看到不同运营商在同一时段的形态，需要每一家都有设备完成降速前、降速中、恢复后的测量。&lt;/p&gt; &lt;h3 id=&#34;恢复所需的时间&#34;&gt;恢复所需的时间&lt;a class=&#34;headerlink&#34; href=&#34;#恢复所需的时间&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;留下完整降速记录的手机，最后一条测量在 14:52，之后没有再执行，本文的前后对照到此为止。恢复后的 30 分钟有 38 条测量，全部来自没有降速信号的设备，同一台设备跨越降速中与恢复后的比较无从谈起。&lt;/p&gt; &lt;p&gt;公开数据里留着恢复期的线索，是本文的筛选条件把它挡掉的。台湾大哥大的一台设备在 15:08 测到 &lt;code&gt;55&lt;/code&gt; kbit/s，两分钟后的流媒体测试返回 &lt;code&gt;0&lt;/code&gt;，两条都落在演习公告的结束时间之后。本文的统计没有纳入，因为两条的网络类型字段都是空的，而为了排除固网与 VPN，本文只计入明确标记为移动网络的测量。筛选挡掉噪声的同时，也挡掉了信号。&lt;/p&gt; &lt;p&gt;补上该时段的是 mashbean 的&lt;a href=&#34;https://mashbean.net/blog/2026/0813-16xy2v/&#34; target=&#34;_blank&#34;&gt;实地观测&lt;/a&gt;。他记录到 15:08 的下载仍然只有 &lt;code&gt;55&lt;/code&gt; kbit/s，流媒体测试从超时转为完成，一直到 17:47 才恢复到可用的水平，并据此主张恢复时间应该纳入韧性演习的成效指标，功能恢复与回到基准要分开判读。设备在谁手上、当时走的是不是移动网络、人在哪个县市，OONI 不记录的维度，只有测量者本人说得出来。&lt;/p&gt; &lt;p&gt;把两份观测的时间点排在一起，当天下午的轮廓才完整。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;当天下午的事件时间轴，灰带为公告的降速时段，纵轴依数据来源分列&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;vegachart style=&#39;width: 100%&#39; class=&#34;vegalite&#34;&gt;{&#34;description&#34;:&#34;Timeline of drill events and observations on 2026-08-13 afternoon&#34;,&#34;layer&#34;:[{&#34;data&#34;:{&#34;values&#34;:[{&#34;s&#34;:&#34;2026-08-13T14:30:00&#34;,&#34;e&#34;:&#34;2026-08-13T15:00:00&#34;}]},&#34;mark&#34;:{&#34;type&#34;:&#34;rect&#34;,&#34;opacity&#34;:0.12,&#34;color&#34;:&#34;#546e7a&#34;},&#34;encoding&#34;:{&#34;x&#34;:{&#34;field&#34;:&#34;s&#34;,&#34;type&#34;:&#34;temporal&#34;},&#34;x2&#34;:{&#34;field&#34;:&#34;e&#34;}}},{&#34;data&#34;:{&#34;values&#34;:[{&#34;t&#34;:&#34;2026-08-13T14:30:00&#34;,&#34;src&#34;:&#34;行政院公告&#34;,&#34;e&#34;:&#34;降速开始&#34;},{&#34;t&#34;:&#34;2026-08-13T15:00:00&#34;,&#34;src&#34;:&#34;行政院公告&#34;,&#34;e&#34;:&#34;降速结束&#34;},{&#34;t&#34;:&#34;2026-08-13T14:36:00&#34;,&#34;src&#34;:&#34;本文数据&#34;,&#34;e&#34;:&#34;788 kbit/s，全天最低&#34;},{&#34;t&#34;:&#34;2026-08-13T14:39:00&#34;,&#34;src&#34;:&#34;本文数据&#34;,&#34;e&#34;:&#34;881 kbit/s&#34;},{&#34;t&#34;:&#34;2026-08-13T14:52:00&#34;,&#34;src&#34;:&#34;本文数据&#34;,&#34;e&#34;:&#34;1,709 kbit/s，该设备最后一条&#34;},{&#34;t&#34;:&#34;2026-08-13T15:08:00&#34;,&#34;src&#34;:&#34;本文数据&#34;,&#34;e&#34;:&#34;另一台设备 55 kbit/s&#34;},{&#34;t&#34;:&#34;2026-08-13T15:10:00&#34;,&#34;src&#34;:&#34;本文数据&#34;,&#34;e&#34;:&#34;流媒体测试返回 0&#34;},{&#34;t&#34;:&#34;2026-08-13T17:47:00&#34;,&#34;src&#34;:&#34;mashbean 观测&#34;,&#34;e&#34;:&#34;恢复到可用水平&#34;}]},&#34;mark&#34;:{&#34;type&#34;:&#34;point&#34;,&#34;size&#34;:110,&#34;filled&#34;:true,&#34;color&#34;:&#34;#0089bf&#34;,&#34;tooltip&#34;:true},&#34;encoding&#34;:{&#34;x&#34;:{&#34;field&#34;:&#34;t&#34;,&#34;type&#34;:&#34;temporal&#34;,&#34;title&#34;:&#34;台湾时间&#34;,&#34;axis&#34;:{&#34;format&#34;:&#34;%H:%M&#34;},&#34;scale&#34;:{&#34;padding&#34;:26}},&#34;y&#34;:{&#34;field&#34;:&#34;src&#34;,&#34;type&#34;:&#34;nominal&#34;,&#34;title&#34;:null,&#34;sort&#34;:[&#34;行政院公告&#34;,&#34;本文数据&#34;,&#34;mashbean 观测&#34;]},&#34;tooltip&#34;:[{&#34;field&#34;:&#34;t&#34;,&#34;type&#34;:&#34;temporal&#34;,&#34;format&#34;:&#34;%H:%M&#34;,&#34;title&#34;:&#34;时间&#34;},{&#34;field&#34;:&#34;e&#34;,&#34;type&#34;:&#34;nominal&#34;,&#34;title&#34;:&#34;事件&#34;}]}}]}&lt;/vegachart&gt;&lt;/p&gt; &lt;p&gt;图上最长的一段是空白。公告写的结束时间是 &lt;code&gt;15:00&lt;/code&gt;，最后一条低速记录落在 &lt;code&gt;15:08&lt;/code&gt;，实际恢复到堪用是 &lt;code&gt;17:47&lt;/code&gt;。三个时间点各自代表不同的意思，中间隔了将近三小时。&lt;/p&gt; &lt;details class=&#34;note&#34;&gt; &lt;summary&gt;时间轴的完整事件列表&lt;/summary&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;台湾时间&lt;/th&gt; &lt;th&gt;发生的事&lt;/th&gt; &lt;th&gt;依据&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:30&lt;/code&gt;&lt;/td&gt; &lt;td&gt;公告的降速开始时间&lt;/td&gt; &lt;td&gt;行政院公告&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:36&lt;/code&gt;&lt;/td&gt; &lt;td&gt;单一设备测到 &lt;code&gt;788&lt;/code&gt; kbit/s，全天最低&lt;/td&gt; &lt;td&gt;本文&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:39&lt;/code&gt;&lt;/td&gt; &lt;td&gt;同一设备 &lt;code&gt;881&lt;/code&gt; kbit/s，上传仍有 &lt;code&gt;31,789&lt;/code&gt;&lt;/td&gt; &lt;td&gt;本文&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:52&lt;/code&gt;&lt;/td&gt; &lt;td&gt;同一设备最后一条，&lt;code&gt;1,709&lt;/code&gt; kbit/s&lt;/td&gt; &lt;td&gt;本文&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;15:00&lt;/code&gt;&lt;/td&gt; &lt;td&gt;公告的降速结束时间&lt;/td&gt; &lt;td&gt;行政院公告&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;15:08&lt;/code&gt;&lt;/td&gt; &lt;td&gt;另一台设备仍测到 &lt;code&gt;55&lt;/code&gt; kbit/s&lt;/td&gt; &lt;td&gt;本文与 mashbean&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;15:10&lt;/code&gt;&lt;/td&gt; &lt;td&gt;同一台设备的流媒体测试返回 &lt;code&gt;0&lt;/code&gt;&lt;/td&gt; &lt;td&gt;本文与 mashbean&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;17:47&lt;/code&gt;&lt;/td&gt; &lt;td&gt;恢复到可用水平&lt;/td&gt; &lt;td&gt;mashbean 的实地观测&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/details&gt; &lt;h3 id=&#34;单一设备的代表性&#34;&gt;单一设备的代表性&lt;a class=&#34;headerlink&#34; href=&#34;#单一设备的代表性&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;本文对限流方向与层级的描述，建立在一部手机的 6 条测量上。数字内部互相一致，两个独立测试项也指向同一个结论，作为单一案例的记录是完整的。要谈到分布、平均降幅或置信区间，需要的样本量远不止于此。&lt;/p&gt; &lt;p&gt;另外，47 台设备都是看到号召后自愿参与的社区成员，并非随机抽样。要用来做跨运营商或跨区域的推论，需要先处理选样偏误。&lt;/p&gt; &lt;h2 id=&#34;一起来研究-OONI-的公开数据&#34;&gt;一起来研究 OONI 的公开数据&lt;a class=&#34;headerlink&#34; href=&#34;#一起来研究-OONI-的公开数据&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;本次观察没有用到特别的工具，全部来自公开 API 与一点数据整理。OONI 的数据有四个入口，用途各不相同。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://explorer.ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI Explorer&lt;/a&gt;&lt;/strong&gt;：网页界面，适合查单条测量、看某个国家或 ASN 的趋势，无须写程序。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Aggregation API&lt;/strong&gt;：&lt;code&gt;https://api.ooni.org/api/v1/aggregation&lt;/code&gt;，免验证免密钥，可依国家、测试项、ASN 切分做统计。起讫只接受日期，适合看天级以上的趋势。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Measurements API&lt;/strong&gt;：&lt;code&gt;https://api.ooni.org/api/v1/measurements&lt;/code&gt;，接受精确到秒的时间区间，返回逐条记录。本文的主要数据出自此端点。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;AWS S3 公开数据集&lt;/strong&gt;：&lt;code&gt;ooni-data-eu-fra&lt;/code&gt;，逐条原始 JSON，适合需要检视测量细节或做大规模分析的研究。取用方式与 CSV 输出格式写在 &lt;a href=&#34;../../../../community/asn-coverage-howto/&#34;&gt;ASN 观测数据抓取与分析&lt;/a&gt;，社区维护的抓取程序也在该页。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;不写程序也能参与。装一次 &lt;a href=&#34;https://ooni.org/install/&#34; target=&#34;_blank&#34;&gt;OONI Probe&lt;/a&gt; 并执行，每一条测量都会进入公开数据库，成为台湾网络状态的长期记录。前 30 天全台平均一天只有 34 条连接速度测试，多一部手机的日常测量，基准就厚一分。下一次遇到非预期的网络变慢时，能不能分辨是自己的问题还是网络的问题，取决于平常累积了多少。&lt;/p&gt; &lt;p&gt;台湾还有不少题目尚待投入。移动网络的长期基准目前仍然很薄，三家运营商的覆盖差了一到两个数量级，细节见 &lt;a href=&#34;../../../../taiwan/ooni-asn-coverage/&#34;&gt;ASN 自治网络观测数据分析&lt;/a&gt;。要判断某个问题该用哪个测试项，&lt;a href=&#34;../../../../community/ooni-nettests-map/&#34;&gt;OONI 测试项速查表&lt;/a&gt;整理了每个测试项测量什么、规格状态，以及台湾是否有数据。&lt;/p&gt; &lt;p&gt;判读数据时最常见的误解，是把异常（anomaly）当成封锁。异常只代表测试未照预期完成，成因包含审查、网络不稳、ISP 暂时故障，以及测试程序本身的问题。以 Tor 测试为例，加拿大、瑞士、新西兰等没有审查的国家，异常率同样落在 &lt;code&gt;16%&lt;/code&gt; 到 &lt;code&gt;22%&lt;/code&gt; 之间。把异常率直接当成封锁率会产生假指控。&lt;/p&gt; &lt;p&gt;演习依分区实施，北部场是今年的最后一场，相同条件要等到明年。本次留下的数据是台湾目前唯一一份有明确情境对应的降速记录，之后遇到非预期的网络劣化时，总算有可以比对的样本。&lt;/p&gt; &lt;p&gt;想一起整理数据、规划下一次的观测，或是对 OONI 公开数据有任何问题，欢迎到社区的 &lt;a href=&#34;https://matrix.to/#/#community:im.anoni.net&#34; target=&#34;_blank&#34;&gt;Matrix Public Space&lt;/a&gt; 讨论。&lt;/p&gt; &lt;h2 id=&#34;数据与前提&#34;&gt;数据与前提&lt;a class=&#34;headerlink&#34; href=&#34;#数据与前提&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;查询日为 2026-08-14，测量数据仍会持续补传，之后重查可能得到略高的条数。所有日期以台湾时间为准，换算成 API 接受的 UTC 时再往前推 8 小时。以下的 &lt;code&gt;test_name&lt;/code&gt; 等参数为 API 实际接受的值，照列以便重现查询。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;当天逐条测量&lt;/strong&gt;用 measurements 端点，&lt;code&gt;probe_cc=TW&lt;/code&gt;、&lt;code&gt;since=2026-08-12T16:00:00Z&lt;/code&gt;、&lt;code&gt;until=2026-08-13T16:00:00Z&lt;/code&gt;，对应台湾时间 8 月 13 日整天。&lt;code&gt;test_name&lt;/code&gt; 分别为 &lt;code&gt;ndt&lt;/code&gt;、&lt;code&gt;dash&lt;/code&gt;、&lt;code&gt;web_connectivity&lt;/code&gt;、&lt;code&gt;tor&lt;/code&gt;、&lt;code&gt;psiphon&lt;/code&gt;。降速时段等时段统计另以 UTC &lt;code&gt;06:00&lt;/code&gt; 到 &lt;code&gt;07:30&lt;/code&gt; 的区间查询。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;吞吐量、往返延迟与设备标识&lt;/strong&gt;取自每条测量的原始 JSON，经由 measurements 返回的 &lt;code&gt;measurement_url&lt;/code&gt; 取得，字段位置见上方的观察流程。本文的移动网络测量仅计入网络类型为 &lt;code&gt;mobile&lt;/code&gt; 者，排除 Wi-Fi 与 VPN。设备以 &lt;code&gt;probe_id&lt;/code&gt; 去重，部分测量没有带值，未带值者不计入设备数。当天三家的条数为该 ASN 的全部测量，与前 30 天基准采同一种计算方式，扣掉 2 条 VPN 与 3 条未标记网络类型后，在移动网络上完成的分别是 67、50 与 52 条。移动网络的 170 条里另有 1 条来自 &lt;code&gt;AS9416&lt;/code&gt;，不属于三家全岛性运营商，未列入运营商表格。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;前 30 天的移动网络基准&lt;/strong&gt;（564 条、中位 &lt;code&gt;12,425&lt;/code&gt; kbit/s、低于 &lt;code&gt;2,000&lt;/code&gt; kbit/s 的 4 条、中华电信移动最低 &lt;code&gt;42,197&lt;/code&gt; kbit/s）用 measurements 端点，&lt;code&gt;probe_cc=TW&lt;/code&gt;、&lt;code&gt;test_name=ndt&lt;/code&gt;、&lt;code&gt;since=2026-07-13T16:00:00Z&lt;/code&gt;、&lt;code&gt;until=2026-08-12T16:00:00Z&lt;/code&gt;，对应台湾时间 7 月 14 日到 8 月 12 日，&lt;code&gt;probe_asn&lt;/code&gt; 分别为 &lt;code&gt;AS24158&lt;/code&gt;、&lt;code&gt;AS17421&lt;/code&gt;、&lt;code&gt;AS9674&lt;/code&gt;，同样逐条取原始 JSON 后剔除非移动网络的测量。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;对照日&lt;/strong&gt;用同样的 measurements 参数，日期换成 2026-08-10、2026-08-11 与 2026-08-12，时间区间为 UTC &lt;code&gt;05:30&lt;/code&gt; 到 &lt;code&gt;07:30&lt;/code&gt;。&lt;/p&gt; &lt;p&gt;本文不公开任何个别设备的标识符。该字段虽然出现在 OONI 的公开数据中，写出具体值等于为单一参与者的测量历史建立索引，与测量本身的目的无关。&lt;/p&gt; &lt;p&gt;演习细节以&lt;a href=&#34;https://www.ey.gov.tw/Page/9277F759E41CCD91/66c2bed1-6ca3-4c30-ba7c-4fa0f90e00ec&#34; target=&#34;_blank&#34;&gt;行政院公告&lt;/a&gt;与各电信运营商公告为准&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;hr /&gt; &lt;p&gt;&lt;strong&gt;数据来源&lt;/strong&gt;：OONI measurements 与 aggregation API（查询条件见上方，测量数据授权 &lt;a href=&#34;https://github.com/ooni/license/blob/master/data/LICENSE.md&#34; target=&#34;_blank&#34;&gt;CC BY-NC-SA 4.0&lt;/a&gt;）、ASN 名称取自 &lt;a href=&#34;https://stat.ripe.net/&#34; target=&#34;_blank&#34;&gt;RIPEstat&lt;/a&gt;。&lt;/p&gt; &lt;script src=&#34;https://cdn.jsdelivr.net/npm/vega@5&#34;&gt;&lt;/script&gt; &lt;script src=&#34;https://cdn.jsdelivr.net/npm/vega-lite@5&#34;&gt;&lt;/script&gt; &lt;script src=&#34;https://cdn.jsdelivr.net/npm/vega-embed@6/build/vega-embed.min.js&#34;&gt;&lt;/script&gt; &lt;div class=&#34;footnote&#34;&gt; &lt;hr /&gt; &lt;ol&gt; &lt;li id=&#34;fn:1&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.ey.gov.tw/Page/9277F759E41CCD91/66c2bed1-6ca3-4c30-ba7c-4fa0f90e00ec&#34; target=&#34;_blank&#34;&gt;2026城镇韧性（防空）演习：移动网络降速演练&lt;/a&gt; - 行政院&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:2&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.cna.com.tw/news/aipl/202608100327.aspx&#34; target=&#34;_blank&#34;&gt;行政院补充降速做法&lt;/a&gt; - 中央社&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:2&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/08/ooni-mobile-throttle-drill-results/</link> <pubDate>Sat, 15 Aug 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/08/ooni-mobile-throttle-drill-results/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/ooni-run-v2.webp" type="image/webp" length="21650" /> </item> <item> <title>介绍 Signal 自动密钥验证</title> <author>anoni.net 社区</author> <category>技术</category> <category>翻译文章</category> <category>隐私</category> <description>&lt;h1 id=&#34;介绍-Signal-自动密钥验证&#34;&gt;介绍 Signal 自动密钥验证&lt;a class=&#34;headerlink&#34; href=&#34;#介绍-Signal-自动密钥验证&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p&gt;&lt;strong&gt;翻译备注：&lt;/strong&gt;Signal 在 2026 年 8 月 11 日推出「自动密钥验证」（automatic key verification），底层技术是密钥透明度（key transparency）。既有的安全码（safety number）要当面或通过另一条可信渠道核对，自动密钥验证改由 App 自己去比对，省掉约时间见面的步骤。技术在通讯软件上还算新，Signal 这篇是少数把设计动机与运作方式一次说完的公开文件，因此先完整翻译，文末再附上编辑注解，说明它挡得住什么、挡不住什么。&lt;/p&gt; &lt;p&gt;以下内容原文翻译来自以下文章，主词角色为 Signal：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;https://signal.org/blog/automatic-key-verification/&#34; target=&#34;_blank&#34;&gt;Introducing Automatic Key Verification, Katherine Yen 2026-08-11&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;文末有编辑注解：&lt;/strong&gt;译文结束后接着&lt;a href=&#34;#编辑注解&#34;&gt;编辑注解&lt;/a&gt;，内容是 anoni.net 社群的补充，包含三条给非技术读者的结论、十三则说明、一节发布后的后续补充，最后是常见问题与延伸阅读。想先看社群观点的读者可以直接跳到那一节。&lt;/p&gt; &lt;/div&gt; &lt;p&gt;&lt;a href=&#34;https://signal.org/blog/images/key-transparency-header.png&#34; target=&#34;_blank&#34;&gt;&lt;img alt=&#34;介绍 Signal 自动密钥验证&#34; src=&#34;https://signal.org/blog/images/key-transparency-header.png&#34; style=&#34;border-radius: 10px;&#34; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Signal 现在提供一项名为「自动密钥验证」的功能，用来补强既有的&lt;a href=&#34;https://signal.org/blog/safety-number-updates/&#34; target=&#34;_blank&#34;&gt;安全码机制&lt;/a&gt;。Signal 的通讯一律采端到端加密，自动密钥验证多提供一条简便的途径，让你确认端到端加密会话的两端之间没有非预期的第三方介入。&lt;/p&gt; &lt;p&gt;运作方式是由你、你的 Signal 联系人，以及第三方审计方各自执行一组验证，合起来提供与手动核对安全码相同的保证。与安全码相比，各项验证都是独立完成的，无需当面见面，也无需第二条通讯渠道。&lt;/p&gt; &lt;!-- more --&gt; &lt;p&gt;整套验证机制确保电话号码或用户名与其公钥之间的对应关系，在 Signal 生态系统的所有参与者眼中都一致而且透明。可以防范的情境是密钥在拥有者不知情的状况下被替换，例如恶意方入侵 Signal，把另一把密钥挂到你联系人的电话号码上。&lt;/p&gt; &lt;p&gt;要实际操作，请进入某位 Signal 联系人的个人数据页，点「查看安全码」，再点「自动密钥验证」标题底下的「自动验证」按钮。功能可用而且验证成功时，按钮会显示绿色对勾与「加密已验证」。随着时间累积，你这一次的验证，加上联系人与第三方审计方持续执行的验证，共同确保该位联系人的密钥在整个 Signal 生态系统中保持一致。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://signal.org/blog/images/key-transparency-ui.png&#34; target=&#34;_blank&#34;&gt;&lt;img alt=&#34;Signal App 中自动密钥验证的界面&#34; src=&#34;https://signal.org/blog/images/key-transparency-ui.png&#34; style=&#34;border-radius: 10px;&#34; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;功能背后的概念称为「密钥透明度」（key transparency），后文都会使用这个词，说明我们为什么要建一套密钥透明度系统，并概述运作方式。&lt;/p&gt; &lt;h2 id=&#34;公钥与私钥入门&#34;&gt;公钥与私钥入门&lt;a class=&#34;headerlink&#34; href=&#34;#公钥与私钥入门&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Public-key_cryptography&#34; target=&#34;_blank&#34;&gt;非对称密码学&lt;/a&gt;让你能传消息给朋友，而且只有朋友读得到。它牵涉到一对数学上相互关联的密钥，称为公钥与私钥，可以用在许多场合，收发消息是其中之一。&lt;/p&gt; &lt;p&gt;想象你有一个上锁的信箱，上面开了投递口。公钥像信箱的地址，可以给任何想寄信给你的人。私钥像信箱的钥匙，只有你持有，用它才读得到寄来的消息。任何人都可以把信投进你的信箱（用你的公钥加密），只有你能打开来读（用你的私钥解密）。信箱地址必须公开，没有人知道要寄到哪里，你就收不到信。&lt;/p&gt; &lt;p&gt;你注册 Signal 时，Signal App 会在注册流程中替你生成一组公钥与私钥&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。私钥留在你的设备上，只有你能访问，Signal 不行，其他人也不行。公钥会送到 Signal，Signal 扮演所有用户公钥的中央目录。你要传消息给另一位 Signal 用户时，会向 Signal 索取对方的公钥，再用 Signal 返回的密钥与你的私钥把消息加密。&lt;/p&gt; &lt;h2 id=&#34;中间人-Mallory-攻击&#34;&gt;中间人 Mallory 攻击&lt;a class=&#34;headerlink&#34; href=&#34;#中间人-Mallory-攻击&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;传消息要先取得收件人的公钥，取得公钥就需依赖中央目录。理论上，恶意的目录运营者可以发动所谓的&lt;a href=&#34;https://en.wikipedia.org/wiki/Man-in-the-middle_attack&#34; target=&#34;_blank&#34;&gt;「中间人 Mallory」&lt;/a&gt;攻击，不过要办到，需要外部人士绕过主要云端供应商的安全防护，或由握有权限的内部人士刻意锁定特定账号。手法极为进阶，发生概率也很低，我们仍然想防住。以下沿用信箱的比喻，说明攻击在假设情况下如何进行。&lt;/p&gt; &lt;p&gt;假设 Bob 想寄一张喝咖啡的邀请给朋友 Alice，于是他到中央目录查她的信箱地址。目录若被对手（Mallory）攻陷，可能把 Bob 导向 Mallory 的信箱。Bob 把信寄到他以为是 Alice 的信箱，信实际上进了 Mallory 的信箱。Mallory 接着用自己的信箱钥匙取出 Bob 的信，读过内容，需要的话改写几句，换一个信封，再转寄到 Alice 的信箱。&lt;/p&gt; &lt;p&gt;Mallory 改写的内容可以是咖啡店的地点或碰面时间，让 Alice 前往错误的地点，或在错误的时间出现。Alice 看不出消息被拦截或篡改过，在她眼中，消息就是 Bob 直接寄来的。同一时间，Bob 会白等一场。就算 Mallory 选择不动 Bob 的内容，光是读得到，就已经构成通讯隐私的严重破口。&lt;/p&gt; &lt;p&gt;约咖啡出错的代价相对低，同样的攻击放到其他情境，造成的伤害会大得多。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://signal.org/blog/images/key-transparency-mitm.png&#34; target=&#34;_blank&#34;&gt;&lt;img alt=&#34;中间人攻击的信箱比喻示意图&#34; src=&#34;https://signal.org/blog/images/key-transparency-mitm.png&#34; style=&#34;border-radius: 10px;&#34; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;攻击能成立，是因为 Bob 从来没有真的验证过 Alice 的地址。他只是相信目录上列的信箱就是她的，而信任目录是个合理的假设。&lt;/p&gt; &lt;p&gt;Bob 若想格外谨慎，可以当面向 Alice 问地址，或通过另一条可信的通讯渠道问&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:2&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。若 Alice 与 Bob 纯粹是笔友，这条路走不通。&lt;/p&gt; &lt;p&gt;那么，在无法见面、也没有第二条渠道的情况下，Bob 要如何验证 Alice 的地址？&lt;/p&gt; &lt;p&gt;本文接下来会说明我们如何设计出一套系统，让 Bob 无需直接联系 Alice，也能自动验证中央目录里的数据。&lt;/p&gt; &lt;h2 id=&#34;用比喻设计一套密钥透明度系统&#34;&gt;用比喻设计一套密钥透明度系统&lt;a class=&#34;headerlink&#34; href=&#34;#用比喻设计一套密钥透明度系统&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;要帮 Bob 确认目录里 Alice 的地址正确，一种做法是把目录的每一次变更都记录下来。有人改动目录里 Alice 的地址，就会留在按时间排序的日志里，因而可以被察觉。以下把信箱的比喻延伸下去，说得具体一点。&lt;/p&gt; &lt;p&gt;假设市立邮局里有一位职员，把每个人的地址变更都记在一本公开账本上。任何人换了新地址或更新既有地址，职员就在不断变厚的账本最后面加一页，把地址变更记在那里。职员用的是永久性的记号笔，写下去之后，没有人能翻回那一页撕掉或改内容。任何人都可以到邮局翻账本查地址，包括查自己的。&lt;/p&gt; &lt;h3 id=&#34;使用账本&#34;&gt;使用账本&lt;a class=&#34;headerlink&#34; href=&#34;#使用账本&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;对任何一笔地址，邮局的客户有两种方式跟账本互动：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;像 Bob 这样的客户，可以查别人（例如 Alice）的地址。&lt;/li&gt; &lt;li&gt;像 Alice 这样的客户，可以查自己的地址，确认账本记得正确。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Bob 要找到 Alice 目前的地址，需从账本的最后一页开始，一页一页往前翻，翻到出现 Alice 的那一页为止。他从尾端倒着翻，是因为他要的是 Alice 最新的地址，而地址可能随时间变动过。账本页数越加越多，Bob 的工作量就越大，尤其在 Alice 有一阵子没更新地址、中间又夹着大量别人的地址变更需要一页页过滤的时候。&lt;/p&gt; &lt;p&gt;账本让 Alice 能验证自己的地址记得对不对，代价是她需把上次来访之后新增的每一页都看过，确认没有一页把她的地址写错。跟 Bob 一样，页数越多，工作量越重。&lt;/p&gt; &lt;p&gt;若 Alice 与 Bob 住在人口流动频繁的城市，大家常换地址，一页一页翻的工作量会大到不切实际。两人需要一种更有效率的方式来使用账本。&lt;/p&gt; &lt;h4 id=&#34;引入索引本&#34;&gt;引入索引本&lt;a class=&#34;headerlink&#34; href=&#34;#引入索引本&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h4&gt; &lt;p&gt;现实中的书常附一份按字母排序的索引，让读者快速找到要的内容。同样的想法可以套到账本上，做法是替账本至今收录过地址的所有人名，另外做一本按字母排序的索引本。&lt;/p&gt; &lt;p&gt;账本每加一页反映新地址或地址变更，索引本也要跟着更新，所以职员每往账本加一页，就发行一版新的索引本，内容涵盖截至那一页为止已被账本收录地址的所有人。长久下来，就形成一座对外开放的索引本馆藏。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://signal.org/blog/images/key-transparency-index-books.png&#34; target=&#34;_blank&#34;&gt;&lt;img alt=&#34;索引本随账本页数逐版发行的示意图&#34; src=&#34;https://signal.org/blog/images/key-transparency-index-books.png&#34; style=&#34;border-radius: 10px;&#34; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;先假设对账本的任一页，Alice 与 Bob 看到的一定是同一本索引本。下一节会谈到系统里的另一个组件，让两人能验证这项假设。&lt;/p&gt; &lt;p&gt;有了上述结构，Bob 可以改用「二分查找」的策略在账本里查 Alice 的地址，轻松许多，用具体例子最好说明。&lt;/p&gt; &lt;p&gt;假设一段时间内有 100 笔新增或更新的地址，账本因此有 100 页，职员也发行了 100 个不同版本的索引本。为了简化，假设 Alice 的地址只在账本里出现过一次，就是她刚搬来的时候。&lt;/p&gt; &lt;p&gt;Bob 先翻到账本的中间，接着查对应那一页的索引本。索引本按字母排序，找人名很快。若 Alice 的名字在那本索引本里，代表两种可能，它或许就是第一本收录 Alice 的索引本，也或许第一次出现在更早的版本，也就是账本更前面的某一页。&lt;/p&gt; &lt;p&gt;两种可能都让 Bob 可以忽略账本的后半段，改在前半段重复同样的步骤，直到找出 Alice 地址变更所在的那一页为止。更精确地说，Bob 的查找会在找到相邻的两本索引本时结束，前一本没有 Alice 的地址，后一本有。&lt;/p&gt; &lt;p&gt;查找流程有几个好处，第一个是有效率。账本若有十亿页，最坏的情况原本要倒着翻完十亿页，现在 Bob 最多只需要检视 30 页就能找到 Alice 的地址，工作量比先前轻松太多。&lt;/p&gt; &lt;p&gt;Alice 仍然想确认职员没有新增任何把她地址写错的页面，不过她无需检查每一页账本与每一本索引本。她只需要检查 Bob 为了找她地址而查过的那几页，如此就能确保 Bob 查到的 Alice 地址经过 Alice 本人验证。&lt;/p&gt; &lt;p&gt;由此带出查找流程的第二个好处：Alice 与 Bob 面对页数相同的账本时，流程是确定性的。职员若在 Bob 与 Alice 两次查找之间又加了页，情况会复杂一些，主要的概念不变。账本有十亿页时，Alice 可以照着 Bob 的查找流程走一遍，查 Bob 查过的同一批页面，确认里面没有任何一页把她的地址写错。&lt;/p&gt; &lt;p&gt;借由对查找流程取得共识，Alice 与 Bob 建立起一套使用账本的方式，让各自的目标在实际上可行。账本持续变厚，Bob 仍然有有效率的方法找到 Alice 的地址，Alice 也有有效率的方法确保 Bob 找到的地址正确。&lt;/p&gt; &lt;p&gt;为了说明清楚，上面的比喻做了简化。实际上 Alice 可以多次更新地址，要支持这种查找，索引本里要存的数据也不只有人名。我们已经把同样的想法实现到 Signal 的消息服务上，做成开源的&lt;a href=&#34;https://github.com/signalapp/key-transparency-server&#34; target=&#34;_blank&#34;&gt;密钥透明度服务器&lt;/a&gt;。&lt;/p&gt; &lt;h3 id=&#34;职员本身呢&#34;&gt;职员本身呢&lt;a class=&#34;headerlink&#34; href=&#34;#职员本身呢&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;到目前为止，查找流程的描述都假设 Alice 与 Bob 亲自翻账本、查索引本。实际上并不可行，账本与索引本的体积远超过两人能直接处理的范围。实际做法是 Alice 与 Bob 请职员代为查找，再汇报结果。&lt;/p&gt; &lt;p&gt;但邮局可能已经被 Mallory 这类对手攻陷，由她假扮职员，最终目的是让 Bob 误以为 Alice 的地址实际上是 Mallory 家。所以 Alice 与 Bob 无法单纯信任职员，必须有办法自己独立验证查找流程。&lt;/p&gt; &lt;p&gt;做法是请职员把查找过程中查过的那些账本页面与索引本数据全部交回来，两人自己再核对一次。&lt;/p&gt; &lt;p&gt;核对要有意义，前提是职员交回来的数据可信，于是浮现一个明显的问题：假扮职员的 Mallory 若对记录内容说谎怎么办？举例来说，Mallory 可以私下另外维护一本账本，里面把 Alice 的地址记错，或者对账本的同一页发行两个不同版本的索引本。Mallory 可以把其中一套数据给 Alice，另一套给 Bob，让两人各自验证手上的数据，却察觉不到 Mallory 的把戏。&lt;/p&gt; &lt;p&gt;Alice 与 Bob 需要一位独立的见证者，让职员不敢造假。&lt;/p&gt; &lt;h4 id=&#34;第三方审计方&#34;&gt;第三方审计方&lt;a class=&#34;headerlink&#34; href=&#34;#第三方审计方&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h4&gt; &lt;p&gt;要阻止 Mallory 给 Alice 与 Bob 不同的数据，两人需仰赖第三方审计方。审计方的角色像公证人，在职员一页一页往账本加、一版一版发行对应索引本的时候，就站在旁边盯着看。&lt;/p&gt; &lt;p&gt;审计方会检查每一版索引本是否与前一版包含完全相同的数据，只差在多出的那一笔，以及职员没有移除或偷偷改动账本里先前的任何一页&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:4&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;。条件都成立时，审计方就替该页账本与该版索引本签名&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:3&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;，表示记录新增正确。&lt;/p&gt; &lt;p&gt;审计方对每一页与每一本索引本只会签名一次，所以职员若想把第 50 版索引本的不同版本分别展示给 Alice 与 Bob，只有其中一个版本拿得出有效的审计方签名。通过检查与验证审计方签名，Alice 与 Bob 可以确信职员只维护一本账本与一套对应的索引本，两人看到的是同一批记录。&lt;/p&gt; &lt;p&gt;在 Signal 的密钥透明度实现中，由 &lt;a href=&#34;https://www.cloudflare.com/press/press-releases/2026/signal-taps-cloudflare-to-help-protect-the-privacy-of-hundreds-of-millions-of-users-through-key-transparency/&#34; target=&#34;_blank&#34;&gt;Cloudflare&lt;/a&gt; 与 &lt;a href=&#34;https://blog.trailofbits.com/2026/08/11/how-trail-of-bits-helps-verify-the-integrity-of-your-signal-chats/&#34; target=&#34;_blank&#34;&gt;Trail of Bits&lt;/a&gt; 担任受信任的第三方审计方。&lt;/p&gt; &lt;h4 id=&#34;监测&#34;&gt;监测&lt;a class=&#34;headerlink&#34; href=&#34;#监测&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h4&gt; &lt;p&gt;第三方审计方确保职员给 Alice 与 Bob 的是同一批数据，却无法验证记录内容本身正确。举例来说，Mallory 可以试着往账本加一页，列上一笔伪造的 Alice 地址变更。从审计方的角度看，只要 Mallory 正确地新增账本页面、也发行了新版索引本，就算一次合法的变更。可是 Bob 到账本查 Alice 地址的时候，会找到那笔假记录，并且相信它是 Alice 的真实地址。&lt;/p&gt; &lt;p&gt;监测的作用就在补上这一块，回想客户跟账本互动有两种方式，查别人的地址，以及查自己的地址。监测要求 Alice 与 Bob 定期做这两件事，各自能检测到一种不同的篡改。&lt;/p&gt; &lt;p&gt;Alice 监测自己在账本里的数据，做法是定期查阅并验证自己最新的地址记录。若查到预期外的地址，她应该通过另一条可信渠道通知 Bob，说他收到的地址不可信。&lt;/p&gt; &lt;p&gt;Bob 也必须定期查 Alice 最新的地址，确认与先前收到的一致。之所以重要，是因为 Mallory 塞进一笔假的地址变更之后，可能再补一笔把 Alice 的正确地址还原，借此掩盖痕迹。&lt;/p&gt; &lt;p&gt;从 Bob 的角度，查到 Alice 换了地址跟一次合法的搬家看起来一模一样，而合法搬家是常见得多的解释。即使如此，他仍然应该通过第二条渠道向 Alice 确认她真的搬家了。若没有，先前那个地址就应当成不可信。&lt;/p&gt; &lt;p&gt;Alice 按固定节奏做自我检查，Bob 依自己的步调查账本，两人都无法保证在 Mallory 介入的当下就抓到。但两种监测加上第三方审计，构成一套完整的检测机制：审计保证 Alice 与 Bob 看到的是同一份数据，监测保证两人都定期检查数据的正确性。合起来，Mallory 的篡改终究会被发现。&lt;/p&gt; &lt;h2 id=&#34;回到-Signal-本身&#34;&gt;回到 Signal 本身&lt;a class=&#34;headerlink&#34; href=&#34;#回到-Signal-本身&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;那么，以上种种跟 Signal 的密钥透明度如何对应？&lt;/p&gt; &lt;p&gt;在 Signal 里，你可以选择让别人用电话号码&lt;a href=&#34;https://support.signal.org/hc/en-us/articles/6829998083994-Phone-Number-Privacy-and-Usernames-Deeper-Dive&#34; target=&#34;_blank&#34;&gt;找到你&lt;/a&gt;，也可以建立用户名，让别人用名称找到你。决定开放电话号码或用户名之后，别人就能在 Signal 输入你的号码或名称，发起消息邀请。Signal 保有一份&lt;a href=&#34;https://signal.org/blog/building-faster-oram/&#34; target=&#34;_blank&#34;&gt;中央目录&lt;/a&gt;，最终把这些公开标识符对应到用户的公钥，就像信箱比喻里的「姓名」与「地址」。&lt;/p&gt; &lt;p&gt;Signal 用户注册、变更电话号码或用户名、重新建立账号时，Signal 会把变更记在一棵日志树（也就是「账本」）里，并用前缀树（也就是「索引本」）协助在日志树中查找。&lt;a href=&#34;https://www.cloudflare.com/press/press-releases/2026/signal-taps-cloudflare-to-help-protect-the-privacy-of-hundreds-of-millions-of-users-through-key-transparency/&#34; target=&#34;_blank&#34;&gt;Cloudflare&lt;/a&gt; 与 &lt;a href=&#34;https://blog.trailofbits.com/2026/08/11/how-trail-of-bits-helps-verify-the-integrity-of-your-signal-chats/&#34; target=&#34;_blank&#34;&gt;Trail of Bits&lt;/a&gt; 各自担任两种树的独立审计方，两种树合起来构成密钥透明度日志。&lt;/p&gt; &lt;p&gt;日志里所有的用户数据都经过密码学处理而无法辨识，公开标识符会先通过&lt;a href=&#34;https://en.wikipedia.org/wiki/Verifiable_random_function&#34; target=&#34;_blank&#34;&gt;可验证随机函数&lt;/a&gt;，标识符对应到的值则由&lt;a href=&#34;https://en.wikipedia.org/wiki/HMAC&#34; target=&#34;_blank&#34;&gt;带密钥的哈希函数&lt;/a&gt;保护，因此审计方从来看不到任何明文的用户数据。&lt;/p&gt; &lt;p&gt;你的 Signal App 会自动、定期检查日志里属于你自己的公开标识符，要验证联系人的标识符则必须从「查看安全码」画面发起。所有向日志查询标识符的请求都不带身份验证，因此不会跟特定用户账号绑在一起。&lt;/p&gt; &lt;p&gt;本文不深入实现细节，有兴趣的读者可以到我们的&lt;a href=&#34;https://github.com/signalapp/key-transparency-server&#34; target=&#34;_blank&#34;&gt;开源仓库&lt;/a&gt;查看。实现依据的是 &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-keytrans-protocol/&#34; target=&#34;_blank&#34;&gt;IETF 密钥透明度协议&lt;/a&gt;的早期草案，并针对 Signal 的使用情境做了调整。&lt;/p&gt; &lt;h2 id=&#34;密钥透明度目前的实际样貌&#34;&gt;密钥透明度目前的实际样貌&lt;a class=&#34;headerlink&#34; href=&#34;#密钥透明度目前的实际样貌&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;密钥透明度显示，Signal 生态系统里所有设备对「标识符与其公钥的对应关系」抱持同一份视角。它不验证掌控某个电话号码或用户名的人究竟是谁。具体来说，Alice 与 Bob 可以通过密钥透明度检查，确保各自持有某个账号正确的公钥，若 Mallory 已经完全接管 Alice 的账号，要察觉仍需仰赖额外的验证，例如在安全码变动后主动追问。&lt;/p&gt; &lt;p&gt;目前你的 Signal App 会自动验证日志里属于你自己的电话号码与用户名数据。要替别人做同样的验证，你必须有对方的电话号码。也就是说，你若是通过用户名在 Signal 上与某人建立联系，彼此没有交换电话号码，也无从得知对方的号码，就无法验证对方。&lt;/p&gt; &lt;p&gt;符合以下任一条件，你手上大概就有 Signal 联系人的电话号码：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;你当初是用「以电话号码寻找」的选项，在 Signal 上开启与对方的对话。&lt;/li&gt; &lt;li&gt;你的手机通讯录里存有对方的联系信息（而且对方在 Signal 选择开放以电话号码被找到）。&lt;/li&gt; &lt;li&gt;对方选择了让所有人都能看到自己电话号码的设置（&lt;a href=&#34;https://signal.org/blog/phone-number-privacy-usernames&#34; target=&#34;_blank&#34;&gt;默认是没有人看得到&lt;/a&gt;）。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;请记得，只有在对方存在你的手机通讯录里，或对方把电话号码的可见度设成所有人时，Signal 才会在 App 内显示对方的电话号码。&lt;/p&gt; &lt;p&gt;另一种情况是你手上的电话号码过期了，因为 Signal 上的联系人换了号码。换号码对联系人的公钥与底层的加密消息会话没有任何安全影响，却会让你无法对该位联系人使用自动密钥验证，原因是你手机里留着对方的旧号码，与账本中最新的电话号码记录对不上。情况类似监测那一节提到的，Bob 查到的 Alice 地址与先前收到的不同。极可能是一次合法的变更，你的设备却分辨不出它与服务器干扰的差别，所以你应该通过另一条可信渠道向联系人确认。&lt;/p&gt; &lt;p&gt;基于隐私优先的默认，上述情况我们一律让自动密钥验证无法使用，并建议用户改用既有的&lt;a href=&#34;https://support.signal.org/hc/en-us/articles/360007060632-What-is-a-safety-number-and-why-do-I-see-that-it-changed&#34; target=&#34;_blank&#34;&gt;安全码&lt;/a&gt;机制，通过扫描 QR code 或比对一长串验证号码，手动确认自己与特定联系人持有同一组密钥。用户若倾向不依赖任何第三方，包含 Signal 与审计方在内，可以依序打开设置的「隐私」、「高级」、「自动密钥验证」关闭功能，继续使用手动的安全码验证。&lt;/p&gt; &lt;h2 id=&#34;结语&#34;&gt;结语&lt;a class=&#34;headerlink&#34; href=&#34;#结语&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;密钥透明度提供一种容易上手的方式，让用户确认消息安全中重要的一环，补足既有的安全码机制。&lt;/p&gt; &lt;p&gt;这项工作集合了 Signal 内部与外部的大量协作，我们特别感谢 Cloudflare 与 Trail of Bits 担任独立审计方。感谢他们，也感谢生态系统里许多让工作得以成真的人。&lt;/p&gt; &lt;hr /&gt; &lt;h2 id=&#34;编辑注解&#34;&gt;编辑注解&lt;a class=&#34;headerlink&#34; href=&#34;#编辑注解&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;div class=&#34;admonition note&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;以下为 anoni.net 社群补充，非 Signal 原文内容&lt;/p&gt; &lt;p&gt;原文的比喻写得完整，技术脉络与取舍留在文外。以下先给三条结论，接着十三则补充，再一节发布后的后续补充，最后是常见问题与延伸阅读。&lt;/p&gt; &lt;/div&gt; &lt;h3 id=&#34;只想知道结论的话&#34;&gt;只想知道结论的话&lt;a class=&#34;headerlink&#34; href=&#34;#只想知道结论的话&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;以下三条不需要理解背后的机制，转述给没有技术背景的人也不会失真：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;绿色对勾代表号码对应到的密钥在整个 Signal 生态系统里一致，代表不了对方是本人。&lt;/li&gt; &lt;li&gt;收到「安全码已变更」的通知就停下来，换一条渠道确认过再继续谈敏感的事。&lt;/li&gt; &lt;li&gt;每隔一段时间打开设置里的「已关联设备」，看清单上有没有你不认得的项目。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;日常使用看完上面三条，再看接下来四则就够。需要保护消息来源、在组织里管对外账号、经常跨境或设备可能离开视线、加害者可能就在身边的读者，往后几则是为你们写的。最后三则谈密钥透明度怎么设计出来，不影响操作。发布之后另外补了一节，谈审计链的形状、对勾会被读成什么、匿名查询的双向性，以及可验证性到哪里为止。&lt;/p&gt; &lt;h3 id=&#34;绿色对勾保证什么不保证什么&#34;&gt;绿色对勾保证什么，不保证什么&lt;a class=&#34;headerlink&#34; href=&#34;#绿色对勾保证什么不保证什么&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;原文在「密钥透明度目前的实际样貌」一节已经划出界线，换个说法再说明一次会更清楚。自动密钥验证只确认一件事，同一个标识符在整个生态系统里对应到同一把密钥。握着那个电话号码或用户名的人究竟是谁，功能本身管不到。&lt;/p&gt; &lt;p&gt;常见的几个问题逐项对照。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;你想确认的事&lt;/th&gt; &lt;th&gt;自动密钥验证&lt;/th&gt; &lt;th&gt;该看哪里&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;服务器有没有偷换某个号码对应的密钥&lt;/td&gt; &lt;td&gt;可以&lt;/td&gt; &lt;td&gt;绿色对勾&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;对方是不是本人&lt;/td&gt; &lt;td&gt;不行&lt;/td&gt; &lt;td&gt;安全码变动通知，另一条渠道追问&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;有没有陌生设备挂在你的账号上&lt;/td&gt; &lt;td&gt;不行&lt;/td&gt; &lt;td&gt;设置里的「已关联设备」&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;群组成员的密钥有没有被换过&lt;/td&gt; &lt;td&gt;不行&lt;/td&gt; &lt;td&gt;对每个人各做一次一对一验证&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;手机本身有没有被动过手脚&lt;/td&gt; &lt;td&gt;不行&lt;/td&gt; &lt;td&gt;属于设备安全，不在功能范围&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;号码的控制权在谁手上&lt;/td&gt; &lt;td&gt;不行&lt;/td&gt; &lt;td&gt;注册锁定 PIN，必要时拨 &lt;code&gt;113&lt;/code&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;账号被接管的情境下，界线会变得很尖锐。攻击者若拦截到短信验证码、完成 SIM 卡调包，或取得对方已解锁的手机，可以用同一个电话号码重新注册 Signal。重新注册会生成新的身份密钥，而新密钥由服务器循正常流程写进日志，算一次合法变更，审计方不会有意见，日志前后也一致。此时你对那位联系人执行自动验证，画面仍会显示绿色对勾与「加密已验证」，&lt;strong&gt;只是验证通过的对象已经换人&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;对方的身份密钥改变时，Signal 会在对话中以安全码变动通知标示出来，真正的警讯留在那一条。自动密钥验证不取代安全码变动通知，两件事回答不同的问题。&lt;/p&gt; &lt;h3 id=&#34;只作用在一对一群组没有自动验证的入口&#34;&gt;只作用在一对一，群组没有自动验证的入口&lt;a class=&#34;headerlink&#34; href=&#34;#只作用在一对一群组没有自动验证的入口&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;原文的操作说明是进入某位联系人的个人数据页，Signal 设置里的说明写得更直接：「如果启用此功能，Signal 会尝试自动验证一对一聊天加密。」群组聊天没有对应的入口。&lt;/p&gt; &lt;p&gt;限制来自密钥透明度的设计，日志记录一个标识符对应到哪一把密钥，而群组不是一个标识符，它是一群各自持有密钥的人。要确认一个二十人群组里每个人的密钥都没被换过，等于对二十个人各做一次一对一验证，每一次都需要你握有对方的电话号码。&lt;/p&gt; &lt;p&gt;把 Signal 群组当成协作骨干的社群，务实的做法是分层。核心决策的少数几人值得逐一验证，人数多、流动快的执行层改用社会性的确认，由信任的人亲自介绍、当面拉进群组。站上的&lt;a href=&#34;../../../../scenarios/activist/&#34;&gt;社运行动者的数字准备&lt;/a&gt;有更完整的分层设计。&lt;/p&gt; &lt;p class=&#34;source-note&#34;&gt;查证来源（2026-08）：&lt;a href=&#34;https://github.com/signalapp/Signal-Android/blob/main/app/src/main/res/values-zh-rCN/strings.xml&#34; target=&#34;_blank&#34;&gt;values-zh-rCN/strings.xml&lt;/a&gt; - Signal-Android，字符串 &lt;code&gt;preferences_automatic_key_verification_body&lt;/code&gt;。&lt;/p&gt; &lt;h3 id=&#34;关联设备是它看不到的地方&#34;&gt;关联设备是它看不到的地方&lt;a class=&#34;headerlink&#34; href=&#34;#关联设备是它看不到的地方&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;Signal 的关联设备（linked device），也就是桌面版与 iPad 版，与手机共用同一把身份密钥。攻击者若诱使你扫过一次恶意的关联 QR code，他的设备会挂进你的账号、同步收到后续消息，而你的身份密钥完全没有改变。安全码不变，日志里不会多出任何一页，密钥透明度从头到尾看不到，&lt;strong&gt;绿色对勾会一直亮着&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;2025 年 2 月 Google Threat Intelligence Group 记录了实际的攻击。针对乌克兰军方人员、政治人物与记者的攻击者，把设备关联用的 QR code 伪装成 Signal 群组邀请页面，或乌克兰军方使用的应用程序页面，诱导目标把攻击者的设备连上自己的 Signal 账号。报告的说法是，攻击成功之后消息会即时同步给受害者与攻击者双方，形成持续窃听的通道，过程中不需要完整攻陷设备。&lt;/p&gt; &lt;p&gt;对应的操作是定期打开设置里的「已关联设备」，确认清单上每一项你都认得。密钥透明度不会替你看已关联设备。至于要不要解除不认得的关联、什么时候解除，在加害者可能就在身边的情况下需要先想过后果，后面「对方就在你身边时」那一则会谈到。&lt;/p&gt; &lt;p class=&#34;source-note&#34;&gt;查证来源（2026-08）：&lt;a href=&#34;https://github.com/signalapp/Signal-Android/blob/main/lib/libsignal-service/src/main/protowire/Provisioning.proto&#34; target=&#34;_blank&#34;&gt;Provisioning.proto&lt;/a&gt; - Signal-Android，&lt;code&gt;ProvisionMessage&lt;/code&gt; 带有 &lt;code&gt;aciIdentityKeyPrivate&lt;/code&gt;，关联新设备时主设备会交出账号的身份私钥。&lt;br /&gt; 查证来源（2026-08）：&lt;a href=&#34;https://cloud.google.com/blog/topics/threat-intelligence/russia-targeting-signal-messenger&#34; target=&#34;_blank&#34;&gt;Signals of Trouble: Multiple Russia-Aligned Threat Actors Actively Targeting Signal Messenger&lt;/a&gt; - Google Threat Intelligence Group，2025-02-20。&lt;/p&gt; &lt;h3 id=&#34;在台湾与周边的脉络&#34;&gt;在台湾与周边的脉络&lt;a class=&#34;headerlink&#34; href=&#34;#在台湾与周边的脉络&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;台湾的手机号码采实名制，号码与身份证件绑在一起，补办 SIM 卡并同时取得短信验证码的攻击路径比想象中短。账号被完整接管时自动密钥验证会照常显示绿色对勾，所以更该&lt;strong&gt;优先打开 Signal 的注册锁定，设一组只有你知道的 PIN 码&lt;/strong&gt;，让别人光有号码无法重新注册你的账号。注册锁定的优先顺序排在逐一验证联系人之前。整体的防护顺序见站上的&lt;a href=&#34;../../../../scenarios/everyday-baseline/&#34;&gt;一般人平常该做到什么&lt;/a&gt;，自动密钥验证算是锦上添花的一层，密码管理器与两步验证仍然排在更前面。&lt;/p&gt; &lt;p&gt;在 Signal 被封锁的地区，第一个问题是功能能不能用。密钥透明度的查询跟其他 Signal 功能一样需要连得上 Signal 的服务器，连线被挡住或不稳定的时候查询完成不了，验证就不会成功。Signal 没有说明「连不上」与「验证失败」在画面上如何区分，可行的判断方式是先看整个 App 收发消息正不正常，正常的话问题比较可能出在验证本身。查询不带身份验证，日志看不出是谁在查，走代理或审查规避工具时，通道的运营者仍然看得到你在跟 Signal 通讯，各种通道把可见度换到谁手上，见站上的 &lt;a href=&#34;../../../../tools/vpn-guide/&#34;&gt;VPN 的风险与选择&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;原文提到你手上留着联系人的旧号码时，自动密钥验证会直接无法使用，反过来，你换了号码之后，联系人的通讯录里留着你的旧号码，他们同样验证不了你，影响往两个方向都成立。跨境移动、常换预付卡或 eSIM 的人，两个方向都会频繁遇到，算是常态。退路仍然是安全码，当面扫 QR code 最快，只能通过语音核对那串数字时，前提是你认得对方的声音。维持多组号码与多个账号的人，每个账号的自我检查各自独立，站上的&lt;a href=&#34;../../../../basics/multiple-identities/&#34;&gt;怎么维持多个网络身分&lt;/a&gt;谈到相关的取舍。&lt;/p&gt; &lt;h3 id=&#34;篡改终究会被发现但不会当场被挡下&#34;&gt;篡改终究会被发现，但不会当场被挡下&lt;a class=&#34;headerlink&#34; href=&#34;#篡改终究会被发现但不会当场被挡下&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;原文的监测一节写得含蓄，密钥透明度能检测篡改，没有即时阻挡的能力。Mallory 在账本里塞一笔假记录的当下，Bob 的查询仍然会取得假密钥，消息仍然会被读走。真正的保障来自 Alice 下一次自我检查时会发现对不上，而审计方的签名让 Mallory 无法对 Alice 与 Bob 各说一套。攻击窗口因此落在「从篡改到下一次监测之间」，代价则是必然留下可审计的证据。对长期监控来说，会留下证据往往就足以吓阻。&lt;/p&gt; &lt;p&gt;你打开自动验证之前送出的内容，期间若发生过密钥置换，那些内容已经走在错的通道上，功能不会回头修补，&lt;strong&gt;保护的方向只有往后&lt;/strong&gt;。发现异常之后只能评估损害范围，判断哪些内容可能已经外流，以及对方是否还是本人在操作。&lt;/p&gt; &lt;h3 id=&#34;你的-App-自己检查验证联系人要手动&#34;&gt;你的 App 自己检查，验证联系人要手动&lt;a class=&#34;headerlink&#34; href=&#34;#你的-App-自己检查验证联系人要手动&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;原文提到你的 Signal App 会自动、定期检查日志里属于你自己的电话号码与用户名，验证联系人的标识符则必须从「查看安全码」画面手动发起。两件事的节奏差很多。&lt;/p&gt; &lt;p&gt;原文写「随着时间累积，你这一次的验证，加上联系人与第三方审计方持续执行的验证，共同确保该位联系人的密钥在整个 Signal 生态系统中保持一致」，容易被读成关系要够久才有保障。拆开来看，审计方审计整份日志，跟你们认识多久无关。你与对方各自的自我检查绑在自己的账号上，也跟关系新旧无关。只有「你对某位联系人的验证」是一次性动作，而它按下去当场就生效。&lt;/p&gt; &lt;p&gt;临时组成的团队因此不必担心用不上，第一次见面交换到电话号码就能验，比安全码更适合陌生人快速建立联系，因为不需要另约时间。限制在别的地方，那一次验证只反映按下按钮那一刻的状态，不会自动延伸。任务型的用户若只在组队当天验过，等于把确认锁在风险最低的阶段，真正高风险的那几天没有覆盖到。做法是至少验两次，组队时一次，高风险窗口开始前再一次。&lt;/p&gt; &lt;p&gt;日常的用户可以把节奏改成事件驱动，收到安全码变动通知、对方换手机或换号码、对话内容出现反常的时候，回去看一眼。&lt;/p&gt; &lt;h3 id=&#34;要验证别人需先有对方的电话号码&#34;&gt;要验证别人，需先有对方的电话号码&lt;a class=&#34;headerlink&#34; href=&#34;#要验证别人需先有对方的电话号码&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;对匿名网络社群的读者而言，电话号码的要求是最需要留意的取舍。Signal 过去几年一直在降低电话号码的角色，用户名、默认不公开号码都朝同一个方向走。自动密钥验证目前的设计却要求你握有对方的电话号码才能验证对方，于是最在意隐私、只用用户名交换联系方式的那群人，恰好是暂时用不到新功能的一群。&lt;/p&gt; &lt;p&gt;站上的&lt;a href=&#34;../../../../scenarios/journalist/&#34;&gt;记者保护消息来源&lt;/a&gt;与&lt;a href=&#34;../../../../tools/messaging-comparison/&#34;&gt;匿名通讯工具比较&lt;/a&gt;都建议用用户名交换联系方式，让消息来源不必先交出电话号码。照站上的建议建立起来的关系，记者手上通常没有对方的号码，自动密钥验证从一开始就用不上。取舍很明确，来源的身份保护排在前面，验证的便利性往后排。&lt;/p&gt; &lt;p&gt;功能也制造了一个诱因，让人为了让那个对勾出现，&lt;strong&gt;反过来去跟联系人要电话号码，属于要特别避免的误用&lt;/strong&gt;。对方选择只给用户名，通常正是不想留下号码，为了验证去追问，等于把功能的便利性凌驾在对方自己的选择之上。验不了就接受验不了，高风险的个案改走当面或另一条渠道核对安全码。倡议组织面对捐款人与服务对象时尤其要守住，脉络见站上的&lt;a href=&#34;../../../../scenarios/nonprofit-anonymous-donation/&#34;&gt;倡议组织的匿名捐款管道&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;原文的叙事是 Bob 去验证 Alice，实际的信任链常常反过来。公开身份的人，例如记者、组织的对外窗口，被锁定的概率比多数联系人高，而看着绿色对勾决定要不要信任的，是来找你的那一方。你自己的账号没有守好，所有信任那个对勾的人会一起被误导。注册锁定与已关联设备的检查，优先顺序排在逐一验证每个联系人之前。&lt;/p&gt; &lt;p&gt;Signal 遇到限制时直接让功能不可用，选择是对的，宁可让按钮消失，也不要给出一个看起来成功、实际上没有意义的绿色对勾。纯用户名的联系人目前仍请沿用安全码，扫 QR code 那条路一直都在。只是当面核对本身也有代价，被看到跟某个人有联系，对还没出柜的伴侣或需要保护的消息来源就是一次额外的曝光。当面核对留给真正需要的时刻，例如收到安全码变动通知之后，不必变成常态。&lt;/p&gt; &lt;h3 id=&#34;账号背后换了人密钥不会变&#34;&gt;账号背后换了人，密钥不会变&lt;a class=&#34;headerlink&#34; href=&#34;#账号背后换了人密钥不会变&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;密钥透明度绑定标识符与密钥的对应，不绑定标识符背后是哪一个人。前面谈账号接管时，落差表现成攻击，在组织里则是日常运作的一部分。&lt;/p&gt; &lt;p&gt;对外窗口、客服、项目联系人等角色账号，操作的人会换。交接若做得规矩，沿用同一台设备，或用注册锁定的 PIN 重新注册，密钥完全不会变动，安全码也不会变。一年前验证过那个账号的人，&lt;strong&gt;不会收到任何技术讯号告诉他们操作的人换了&lt;/strong&gt;。密钥透明度本来就没有要回答账号背后是谁在操作的问题。&lt;/p&gt; &lt;p&gt;角色账号还有两件事跟个人账号不同。第一，「已关联设备清单上每一项你都认得」那条建议假定只有一个人在管账号，多人轮值时要改成比对一份内部名册，靠记忆不可行。第二，组织号码的短信验证码可能不只一个人收得到，办公室转接线、IT 管理的 eSIM、账单持有人都可能在链上，注册锁定的 PIN 要当成组织的共用机敏凭证管理，存放与轮替的做法见站上的&lt;a href=&#34;../../../../tools/password-manager/&#34;&gt;密码管理器入门&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;交接时要做的是换掉 PIN、盘点并清理已关联设备、记录目前谁握有管理权。若交接的情况不欢而散，处理顺序比照后面「对方就在你身边时」那一则。&lt;/p&gt; &lt;h3 id=&#34;设备离开你的视线之后&#34;&gt;设备离开你的视线之后&lt;a class=&#34;headerlink&#34; href=&#34;#设备离开你的视线之后&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;出入境查验、临检、设备被扣留一段时间再归还，三种情况有一个共同点，对手有过实体接触的机会。密钥透明度查服务器上的记录，与你的设备有没有被动过是两件独立的事，所以自动验证仍然会显示绿色对勾。&lt;/p&gt; &lt;p&gt;拿回设备之后要主动检查已关联设备清单，以及重要联系人的安全码有没有变动。清单干净只说明没有新的设备挂进你的账号，&lt;strong&gt;不足以推论设备本身没被动过手脚&lt;/strong&gt;，那属于设备安全的范围。&lt;/p&gt; &lt;p&gt;被要求当场解锁交出，风险又高一层，对手取得你配合之下的完整访问权。保守的做法是把设备视为已暴露，重新评估账号的 PIN 码与重要联系人的验证状态。事前准备与事后处理的清单，站上的&lt;a href=&#34;../../../../scenarios/asia-travel/&#34;&gt;出差与研讨会的数字准备（东亚与东南亚）&lt;/a&gt;与&lt;a href=&#34;../../../../scenarios/activist/&#34;&gt;社运行动者的数字准备&lt;/a&gt;写得比较完整。任务型的通讯还要处理收尾，任务用的号码注销之前提醒还留着号码的人清掉，借用的设备归还之前先手动解除关联，别假设对方会自己发现，选务场景的整体准备见&lt;a href=&#34;../../../../scenarios/election-observer/&#34;&gt;选举观察员的自保&lt;/a&gt;。&lt;/p&gt; &lt;h3 id=&#34;对方就在你身边时&#34;&gt;对方就在你身边时&lt;a class=&#34;headerlink&#34; href=&#34;#对方就在你身边时&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;前面几则假定的攻击者都在远端，需要拦截短信验证码，或诱你扫一张恶意的 QR code。加害者若是同住的人、知道你的解锁方式，或本来就是号码的登记人与账单付款人，连前置动作都不必，因为对方看到的是你本人已经解开的画面，前面所有机制都绕不过去。&lt;/p&gt; &lt;p&gt;号码那一层要分开看，注册锁定挡得住「用你的号码重新注册 Signal」，挡不住对方对号码本身的行政控制权。对方若是合法的号码持有人，走电信商的正常渠道就能处理你的号码，过程中不需要伪造任何身份。设 PIN 码的时候也要留意，只有在对方不在场、不知情的状况下设定才有意义，并且不要与手机解锁码相同。未成年而使用家庭方案的人还要多想一层，号码、账单与设备管理往往在同一个人手上，设好 PIN 挡得住重新注册，挡不住对方看到你装了什么 App，设备层的痕迹管理见站上的 &lt;a href=&#34;../../../../scenarios/lgbtq/&#34;&gt;LGBTQ+ 与性少数的匿名社交&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;检查关联设备的建议，在同住的情境下要先想过后果。前面说看到不认得的项目就解除关联，那条建议假定对手是陌生人，解除之后不会再出现。加害者是同住者的时候前提不成立，被解除的那台设备会立刻失去访问权，&lt;strong&gt;对方下次打开就会发现&lt;/strong&gt;，而「你发现了」本身可能升高风险。比较安全的顺序是&lt;strong&gt;先确认人身安全与手边可用的支持资源&lt;/strong&gt;，需要时先保留画面记录，再决定要不要解除、什么时候解除。&lt;/p&gt; &lt;p&gt;原文反覆建议的「通过另一条可信渠道确认」也有同样的前提问题，长期被监控的人不一定有一条对方接触不到的渠道。台湾可以拨 &lt;code&gt;113&lt;/code&gt; 保护专线做匿名咨询，由社工协助判断风险等级。更完整的准备见站上的&lt;a href=&#34;../../../../scenarios/domestic-violence/&#34;&gt;家暴受害者的数字准备&lt;/a&gt;与&lt;a href=&#34;../../../../help/&#34;&gt;紧急求救&lt;/a&gt;。&lt;/p&gt; &lt;h3 id=&#34;审计方本身也是一种信任&#34;&gt;审计方本身也是一种信任&lt;a class=&#34;headerlink&#34; href=&#34;#审计方本身也是一种信任&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;功能引进了两个新的外部角色，Cloudflare 与 Trail of Bits。两家都无法读到明文数据，公开标识符经过可验证随机函数处理，对应值由带密钥的哈希函数保护。审计方能确认日志前后一致、没有被回头改写，看不到日志里究竟是谁。&lt;/p&gt; &lt;p&gt;多一位独立审计方通常让信任假设变弱，从「必须相信 Signal 没有作恶」放宽成「至少要有一位审计方是诚实的」，方向要说清楚。客户端实际要求三份签名，Signal 自己运营一份，Cloudflare 与 Trail of Bits 各一份，缺任何一份都会跳警告、让自动密钥验证失败。每份签名有七天有效期，全恶意的服务器因此最多维持一周的分叉视图。原文只写了 Cloudflare 与 Trail of Bits 两家，第三份自签要看 Trail of Bits 自己的说明才知道，后面「后续补充」那一节接着谈。&lt;/p&gt; &lt;p&gt;完全不接受第三方假设的用户，Signal 留了关闭开关，设置路径在隐私、高级、自动密钥验证。关闭之后回到手动的安全码验证。&lt;/p&gt; &lt;h3 id=&#34;为什么标识符要先过一层可验证随机函数&#34;&gt;为什么标识符要先过一层可验证随机函数&lt;a class=&#34;headerlink&#34; href=&#34;#为什么标识符要先过一层可验证随机函数&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;原文提到公开标识符会先通过可验证随机函数（Verifiable Random Function），一句话带过，背后的取舍可以再说明。&lt;/p&gt; &lt;p&gt;日志必须公开才有办法被审计，公开的日志若直接列出电话号码，任何人都可以整份取回，做成一份「哪些号码注册过 Signal」的名单。换成一般的哈希函数也挡不住，电话号码的可能组合数量太少，逐一算过一遍就能还原。&lt;/p&gt; &lt;p&gt;可验证随机函数让服务器用一把只有自己知道的密钥，把标识符映射到日志里一个看起来随机的位置，同时附上一份任何人都能检查的证明，说明映射确实照规则生成。外人少了那把密钥就无法自行还原名单，审计方仍然验证得了日志的一致性。&lt;/p&gt; &lt;p&gt;「不带身份验证」的意思也要看清楚。原文说所有向日志查询标识符的请求都不带身份验证，因此不会跟特定用户账号绑在一起。不带身份验证只保证查询不会被绑到你的账号，&lt;strong&gt;不保证服务器不知道你查了谁&lt;/strong&gt;。可验证随机函数的密钥在服务器手上，你要查某个标识符，就得把它送过去让服务器算出对应的位置与证明，被查的标识符本身服务器看得到，审计方读不到明文则是另一层设计。&lt;/p&gt; &lt;h3 id=&#34;密钥透明度不是-Signal-首创&#34;&gt;密钥透明度不是 Signal 首创&lt;a class=&#34;headerlink&#34; href=&#34;#密钥透明度不是-Signal-首创&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;概念上密钥透明度延伸自证书透明度（Certificate Transparency），把 HTTPS 证书的公开日志与审计机制搬到即时通讯的公钥上。学术脉络可以再往前拉，2015 年的 CONIKS 提出让用户自行监测目录的设计，2019 年的 SEEMless 补上隐私与效率，Meta 在 2021 年把相关想法做成开源的 Auditable Key Directory（AKD）程序库。&lt;/p&gt; &lt;p&gt;通讯软件的第一个大规模部署来自 WhatsApp，2023 年 4 月上线，底层用的就是 AKD，当时的定位是让任何人都能自行验证。Cloudflare 接手担任第三方审计方，是一年五个月之后的 2024 年 9 月，两件事常被压成同一件。Apple 的 iMessage Contact Key Verification 在 2023 年底推出，走另一条路线，由用户设备自己验证一致性证明。&lt;/p&gt; &lt;p&gt;IETF 的 &lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-keytrans-architecture/&#34; target=&#34;_blank&#34;&gt;KeyTrans 架构草案&lt;/a&gt;把部署方式分成三种模式，联系人监测（contact monitoring）、第三方管理（third-party management）与第三方审计（third-party auditing），差别在于由谁负责察觉日志分叉。草案本身只定义模式，没有点名哪一家系统落在哪一格，常见的对照表出自工作组简报与各家自己的说明。Signal 这次以第三方审计为主，同时要求客户端对自己的标识符做监测，互补的理由在原文的「监测」一节说得很清楚。&lt;/p&gt; &lt;p class=&#34;source-note&#34;&gt;查证来源（2026-08）：&lt;a href=&#34;https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/melara&#34; target=&#34;_blank&#34;&gt;CONIKS: Bringing Key Transparency to End Users&lt;/a&gt; - USENIX Security 2015。&lt;br /&gt; 查证来源（2026-08）：&lt;a href=&#34;https://eprint.iacr.org/2018/607&#34; target=&#34;_blank&#34;&gt;SEEMless: Secure End-to-End Encrypted Messaging with less trust&lt;/a&gt; - Chase、Deshpande、Ghosh、Malvai，ACM CCS 2019。&lt;br /&gt; 查证来源（2026-08）：&lt;a href=&#34;https://engineering.fb.com/2023/04/13/security/whatsapp-key-transparency/&#34; target=&#34;_blank&#34;&gt;Deploying key transparency at WhatsApp&lt;/a&gt; - Meta Engineering，2023-04-13。AKD 程序库见 &lt;a href=&#34;https://github.com/facebook/akd&#34; target=&#34;_blank&#34;&gt;facebook/akd&lt;/a&gt;，仓库 2021 年 6 月建立。&lt;br /&gt; 查证来源（2026-08）：&lt;a href=&#34;https://blog.cloudflare.com/key-transparency/&#34; target=&#34;_blank&#34;&gt;Cloudflare helps verify the security of end-to-end encrypted messages by auditing key transparency for WhatsApp&lt;/a&gt; - Cloudflare，2024-09-24。&lt;br /&gt; 查证来源（2026-08）：&lt;a href=&#34;https://security.apple.com/blog/imessage-contact-key-verification&#34; target=&#34;_blank&#34;&gt;Advancing iMessage security: iMessage Contact Key Verification&lt;/a&gt; - Apple Security Research，2023-10-27。&lt;/p&gt; &lt;h3 id=&#34;后续补充2026-08-13&#34;&gt;后续补充（2026-08-13）&lt;a class=&#34;headerlink&#34; href=&#34;#后续补充2026-08-13&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;文章发布当天，Trail of Bits 也贴出自己那一侧的说明，里面有 Signal 原文没写的审计细节。以下四则按几位不同专业背景的读者的提问整理，查证日期都在 2026-08。&lt;/p&gt; &lt;h4 id=&#34;审计的独立性建立在跨组织不在跨法律管辖&#34;&gt;审计的独立性建立在跨组织，不在跨法律管辖&lt;a class=&#34;headerlink&#34; href=&#34;#审计的独立性建立在跨组织不在跨法律管辖&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h4&gt; &lt;p&gt;客户端要求的三份签名，分别由 Signal、Cloudflare 与 Trail of Bits 运营，三家都是美国实体。跨组织的分散做到了，跨法律管辖没有。一份强制令同时触及三个签名者，在美国境内是可以想像的路径，对身处与美国没有对等司法互助机制地区的用户，保证的实际强度目前没有先例可查。&lt;/p&gt; &lt;p&gt;Trail of Bits 照规格从头写了一套审计器，没有沿用 Signal 的参考实现，理由是独立实现才抓得到共病的错误，代码开源在 trailofbits/signal-auditor。他们也写明不向 Signal 或任何一方收费，两项选择让第三方审计不只是挂名。&lt;/p&gt; &lt;p&gt;现行设计把察觉日志分叉的责任交给少数几个审计方，学界对此有意见。2026 年的 MINGLE 提出让客户端在通讯时顺便交换彼此看到的日志状态，论文摘要直接点名现行部署把检测委托给少数第三方审计方，形成可被施压、被攻陷或无法持续审计的中心化瓶颈。Signal 目前没有客户端之间的交叉比对。&lt;/p&gt; &lt;h4 id=&#34;绿色对勾会被读成什么空白又会被读成什么&#34;&gt;绿色对勾会被读成什么，空白又会被读成什么&lt;a class=&#34;headerlink&#34; href=&#34;#绿色对勾会被读成什么空白又会被读成什么&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h4&gt; &lt;p&gt;安全指示器的既有研究显示，正面图示长期被读得比技术定义宽。工程团队写的是「标识符与密钥在日志里一致」，用户看到的是「这个人安全」。&lt;/p&gt; &lt;p&gt;2007 年一项针对网上银行的研究把用户原本设定的个人化安全图片拿掉，用自己账号操作的二十五人里有二十三人仍然输入了密码。预期中的正面提示消失，多数人不会提高警觉，多半根本没注意到。&lt;/p&gt; &lt;p&gt;自动密钥验证因为对方只有用户名或号码过期而不可用时，比较可能发生的是用户直接略过。空白不会自己变成警讯。&lt;/p&gt; &lt;p&gt;自动化研究反复观察到，手边有低成本渠道可以依赖时，需要主动投入的人工检查会系统性减少。验证变便宜之后，愿意约时间当面扫 QR code 的人只会越来越少，而当面核对正好涵盖自动验证覆盖不到的那一块，账号被完整接管的情境。&lt;/p&gt; &lt;h4 id=&#34;匿名查询的保护是双向的&#34;&gt;匿名查询的保护是双向的&lt;a class=&#34;headerlink&#34; href=&#34;#匿名查询的保护是双向的&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h4&gt; &lt;p&gt;查询日志的请求不带身份验证，设计目的是让服务器无法把查询绑回你的账号。同一个设计让查询你的人也享有一样的匿名。只要对方原本就知道你的电话号码，就能反复查询你的标识符在日志里的记录，观察你何时换机、换号或重新注册。过程不必碰你的设备，你也不会收到任何通知，原文没有描述任何会告知被查询者的机制。&lt;/p&gt; &lt;p&gt;前面「对方就在你身边时」那一则要再加一层：离开一段有控制关系的关系之后，对方手上通常还留着你的号码。&lt;strong&gt;换号码本身会在日志里留下一笔可被观察的变更&lt;/strong&gt;，时间点对盯着看的人是有意义的讯号。&lt;/p&gt; &lt;h4 id=&#34;可验证性到你的手机就断了&#34;&gt;可验证性到你的手机就断了&lt;a class=&#34;headerlink&#34; href=&#34;#可验证性到你的手机就断了&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h4&gt; &lt;p&gt;审计方签的是服务器上那份日志的结构，签名不涵盖你手机里的 App 有没有诚实执行验证、画面上那个对勾有没有如实反映结果。那是另一条信任链。要核对手上的 App 与公开源代码一致，Android 版有可重现构建的流程与自动化检查，社群也有人持续重现 Play Store 的版本。iOS 版没有对应的构建说明，限制来自 App Store 的签署流程。&lt;/p&gt; &lt;p&gt;Cloudflare 在 2024 年为 WhatsApp 的审计做了一套任何人都能执行的复验工具，目前收录的仍是 WhatsApp 那组，没有 Signal 的对应项目。想自己复验 Signal 审计结果的研究者，现阶段需要从头做起。&lt;/p&gt; &lt;p class=&#34;source-note&#34;&gt;查证来源（2026-08）：&lt;a href=&#34;https://blog.trailofbits.com/2026/08/11/how-trail-of-bits-helps-verify-the-integrity-of-your-signal-chats/&#34; target=&#34;_blank&#34;&gt;How Trail of Bits helps verify the integrity of your Signal chats&lt;/a&gt; - Trail of Bits，2026-08-11。三份签名、七天有效期、审计器开源与不收费均出自此文。&lt;br /&gt; 查证来源（2026-08）：&lt;a href=&#34;https://eprint.iacr.org/2026/1010&#34; target=&#34;_blank&#34;&gt;Signal and Ready to MINGLE: In-Band Gossip for Key Transparency Split-View Detection in E2EE Messengers&lt;/a&gt; - IACR ePrint 2026/1010。&lt;br /&gt; 查证来源（2026-08）：&lt;a href=&#34;https://stuartschechter.org/papers/emperor.pdf&#34; target=&#34;_blank&#34;&gt;The Emperor&#39;s New Security Indicators&lt;/a&gt; - Schechter、Dhamija、Ozment、Fischer，IEEE Symposium on Security and Privacy 2007，论文摘要记为 25 人中 23 人。&lt;br /&gt; 查证来源（2026-08）：&lt;a href=&#34;https://github.com/trailofbits/signal-auditor&#34; target=&#34;_blank&#34;&gt;trailofbits/signal-auditor&lt;/a&gt; 与 &lt;a href=&#34;https://github.com/cloudflare/plexi&#34; target=&#34;_blank&#34;&gt;cloudflare/plexi&lt;/a&gt;，后者的说明文档目前只列 WhatsApp 的 namespace。&lt;br /&gt; 查证来源（2026-08）：Signal-Android 的 &lt;a href=&#34;https://github.com/signalapp/Signal-Android/tree/main/reproducible-builds&#34; target=&#34;_blank&#34;&gt;reproducible-builds&lt;/a&gt; 说明，Signal-iOS 仓库无对应目录。&lt;/p&gt; &lt;h3 id=&#34;常见问题&#34;&gt;常见问题&lt;a class=&#34;headerlink&#34; href=&#34;#常见问题&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;自动密钥验证要我自己去打开吗&lt;/summary&gt; &lt;p&gt;不用。原文的写法是不想依赖任何第三方的人「可以在设置中关闭」，也就是默认就是开启的。开关在隐私、高级、自动密钥验证，是全局设置，不能逐一联系人控制。你自己标识符的检查由 App 在背景执行，不需要你操作。要验证某位联系人则要自己进去按，位置在对方个人数据页的「查看安全码」画面。原文没有提到最低版本需求，看不到按钮时先更新 App 再看一次。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;打开自动密钥验证之后，还需要核对安全码吗&lt;/summary&gt; &lt;p&gt;看对象。日常联系人可以只靠自动验证。面对高风险的对象，例如消息来源、律师、跨组织的敏感协作，当面扫 QR code 仍然是最强的一层，因为它不依赖 Signal 的服务器，也不依赖任何审计方。两种做法可以并存，自动验证负责日常的持续比对，手动核对负责一次性的高强度确认。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;显示绿色对勾，代表对方一定是本人吗&lt;/summary&gt; &lt;p&gt;不代表。绿色对勾说明你手上的标识符对应到的密钥，跟整个 Signal 生态系统看到的一致。对方的账号若已经被完整接管，攻击者用同一个号码重新注册生成的新密钥，同样会通过验证。判断对方是不是本人，仍要靠安全码变动通知、对话内容的异常，以及另一条可信渠道的追问。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;群组聊天里的成员，可以用自动密钥验证吗&lt;/summary&gt; &lt;p&gt;不行。Signal 设置里的说明写着「自动验证一对一聊天加密」，群组没有对应的入口。要确认群组成员的密钥，只能对每个人各自执行一次一对一验证，而且同样需要你握有对方的电话号码。人数多的群组不容易逐一做完，实际上建议只在核心的少数几人身上落实。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;自动验证的按钮没有出现，是我操作错误吗&lt;/summary&gt; &lt;p&gt;多半不是操作问题。最常见的原因是你手上没有对方的电话号码，例如你们是通过用户名建立联系的。另一种是你存的号码过期了，对方已经换号。Signal 在两种情况下一律让功能不可用，改请你使用安全码。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;我验证了某位联系人，对方会知道吗&lt;/summary&gt; &lt;p&gt;原文说所有向日志查询标识符的请求都不带身份验证，不会跟特定用户账号绑在一起。保证的范围到这里为止，查询不会被绑到你的账号，连接来源与时序仍然握在服务器手上，推不出服务器完全无从关联。原文也没有描述任何会通知对方的机制，同样没有正面交代，处境对此特别敏感的人，保守假设比较安全。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;我换了新号码，为什么旧联系人验证不了我&lt;/summary&gt; &lt;p&gt;因为对方的通讯录里留着你的旧号码，与日志中最新的号码记录对不上。限制是双向的，你验证不了持旧号码的人，持你旧号码的人也验证不了你。做法是通过另一条可信渠道告知新号码，等对方更新通讯录，或直接约时间扫 QR code 核对安全码。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;我们是临时成军的团队，来得及用上吗&lt;/summary&gt; &lt;p&gt;来得及。原文那句「随着时间累积」容易被读成关系要够久才有保障，但审计方审计整份日志，你与对方的自我检查各自绑在自己的账号上，都跟你们认识多久无关。第一次见面交换到电话号码就能验，比安全码更适合陌生人快速建立联系，因为不必另约时间。单次验证只是当下的快照，高风险窗口开始前记得再验一次。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;时间有限，我该先验证谁&lt;/summary&gt; &lt;p&gt;用影响范围排序。问自己「对方的账号若被接管，错误信息会扩散多远、敏感内容会外流多少」。指挥与协调窗口优先于一般成员，会转发现场汇报的节点优先于只接收的人，跨组织的单一联系窗口优先于同组织内已有其他确认渠道的人。排在所有人之前的仍然是你自己的账号，理由见「要验证别人，需先有对方的电话号码」那一则。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;手机被查扣过再拿回来，看得出发生了什么事吗&lt;/summary&gt; &lt;p&gt;看不出来。只要没有人用你的号码重新注册，身份密钥没换，画面就会照常显示绿色对勾。拿回设备之后要主动检查已关联设备清单与重要联系人的安全码变动。清单干净也只代表没有新设备挂进账号，不代表设备本身没被动过手脚。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;号码是对方申请的、账单也是对方在缴，我还受保护吗&lt;/summary&gt; &lt;p&gt;功能保护不到那一层。自动密钥验证确认密钥有没有被换掉，管不到号码的行政控制权在谁手上。对方若是合法的号码持有人，走电信商的正常渠道就能处理你的号码。号码的归属要另外处理，必要时先联系 &lt;code&gt;113&lt;/code&gt; 保护专线评估风险，站上的&lt;a href=&#34;../../../../scenarios/domestic-violence/&#34;&gt;家暴受害者的数字准备&lt;/a&gt;有进一步的准备方向。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;验证联系人的时候，Signal 自己会不会知道我在查谁&lt;/summary&gt; &lt;p&gt;原文说查询不带身份验证，不会跟特定用户账号绑在一起，只保证查询不会被绑到你的账号。服务器持有可验证随机函数的密钥，你要查某个标识符就得把它送过去，被查的标识符本身服务器看得到，审计方读不到明文则是另一层设计。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;关掉自动密钥验证会有什么影响&lt;/summary&gt; &lt;p&gt;你会回到原本的手动安全码流程，消息加密本身不受影响。关闭的理由通常是不想把任何信任放在 Signal 以外的第三方审计方身上。设置路径在隐私、高级、自动密钥验证。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;Signal 的服务器被入侵，我会收到通知吗&lt;/summary&gt; &lt;p&gt;不会有一则写着「服务器被入侵」的通知。你会看到安全码变动的提示，或是自动验证失败。密钥透明度的设计目标是让篡改留下无法抹除的证据，做不到即时警报。发现的时间点落在你或对方下一次检查的时候。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;跟 WhatsApp、iMessage 的同类功能差在哪&lt;/summary&gt; &lt;p&gt;三家处理同一个问题，选择的信任结构不同。WhatsApp 走第三方审计，由 Cloudflare 在外部盯着日志。Apple 的 iMessage Contact Key Verification 让用户的设备之间自行验证一致性。Signal 兼采两种做法，外部审计加上客户端对自己标识符的定期监测。使用门槛上，Signal 只有在你握有对方电话号码时才验证得了对方，纯用户名的联系人暂时用不到，WhatsApp 的账号本身就是电话号码，不会遇到同样的状况。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;我该多久检查一次&lt;/summary&gt; &lt;p&gt;没有标准答案，可以用事件驱动取代固定周期。收到安全码变动通知、对方换手机或换号码、你自己重新安装 Signal，以及任何一次感觉不对劲的对话，都是回去看一眼的时机。你自己的标识符由 App 定期检查，不需要你介入。&lt;/p&gt; &lt;/details&gt; &lt;h3 id=&#34;延伸阅读&#34;&gt;延伸阅读&lt;a class=&#34;headerlink&#34; href=&#34;#延伸阅读&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;站内：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../scenarios/everyday-baseline/&#34;&gt;一般人平常该做到什么&lt;/a&gt;，没有特殊威胁模型的话，先把那里的顺序做完再回头看自动密钥验证。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../advanced/e2ee/&#34;&gt;端对端加密如何运作&lt;/a&gt;，Double Ratchet、前向保密与多设备同步的工程取舍。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/messaging-comparison/&#34;&gt;匿名通讯工具比较&lt;/a&gt;，Signal 与其他工具在身份模型与 Metadata 上的差别。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../basics/threat-model/&#34;&gt;威胁模型如何建立&lt;/a&gt;，判断自己需要哪一层验证的起点。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../basics/anonymity-vs-privacy/&#34;&gt;匿名、隐私、假名、机密性的差别&lt;/a&gt;，自动密钥验证保证标识符与密钥一致，跟保证匿名是不同的事。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../basics/metadata/&#34;&gt;Metadata 是什么，为什么重要&lt;/a&gt;，标识符为什么本身就是一条线索。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;站外：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;https://github.com/signalapp/key-transparency-server&#34; target=&#34;_blank&#34;&gt;Signal 的密钥透明度服务器源代码&lt;/a&gt;，Signal 的实现依据 IETF 草案并做了调整。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;https://www.cloudflare.com/press/press-releases/2026/signal-taps-cloudflare-to-help-protect-the-privacy-of-hundreds-of-millions-of-users-through-key-transparency/&#34; target=&#34;_blank&#34;&gt;Cloudflare 谈与 Signal 合作审计密钥透明度&lt;/a&gt;，两位审计方之一对这次合作的说明。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;https://blog.trailofbits.com/2026/08/11/how-trail-of-bits-helps-verify-the-integrity-of-your-signal-chats/&#34; target=&#34;_blank&#34;&gt;Trail of Bits 谈如何验证 Signal 对话的完整性&lt;/a&gt;，另一位审计方的技术说明。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-keytrans-protocol/&#34; target=&#34;_blank&#34;&gt;IETF KeyTrans 协议草案&lt;/a&gt;与&lt;a href=&#34;https://datatracker.ietf.org/doc/draft-ietf-keytrans-architecture/&#34; target=&#34;_blank&#34;&gt;架构草案&lt;/a&gt;，标准化工作仍在进行。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/melara&#34; target=&#34;_blank&#34;&gt;CONIKS: Bringing Key Transparency to End Users&lt;/a&gt;，2015 年提出让用户自行监测目录的设计。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;https://eprint.iacr.org/2018/607&#34; target=&#34;_blank&#34;&gt;SEEMless: Secure End-to-End Encrypted Messaging with less trust&lt;/a&gt;，后续在隐私与效率上的改进。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;https://engineering.fb.com/2023/04/13/security/whatsapp-key-transparency/&#34; target=&#34;_blank&#34;&gt;Deploying key transparency at WhatsApp&lt;/a&gt;，通讯软件第一个大规模部署的工程说明。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;https://blog.cloudflare.com/key-transparency/&#34; target=&#34;_blank&#34;&gt;Cloudflare 说明如何审计 WhatsApp 的密钥透明度&lt;/a&gt;，从审计方的角度描述同一套机制。&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;https://security.apple.com/blog/imessage-contact-key-verification&#34; target=&#34;_blank&#34;&gt;Advancing iMessage security: iMessage Contact Key Verification&lt;/a&gt;，Apple 采用的另一种部署模式。&lt;/li&gt; &lt;/ul&gt; &lt;div class=&#34;footnote&#34;&gt; &lt;hr /&gt; &lt;ol&gt; &lt;li id=&#34;fn:1&#34;&gt; &lt;p&gt;实际上 Signal 会生成好几种不同类型的密钥对与衍生密钥，在 &lt;a href=&#34;https://signal.org/docs/&#34; target=&#34;_blank&#34;&gt;Signal 协议&lt;/a&gt;中协同运作，并非只靠单一组公钥与私钥。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:2&#34;&gt; &lt;p&gt;在 Signal 平台上，对应的是既有的&lt;a href=&#34;https://signal.org/blog/safety-number-updates/&#34; target=&#34;_blank&#34;&gt;「安全码」&lt;/a&gt;功能，需要当面验证，或通过第二个可信平台比对安全码。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:2&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:3&#34;&gt; &lt;p&gt;在现实世界里，签名很容易伪造。但在本文比喻的密钥透明度系统中，Signal 的第三方审计方使用的是&lt;a href=&#34;https://en.wikipedia.org/wiki/Digital_signature&#34; target=&#34;_blank&#34;&gt;密码学签名&lt;/a&gt;，难以伪造。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:3&#34; title=&#34;Jump back to footnote 3 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:4&#34;&gt; &lt;p&gt;译注：原文此处写的是「审计方没有移除或偷偷改动先前的页面」，依上下文应为职员（也就是服务器）的行为，翻译时已改回职员。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:4&#34; title=&#34;Jump back to footnote 4 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/08/signal-automatic-key-verification/</link> <pubDate>Thu, 13 Aug 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/08/signal-automatic-key-verification/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/social/blog/2026/08/signal-automatic-key-verification.png" type="image/png" length="43165" /> </item> <item> <title>一段预告过的降速：8/13 用 OONI 记录台湾北部移动网络的 30 分钟</title> <author>anoni.net 社区</author> <category>OONI</category> <category>社区</category> <description>&lt;h1 id=&#34;一段预告过的降速813-用-OONI-记录台湾北部移动网络的-30-分钟&#34;&gt;一段预告过的降速：8/13 用 OONI 记录台湾北部移动网络的 30 分钟&lt;a class=&#34;headerlink&#34; href=&#34;#一段预告过的降速813-用-OONI-记录台湾北部移动网络的-30-分钟&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;&lt;img alt=&#34;一起测 8 月 13 日的移动网络降速&#34; src=&#34;../../../assets/images/ooni-run-v2.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;8 月 13 日周四 14:30 到 15:00，基隆、台北、新北、桃园、新竹市、新竹县、宜兰的移动网络会降速 30 分钟。降速属于「城镇韧性演习」的一部分，由三大电信运营商同时执行。官方公告写明语音通话、短信与小区广播照常，视频流、视频通话、移动支付、云端同步等高流量服务受影响&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。NCC 对演练时段的建议是预先为离线情境做准备&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:2&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;p&gt;降速的幅度，官方对外说明过两次。防务部门负责人顾立雄 7 月 20 日&lt;a href=&#34;https://www.ettoday.net/news/20260720/3204422.htm&#34; target=&#34;_blank&#34;&gt;在立法机构说明&lt;/a&gt;是「降速到 4G、5G 的百分之一」，行政院则在 8 月 10 日中部场结束后&lt;a href=&#34;https://www.cna.com.tw/news/aipl/202608100327.aspx&#34; target=&#34;_blank&#34;&gt;补充做法&lt;/a&gt;：由电信运营商透过核心网络限流，将移动网络下载速率调降至 256KB。两个说法的量级一致，测量时可以此为预期落点。&lt;/p&gt; &lt;p&gt;日期、时段、七个县市、三家运营商，降速的每个边界都在演练前公开。网络降速的研究少见如此明确的前提，多数案例由用户先察觉变慢，研究者事后回推，时间边界始终模糊。预告式的断网在其他国家并非首见，例如考试期间的全国性断网&lt;sup id=&#34;fnref:6&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:6&#34;&gt;6&lt;/a&gt;&lt;/sup&gt;。就公开可查的记录而言，预告式的降速较为少见，并且能切分到各家运营商的粒度。&lt;/p&gt; &lt;p&gt;8 月 10 日中部场的同一个时段，全台湾的 OONI 观测里没有任何一笔来自移动网络的性能测量。北部场是今年演习的最后一场，8 月 13 日过后不会再有相同的条件。&lt;/p&gt; &lt;p&gt;若你身在这七个县市，那半小时手机本来就会变慢。与其等它过去，不如顺手留下一笔记录。&lt;/p&gt; &lt;!-- more --&gt; &lt;details class=&#34;info&#34;&gt; &lt;summary&gt;为什么要演练移动网络降速，给不在台湾的读者&lt;/summary&gt; &lt;p&gt;行政院对演练的说明是「模拟极端情境，验证政府在有限通讯环境下之应变能力」，设想的状况包含天灾、大规模网络攻击与复合式灾害，目标是提升整体通讯与社会防卫韧性&lt;sup id=&#34;fnref3:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。公告本身没有提到战时或军事演习，框架放在民防与备援。移动网络降速是参考日本、韩国、北欧等国经验后「首度加入」的项目&lt;sup id=&#34;fnref4:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;，范围限于台湾首度，不是国际首例。&lt;/p&gt; &lt;p&gt;对台湾来说，通讯中断不是假设性的问题。台湾是岛屿，对外连接依赖海底电缆，数位发展部设有「海缆障碍状况」的公开页面，逐条列出故障位置、替代路由与预计修复时间&lt;sup id=&#34;fnref:7&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:7&#34;&gt;7&lt;/a&gt;&lt;/sup&gt;。以 2026 年 7 月 28 日的更新为例，当时有四条海缆处于故障状态，最近的一笔发生在 7 月 14 日，预计修复日期落在 8 月 14 日，也就是演习的同一周。想看这些缆线的实际走向，可以打开 &lt;a href=&#34;../../../../../games/tor-network/play/index.html?lang=zh-cn&#34;&gt;Tor 中继地球仪&lt;/a&gt;，上面标了 228 条海缆线段与台湾周边的障碍状态。&lt;/p&gt; &lt;p&gt;真实事故的规模比演练大得多。演练只降速 30 分钟、限定十四个县市、语音与短信照常。海缆中断则可能持续数周，影响整个区域的对外连接。演练的用意在验证备援机制与宣导准备，不是重现事故。&lt;/p&gt; &lt;/details&gt; &lt;h2 id=&#34;8-月-13-日要做的三件事&#34;&gt;8 月 13 日要做的三件事&lt;a class=&#34;headerlink&#34; href=&#34;#8-月-13-日要做的三件事&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;全部时间为台湾时间（UTC+8）。演练时段是 &lt;strong&gt;14:30 到 15:00&lt;/strong&gt;。&lt;/p&gt; &lt;h3 id=&#34;开始之前8-月-13-日前先完成&#34;&gt;开始之前，8 月 13 日前先完成&lt;a class=&#34;headerlink&#34; href=&#34;#开始之前8-月-13-日前先完成&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;安装 &lt;a href=&#34;https://ooni.org/install/&#34; target=&#34;_blank&#34;&gt;OONI Probe&lt;/a&gt;，App Store、Google Play 与 F-Droid 都可下载，开源免费。OONI 开发此工具的目的，是把网络封锁与连接质量变成可验证的公开数据，完整介绍见&lt;a href=&#34;../../../../tools/what-is-ooni/&#34;&gt;什么是 OONI&lt;/a&gt;。首次启动有一段设置流程，当天才安装会来不及。装好后先运行一次，确认能正常完成。&lt;/p&gt; &lt;p&gt;接着设一个 &lt;code&gt;14:35&lt;/code&gt; 的闹钟，降速中的测量最重要。行有余力再加上 &lt;code&gt;14:15&lt;/code&gt; 与 &lt;code&gt;15:10&lt;/code&gt;。下午开会时很容易忘记，设闹钟比记忆可靠。真的错过也没关系，补做 &lt;code&gt;15:10&lt;/code&gt; 那一次就好，只有一笔一样送得出去。&lt;/p&gt; &lt;h3 id=&#34;步骤一关闭-Wi-Fi-与-VPN改用移动数据&#34;&gt;步骤一、关闭 Wi-Fi 与 VPN，改用移动数据&lt;a class=&#34;headerlink&#34; href=&#34;#步骤一关闭-Wi-Fi-与-VPN改用移动数据&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;透过固网连接的 Wi-Fi 在演练中不受影响，测量若在固网的 Wi-Fi 上完成，结果等于零。手机常会自动回连办公室或住家的 Wi-Fi，运行前请先确认已切到移动数据。手机分享出来的热点虽然底层走移动网络，OONI 仍会把网络类型记成 Wi-Fi，一样不要用。&lt;/p&gt; &lt;p&gt;VPN 与 Tailscale 都要先关闭。一般 VPN 会把流量绕出去，测量结果只反映 VPN 运营商的线路，记录下来的 ASN 也会变成对方的。Tailscale 就算没有启用 exit node，在 iOS 与 Android 上仍是透过系统的 VPN 机制运作，OONI Probe 会把网络类型记成 &lt;code&gt;vpn&lt;/code&gt; 而不是 &lt;code&gt;mobile&lt;/code&gt;，测量数据就标不出是移动网络测到的。App 检测到 VPN 时会跳出提醒，看到提醒请先关掉再运行。测量结束后记得把 Tailscale 开回来，靠它连公司内网的人特别容易忘记。&lt;/p&gt; &lt;p&gt;测量完成后可在结果页看到网络名称与 ASN（自治网络的全域编号，运营商、企业、学校都有各自的号码），确认测量确实在移动网络上完成，名称为自己的运营商。&lt;/p&gt; &lt;div class=&#34;admonition warning&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;先确认你的移动数据额度&lt;/p&gt; &lt;p&gt;性能组里的连接速度测试（&lt;code&gt;ndt&lt;/code&gt;）会量吞吐量，运行时尽量用满当下可用的带宽。App 在运行前就会标出预估值，画面上写的是 5 到 200 MB、约 1 分 30 秒，实际落点随连接速度而定。降速中的测量因为带宽被压低，用量最小。14:15 与 15:10 都在正常速度下运行，都会落在估计值的高端。&lt;/p&gt; &lt;p&gt;非无限流量的人建议做降速中的测量，再从 14:15 或 15:10 挑一次当对照，两次就有比较的基础。&lt;/p&gt; &lt;/div&gt; &lt;h3 id=&#34;步骤二运行性能测试&#34;&gt;步骤二、运行「性能」测试&lt;a class=&#34;headerlink&#34; href=&#34;#步骤二运行性能测试&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;开启 App 后点「测试」，选「性能」，勾选要运行的测项，再按下运行。性能组包含 &lt;code&gt;ndt&lt;/code&gt;（连接速度）与 &lt;code&gt;dash&lt;/code&gt;（模拟视频流的播放行为，估算可达成的位元速率）两个测项，正是测量降速所需，Android 与 iOS 都提供。&lt;/p&gt; &lt;figure&gt; &lt;img class=&#34;brand-frame&#34; src=&#34;https://assets.anoni.net/blog/ooni-performance.png&#34; alt=&#34;OONI Probe 的性能页面，上方标示预估用量 5 到 200 MB、约 1 分 30 秒，中央为运行按钮，下方为上次测试结果&#34; style=&#34;width:50%&#34;&gt; &lt;/figure&gt; &lt;h3 id=&#34;步骤三至少在-1435-到-1455-之间做一次&#34;&gt;步骤三、至少在 14:35 到 14:55 之间做一次&lt;a class=&#34;headerlink&#34; href=&#34;#步骤三至少在-1435-到-1455-之间做一次&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;最重要的是降速当下的测量。演练 14:30 开始、15:00 结束，前后各留五分钟避开启动与恢复的过渡，所以 14:35 到 14:55 之间开始都可以。&lt;code&gt;ndt&lt;/code&gt; 约需 1 分 30 秒，最晚 14:55 开始还来得及在结束前完成。&lt;/p&gt; &lt;p&gt;只做一次也有价值，能跟其他参与者、跟隔日同时段互相参照。时间允许再加上前后两次，同一支手机自己的前后对照最为明确。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;台湾时间（UTC+8）&lt;/th&gt; &lt;th&gt;UTC&lt;/th&gt; &lt;th&gt;用途&lt;/th&gt; &lt;th&gt;优先序&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:35&lt;/code&gt; 到 &lt;code&gt;14:55&lt;/code&gt;&lt;/td&gt; &lt;td&gt;&lt;code&gt;06:35&lt;/code&gt; 到 &lt;code&gt;06:55&lt;/code&gt;&lt;/td&gt; &lt;td&gt;降速中&lt;/td&gt; &lt;td&gt;一定要&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;14:15&lt;/code&gt;&lt;/td&gt; &lt;td&gt;&lt;code&gt;06:15&lt;/code&gt;&lt;/td&gt; &lt;td&gt;降速前的对照点&lt;/td&gt; &lt;td&gt;有空就做&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;15:10&lt;/code&gt;&lt;/td&gt; &lt;td&gt;&lt;code&gt;07:10&lt;/code&gt;&lt;/td&gt; &lt;td&gt;恢复后&lt;/td&gt; &lt;td&gt;有空就做&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;每次都要用同一支手机、同一个号码，并且都在移动网络上完成。位置能固定会让数据更好比对，中途需要移动也不影响参与，只要确认没有切回 Wi-Fi 即可。&lt;/p&gt; &lt;p&gt;如果行有余力，8 月 12 日周三 &lt;code&gt;14:35&lt;/code&gt; 也测一次。多一笔，隔日同时段的对照会强很多，成本一样是按一下。&lt;/p&gt; &lt;div class=&#34;admonition note&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;14:30 之后才看到本文的人&lt;/p&gt; &lt;p&gt;只要还在 14:55 之前就直接做一次，时间过了就补做 15:10。手上只有一笔也送得出去。&lt;/p&gt; &lt;/div&gt; &lt;div class=&#34;admonition note&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;降速中上传失败属于正常&lt;/p&gt; &lt;p&gt;测量结果需要上传，而演练期间带宽已被压低，上传可能延迟或失败。不需要重复运行，OONI Probe 会把结果排入队列，等网络恢复后自动补传。&lt;/p&gt; &lt;/div&gt; &lt;p&gt;想多做一点的人，降速期间可另外运行含 Tor 与 Psiphon 的测试（英文界面为 Circumvention），能看出降速对规避工具的影响。规避工具那组会做封锁判定，降速造成的连接失败会被记成 anomaly，成因是带宽而非审查，社区整理结果时会一并说明。&lt;/p&gt; &lt;h2 id=&#34;按下运行之前该知道的隐私影响&#34;&gt;按下运行之前，该知道的隐私影响&lt;a class=&#34;headerlink&#34; href=&#34;#按下运行之前该知道的隐私影响&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;一句话的版本：性能测试会把你当下的对外 IP 留在 M-Lab 的公开数据集，而移动网络的 IP 浮动、没有账号绑定，实务上难以对应到个人。不想留下记录的人，改运行网页连接测试（&lt;code&gt;web_connectivity&lt;/code&gt;，英文界面为 Websites）即可，它不经过 M-Lab。以下是完整说明。&lt;/p&gt; &lt;p&gt;先分清楚两个数据库。OONI 自己发布的测量结果全部公开，内容包含所处的 ASN 与时间戳记，不包含个人 IP 地址。性能组的 &lt;code&gt;ndt&lt;/code&gt; 另外会把数据送到 &lt;a href=&#34;https://www.measurementlab.net/&#34; target=&#34;_blank&#34;&gt;M-Lab&lt;/a&gt;，那是另一个机构、另一份数据集，规则不同。&lt;/p&gt; &lt;p&gt;M-Lab 的&lt;a href=&#34;https://www.measurementlab.net/privacy/&#34; target=&#34;_blank&#34;&gt;隐私政策&lt;/a&gt;载明测试数据会对外公开，公开内容包含你的 IP 地址与日期时间，并且以长期研究为由无限期保留，公开数据集里不做匿名化。政策提供的删除途径援引 GDPR 与 LGPD，主要对象是欧盟与巴西的数据主体。M-Lab 声明政策原则上适用于所有地区的用户，但条文没有处理台湾这类第三地的请求资格，实务上能不能受理并不明确。App 的性能页面本身也附了免责声明，说明测试透过第三方服务器进行，无法保证 IP 地址不被他人收集。&lt;/p&gt; &lt;p&gt;所以运行 &lt;code&gt;ndt&lt;/code&gt; 等于把当下的对外 IP 地址写进一份公开且长期保存的数据集。M-Lab 不认证用户、不保存个人的测试历史，移动网络的 IP 又多为浮动，第三方研究者或一般查询者很难单独从一个 IP 对应回特定个人。上面说的是 M-Lab 与 OONI 这一侧的识别能力。你的运营商本来就能从连接记录对应到号码与 IP，那份记录与测不测量无关，也不会因为参与而增加。是否留下记录，请自行斟酌。&lt;/p&gt; &lt;h2 id=&#34;中部场那-30-分钟移动网络一笔性能测量都没有&#34;&gt;中部场那 30 分钟，移动网络一笔性能测量都没有&lt;a class=&#34;headerlink&#34; href=&#34;#中部场那-30-分钟移动网络一笔性能测量都没有&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;8 月 10 日 14:30 到 15:00，同样的降速在中部七县市执行过一次（UTC 时间 &lt;code&gt;06:30&lt;/code&gt; 到 &lt;code&gt;07:00&lt;/code&gt;）。演练结束后，我们查询 OONI 的公开数据库，看台湾在该时段留下了什么。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;测项&lt;/th&gt; &lt;th&gt;该时段全台笔数&lt;/th&gt; &lt;th&gt;来源网络&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;ndt&lt;/code&gt;（连接速度）&lt;/td&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;&lt;code&gt;AS131584&lt;/code&gt; 台湾智慧光网，固网&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;dash&lt;/code&gt;（串流位元速率）&lt;/td&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;同一个固网 ASN&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;web_connectivity&lt;/code&gt;（网站可达性）&lt;/td&gt; &lt;td&gt;803&lt;/td&gt; &lt;td&gt;几乎全在固网，HiNet 占 593 笔&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;中华电信移动的 &lt;code&gt;AS17421&lt;/code&gt; 是 0 笔，远传的 &lt;code&gt;AS9674&lt;/code&gt; 是 0 笔。&lt;/p&gt; &lt;p&gt;唯一的速度测量执行在固定光纤上，测量的网络并未降速。那 30 分钟全台湾共有 902 笔 OONI 观测，其中没有任何一笔是移动网络上的性能测量。演习依南部、中部、外离岛、东部、北部的顺序分区实施，北部场是最后一场&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:3&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;，同样条件的降速要再等到明年。&lt;/p&gt; &lt;h2 id=&#34;台湾的-OONI-观测四成来自-HiNet&#34;&gt;台湾的 OONI 观测，四成来自 HiNet&lt;a class=&#34;headerlink&#34; href=&#34;#台湾的-OONI-观测四成来自-HiNet&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;中部场的结果反映了台湾 OONI 数据长期的分布。2026 年 7 月 12 日到 8 月 11 日之间，全台湾有 645,039 笔 &lt;code&gt;web_connectivity&lt;/code&gt; 测量，分布在 25 个 ASN：&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;网络&lt;/th&gt; &lt;th&gt;近 30 天笔数&lt;/th&gt; &lt;th&gt;占比&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;AS3462&lt;/code&gt; HiNet&lt;/td&gt; &lt;td&gt;253,546&lt;/td&gt; &lt;td&gt;39.3%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;AS131584&lt;/code&gt; 台湾智慧光网&lt;/td&gt; &lt;td&gt;191,257&lt;/td&gt; &lt;td&gt;29.7%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;三家移动运营商合计&lt;/td&gt; &lt;td&gt;23,010&lt;/td&gt; &lt;td&gt;3.6%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;　└ &lt;code&gt;AS24158&lt;/code&gt; 台湾大哥大&lt;/td&gt; &lt;td&gt;20,099&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;　└ &lt;code&gt;AS17421&lt;/code&gt; 中华电信移动&lt;/td&gt; &lt;td&gt;2,342&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;　└ &lt;code&gt;AS9674&lt;/code&gt; 远传&lt;/td&gt; &lt;td&gt;569&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;剩下的也以固网为主，StarVerse 与 DaDa Broadband 各有数万笔，另有辅仁大学、TANet 与台大几个校园网络。&lt;/p&gt; &lt;p&gt;真正需要的性能测项，总量少得多。同一段期间全台湾只有 1,008 笔 &lt;code&gt;ndt&lt;/code&gt;。移动端看起来占了一半以上，548 笔，但其中 528 笔来自台湾大哥大一家，中华电信移动只有 16 笔、远传 4 笔。缺口集中在中华电信移动与远传。&lt;/p&gt; &lt;p&gt;要说明台湾的网络环境，目前可引用的数据主要反映家用固定宽带的状况。依 &lt;a href=&#34;https://www.ncc.gov.tw/chncc/app/data/list?id=570&#34; target=&#34;_blank&#34;&gt;NCC 统计&lt;/a&gt;，2026 年第 1 季全台移动号码约 2,833 万户，多数人一天里大半时间透过移动网络上网。&lt;/p&gt; &lt;p&gt;三家都是全国性运营商，OONI 上的测量分布却差了一到两个数量级。性能测项里台湾大哥大有 528 笔，中华电信移动只有 16 笔，差距显然不是用户规模造成的。&lt;/p&gt; &lt;p&gt;公开的 aggregation API 只提供测量笔数，不提供设备数，所以上表无法排除少数几台设备反复测量的可能。台湾大哥大同时经营移动与固网，中华电信也是，因此单看一笔 &lt;code&gt;AS24158&lt;/code&gt; 的测量，判断不出它来自手机还是家用调制解调器。&lt;/p&gt; &lt;h2 id=&#34;为什么三家要一起测&#34;&gt;为什么三家要一起测&lt;a class=&#34;headerlink&#34; href=&#34;#为什么三家要一起测&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;上面那项辨识问题，正好说明为什么要挑演练时段。演练已公告时段与县市范围，在该时段内、在公告范围中，&lt;code&gt;AS24158&lt;/code&gt;、&lt;code&gt;AS17421&lt;/code&gt;、&lt;code&gt;AS9674&lt;/code&gt; 出现的移动端测量有明确的情境可对应，ASN 至此才足以定位到运营商。平常散在各处的测量缺少对应的情境。&lt;/p&gt; &lt;p&gt;同一时段只消除了「时间」一个变因。地点、基站负载、手机型号、信号强度都仍然存在。三十支手机散在七个县市，得到的仍是一批条件互异的观测点，结论只能停在粗粒度的判断，例如三家是否都出现可观察的吞吐下降、下降的量级是否接近。任何精确的运营商排名都超出这批数据能支撑的范围。&lt;/p&gt; &lt;p&gt;即使如此，三家同时面对同一道指令、同一个 30 分钟，仍然是难得的对照时机。单独一家测得再密，也只能得到那一家的曲线。&lt;/p&gt; &lt;h2 id=&#34;降速的-30-分钟可以观察到什么&#34;&gt;降速的 30 分钟可以观察到什么&lt;a class=&#34;headerlink&#34; href=&#34;#降速的-30-分钟可以观察到什么&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;行政院说明的做法是核心网络限流加上固定的下载速率上限，属于无差别的带宽管制，&lt;code&gt;ndt&lt;/code&gt; 应可测到。不过公告另外列的受影响服务类型（视频流、视频通话、移动支付、云端同步）读起来像依应用层分类，三家运营商对受影响范围的描述也各自不同。台湾大哥大把 LINE、WhatsApp、M+ 等通讯软件列进会出现连接延迟与不稳定的范围&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:4&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;，中华电信写的是「影音、视频连线、行动上网及部分物联网应用」&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:5&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;，行政院的版本则是文字传输正常&lt;sup id=&#34;fnref2:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。限流若落在带宽层，&lt;code&gt;ndt&lt;/code&gt; 会直接反映。若偏向应用层分类，&lt;code&gt;ndt&lt;/code&gt; 对 M-Lab 的流量特征未必被归进受限类别，可能测到接近平常的速度。测量结果本身就能分辨属于哪一种，也是降速期间最值得观察的一项。&lt;/p&gt; &lt;p&gt;带宽被压低时 Tor 与 Psiphon 能否建立连接，是社区长期关注的题目，周四下午正好是现成的测试场。降速结束后速度回复所需的时间，则由 15:10 那一笔回答。&lt;/p&gt; &lt;p&gt;有了平时与降速中的对照，台湾的移动网络也才会有一份基准。少了基准，未来发生非预期的网络劣化时，任何异常都只能停在「大家觉得变慢」。价值随参与量放大。几十支手机足以回答「三家是否都出现明显下降」，要谈到分布与信赖区间则需要数百支。&lt;/p&gt; &lt;p&gt;&lt;code&gt;ndt&lt;/code&gt; 与 &lt;code&gt;dash&lt;/code&gt; 只能涵盖高流量那一侧，公告称正常运作的语音、短信与小区广播不在两个测项的能力范围内。能观察到的只有界线的其中一边，仍然值得做。社区自己有能力描述网络当下的状态，本身就是韧性的一部分。&lt;/p&gt; &lt;p&gt;解读时须留意 &lt;code&gt;ndt&lt;/code&gt; 的测量对端是 M-Lab 的服务器，数字里同时包含最后一哩与到 M-Lab 节点的国际线路，两者无法从单笔结果中分离。官方公布的 256KB 可作为预期落点，先掌握量级所在，判读时较有依据。&lt;/p&gt; &lt;p&gt;参与密度本身也是变因。&lt;code&gt;ndt&lt;/code&gt; 会用满可用带宽，同一个基站底下若有多支手机在同一分钟运行，彼此会抢已经被压低的带宽，测到的低速就有一部分来自参与者之间的竞争。以每家电信十支、散在七个县市的规模来说不太会相互重叠，整理结果时仍要把同时段的参与数一并记录。&lt;/p&gt; &lt;h2 id=&#34;一起来&#34;&gt;一起来&lt;a class=&#34;headerlink&#34; href=&#34;#一起来&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;安装 &lt;a href=&#34;https://ooni.org/install/&#34; target=&#34;_blank&#34;&gt;OONI Probe&lt;/a&gt; 并运行一次。设一个 &lt;code&gt;14:35&lt;/code&gt; 的闹钟。把本文转给住在北部七县市或在当地工作的朋友。特别欢迎中华电信与远传的用户，两家过去 30 天的性能测量分别只有 16 笔与 4 笔。以远传来说，10 支手机在周四下午各做三次，一个下午就会超过它整个月的累积量。&lt;/p&gt; &lt;p&gt;不在北部七县市的人也可以在同样的时间点测一次。降速范围外的测量构成对照组，能协助分辨哪些变化来自演练、哪些属于当天的一般波动。&lt;/p&gt; &lt;p&gt;测完之后，可在 &lt;a href=&#34;https://explorer.ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI Explorer&lt;/a&gt; 用自己的 ASN 与时段查到记录。社区会在演练后把三个时段、各家运营商的结果整理成一篇后续文章。有问题或想一起整理结果的人，欢迎到社区的 &lt;a href=&#34;https://matrix.to/#/#community:im.anoni.net&#34; target=&#34;_blank&#34;&gt;Matrix Public Space&lt;/a&gt; 讨论。&lt;/p&gt; &lt;h2 id=&#34;常见问题&#34;&gt;常见问题&lt;a class=&#34;headerlink&#34; href=&#34;#常见问题&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;为什么只做性能测试，不把全部测项都运行一遍&lt;/summary&gt; &lt;p&gt;性能组以外的测项都会做封锁判定，而降速会让它们产生假的封锁信号。&lt;/p&gt; &lt;p&gt;以 &lt;code&gt;web_connectivity&lt;/code&gt; 为例，判定方式是拿手机端的结果跟 OONI 的测试辅助服务器比对。手机在限速下大量逾时，辅助服务器在数据中心运作一切正常，比对出来会被标成 &lt;code&gt;tcp_ip&lt;/code&gt; 或 &lt;code&gt;http-failure&lt;/code&gt;，也就是封锁的判定签名。几百人同时在限速下运行有封锁判定的测项，等于在台湾的公开数据里注入一批看起来像审查的记录。&lt;/p&gt; &lt;p&gt;性能组不会产生误判的封锁信号。&lt;code&gt;ndt&lt;/code&gt; 与 &lt;code&gt;dash&lt;/code&gt; 在后端没有实现封锁判定，全球近 90 天各 20 万笔测量的 anomaly 都是 0，只会留下吞吐量的数值。&lt;/p&gt; &lt;p&gt;时间也不允许。性能组约 1 分 30 秒，稳稳落在区间内。网站那组是一份网址清单，正常网络下就要数分钟才能完成，在限速下很可能跨过 15:00，把降速中与恢复后混进同一份报告。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;会用掉多少移动数据&lt;/summary&gt; &lt;p&gt;App 运行前会显示预估用量。降速期间带宽已被压低，用量最小，14:15 与 15:10 在正常速度下运行，会落在估计值的高端。非无限流量的人优先做降速期间的测量。实际数字见上方的额度提醒。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;我的 IP 会被公开，风险有多大&lt;/summary&gt; &lt;p&gt;性能测试会把你的 IP 留在 M-Lab 的公开数据集，长期保存且不做匿名化。改做网页连接测试就不会经过 M-Lab。判断风险高低所需的细节，见上方的隐私一节。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;我不在北部七县市，还要测吗&lt;/summary&gt; &lt;p&gt;可以，而且有参考价值。范围外的数据能当对照组，用来排除当天的一般网络波动。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;开会中错过了 14:35 到 14:55 怎么办&lt;/summary&gt; &lt;p&gt;补做 15:10。就算只补一笔，也能跟其他参与者或隔天同时段对照，无须凑满三次。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;参与这次测量有法律风险吗&lt;/summary&gt; &lt;p&gt;测量的动作是在自己的手机上测自己的连接速度，与一般测速 App 的操作无异，不干扰演练，也不影响其他人。OONI Probe 是全球长期使用的开源工具。若你所属的组织有自己的合规考量，可以只做网页连接测试，或选择不参与。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;号召测量是为了查核官方公布的 256KB 吗&lt;/summary&gt; &lt;p&gt;本文的出发点是演练当天难得的观测条件，时间、地点、运营商都预先公开。官方公布的数字在文中作为预期落点，让参与者知道数据会落在什么量级。测量的对象是网络状态，演习的成效与必要性不在讨论范围。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;怎么确认我的测量成功了&lt;/summary&gt; &lt;p&gt;完成后结果页会显示网络名称与 ASN，确认上面是自己的运营商，不是 Wi-Fi 也不是 VPN。测量送出后同样能在 &lt;a href=&#34;https://explorer.ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI Explorer&lt;/a&gt; 查到自己的记录。&lt;/p&gt; &lt;/details&gt; &lt;details class=&#34;question&#34;&gt; &lt;summary&gt;双卡手机要注意什么&lt;/summary&gt; &lt;p&gt;先确认移动数据走的是哪一张卡。手机装了两张 SIM 卡的话，容易以为自己在测某一家，实际上数据从另一家出去。结果页显示的 ASN 是最后的确认。&lt;/p&gt; &lt;/details&gt; &lt;h2 id=&#34;数据与前提&#34;&gt;数据与前提&lt;a class=&#34;headerlink&#34; href=&#34;#数据与前提&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;文中的 OONI 数字分成三组，查询日皆为 2026-08-11，端点与参数如下，读者可自行重新查询。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;中部场 30 分钟窗口&lt;/strong&gt;（表格中的 902、803、593 与两笔性能测量）用 measurements 端点，&lt;code&gt;probe_cc=TW&lt;/code&gt;、&lt;code&gt;since=2026-08-10T06:30:00Z&lt;/code&gt;、&lt;code&gt;until=2026-08-10T07:00:00Z&lt;/code&gt;，逐一查 &lt;code&gt;test_name&lt;/code&gt; 为 &lt;code&gt;ndt&lt;/code&gt;、&lt;code&gt;dash&lt;/code&gt;、&lt;code&gt;web_connectivity&lt;/code&gt;，返回的每笔都带 &lt;code&gt;probe_asn&lt;/code&gt;。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;30 天的 ASN 分布&lt;/strong&gt;（645,039、253,546、191,257、23,010 与三家移动运营商的细项）用 aggregation 端点，&lt;code&gt;probe_cc=TW&lt;/code&gt;、&lt;code&gt;test_name=web_connectivity&lt;/code&gt;、&lt;code&gt;axis_x=probe_asn&lt;/code&gt;、&lt;code&gt;since=2026-07-12&lt;/code&gt;、&lt;code&gt;until=2026-08-12&lt;/code&gt;。性能测项的 1,008、548、528、16、4 用同一组参数，&lt;code&gt;test_name&lt;/code&gt; 换成 &lt;code&gt;ndt&lt;/code&gt;。aggregation 的 &lt;code&gt;until&lt;/code&gt; 不含当日，所以 &lt;code&gt;until=2026-08-12&lt;/code&gt; 涵盖到 8 月 11 日。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;性能测项的 anomaly 为 0&lt;/strong&gt; 用 aggregation 端点，不带 &lt;code&gt;probe_cc&lt;/code&gt; 代表全球，&lt;code&gt;since=2026-05-13&lt;/code&gt;、&lt;code&gt;until=2026-08-12&lt;/code&gt;，&lt;code&gt;test_name&lt;/code&gt; 分别为 &lt;code&gt;ndt&lt;/code&gt; 与 &lt;code&gt;dash&lt;/code&gt;。同一组参数换成 &lt;code&gt;tor&lt;/code&gt; 与 &lt;code&gt;web_connectivity&lt;/code&gt; 可以看出对照，两者的 anomaly 分别是 13.95% 与 8.05%。&lt;/p&gt; &lt;p&gt;上列数字会随时间继续累积，之后重查会得到略高的值，分布的形状则稳定。&lt;/p&gt; &lt;h2 id=&#34;延伸之后如何用-OONI-佐证研究&#34;&gt;延伸：之后如何用 OONI 佐证研究&lt;a class=&#34;headerlink&#34; href=&#34;#延伸之后如何用-OONI-佐证研究&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;本次号召针对单一事件，方法本身可以重复使用。OONI 的数据有四个入口，用途各不相同：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://explorer.ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI Explorer&lt;/a&gt;&lt;/strong&gt;：网页界面，适合查单笔测量、看某个国家或 ASN 的趋势，无须写程序。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Aggregation API&lt;/strong&gt;：&lt;code&gt;https://api.ooni.org/api/v1/aggregation&lt;/code&gt;，免验证免密钥，可依国家、测项、ASN 切分做统计。本文的 30 天 ASN 分布与比率出自此端点。&lt;code&gt;since&lt;/code&gt; 与 &lt;code&gt;until&lt;/code&gt; 只接受日期，带上时间会回 &lt;code&gt;date_from_datetime_inexact&lt;/code&gt; 错误，所以它适合看天级以上的趋势。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Measurements API&lt;/strong&gt;：&lt;code&gt;https://api.ooni.org/api/v1/measurements&lt;/code&gt;，同样免验证，接受精确到秒的时间窗，返回逐笔记录。本文中部场 30 分钟的表格出自此端点。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;AWS S3 公开数据集&lt;/strong&gt;：&lt;code&gt;ooni-data-eu-fra&lt;/code&gt;，逐笔原始 JSON，适合需要检视测量细节或做大规模分析的研究。原始数据以整点批次上传，落地 S3 的延迟约在半小时到一两小时之间，取用方式与 CSV 输出格式写在 &lt;a href=&#34;../../../../community/asn-coverage-howto/&#34;&gt;ASN 观测数据提取与分析&lt;/a&gt;，社区维护的提取程序也在该页。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;以本次演练为例，30 分钟的时间窗要用 measurements 端点：&lt;code&gt;probe_cc=TW&lt;/code&gt;、&lt;code&gt;test_name=ndt&lt;/code&gt;（或 &lt;code&gt;dash&lt;/code&gt;）、&lt;code&gt;since=2026-08-13T06:00:00Z&lt;/code&gt;、&lt;code&gt;until=2026-08-13T08:00:00Z&lt;/code&gt;，返回的每一笔都带 &lt;code&gt;probe_asn&lt;/code&gt;，再自行归到 &lt;code&gt;24158&lt;/code&gt;、&lt;code&gt;17421&lt;/code&gt;、&lt;code&gt;9674&lt;/code&gt; 三组。所有时间一律使用 UTC，台湾时间需减 8 小时。要判断某个问题该用哪个测项，&lt;a href=&#34;../../../../community/ooni-nettests-map/&#34;&gt;OONI 测项速查表&lt;/a&gt;整理了每个测项测量什么、规格状态，以及台湾是否有数据。台湾的 ASN 覆盖现况见 &lt;a href=&#34;../../../../taiwan/ooni-asn-coverage/&#34;&gt;ASN 自治网络观测数据分析&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;最常见的误解是把异常（anomaly）当成封锁。OONI 的 &lt;code&gt;anomaly&lt;/code&gt; 只代表测试未照预期完成，成因包含审查、网络不稳、ISP 暂时故障，以及测试程序本身的问题，将 &lt;code&gt;anomaly&lt;/code&gt; 比率直接视为封锁率会产生假指控。以 &lt;code&gt;tor&lt;/code&gt; 测项的实测为例，取 2026-07-12 到 2026-08-12 这 30 天，加拿大 &lt;code&gt;16.3%&lt;/code&gt;（母数 14,042）、瑞士 &lt;code&gt;22.1%&lt;/code&gt;（母数 3,231）、新西兰 &lt;code&gt;20.1%&lt;/code&gt;（母数 562），皆为没有审查的国家。前一段 90 天的 &lt;code&gt;ndt&lt;/code&gt; 与 &lt;code&gt;dash&lt;/code&gt; 用的是另一个时间窗，复查三国的比率要换成 30 天的参数。中段数值属于噪声，只有比率极端高的少数国家与现实相符。&lt;/p&gt; &lt;p&gt;以上只适用于有做封锁判定的测项。性能测项的 &lt;code&gt;anomaly&lt;/code&gt; 目前在后端几乎没有实现，全球近 90 天的 &lt;code&gt;ndt&lt;/code&gt; 20 万笔与 &lt;code&gt;dash&lt;/code&gt; 19.8 万笔，&lt;code&gt;anomaly&lt;/code&gt; 都是 0。判断演练期间是否降速，要直接看吞吐量的数值，不能看 &lt;code&gt;anomaly&lt;/code&gt;。&lt;/p&gt; &lt;p&gt;授权方面，OONI 发布的测量数据采 CC BY-NC-SA 4.0，禁止商业使用，衍生内容需以相同授权释出。引用数据时要标注来源，将 OONI 数据与其他来源合并产生新的数据档，会让整份成品都受同一授权拘束。&lt;/p&gt; &lt;p&gt;演习细节以&lt;a href=&#34;https://www.ey.gov.tw/Page/9277F759E41CCD91/66c2bed1-6ca3-4c30-ba7c-4fa0f90e00ec&#34; target=&#34;_blank&#34;&gt;行政院公告&lt;/a&gt;与各电信运营商公告为准，时间如有调整依官方最新信息。&lt;/p&gt; &lt;hr /&gt; &lt;p&gt;&lt;strong&gt;数据来源&lt;/strong&gt;：OONI aggregation 与 measurements API（查询条件见上方的数据与前提，测量数据授权 &lt;a href=&#34;https://github.com/ooni/license/blob/master/data/LICENSE.md&#34; target=&#34;_blank&#34;&gt;CC BY-NC-SA 4.0&lt;/a&gt;）、ASN 名称取自 &lt;a href=&#34;https://stat.ripe.net/&#34; target=&#34;_blank&#34;&gt;RIPEstat&lt;/a&gt;、M-Lab 的数据处理方式取自 &lt;a href=&#34;https://www.measurementlab.net/privacy/&#34; target=&#34;_blank&#34;&gt;M-Lab 隐私政策&lt;/a&gt;。演习相关的官方与媒体来源见下方脚注。&lt;/p&gt; &lt;div class=&#34;footnote&#34;&gt; &lt;hr /&gt; &lt;ol&gt; &lt;li id=&#34;fn:1&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.ey.gov.tw/Page/9277F759E41CCD91/66c2bed1-6ca3-4c30-ba7c-4fa0f90e00ec&#34; target=&#34;_blank&#34;&gt;2026城镇韧性（防空）演习：行动网络降速演练&lt;/a&gt; - 行政院&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref3:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref4:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:2&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.cna.com.tw/news/ahel/202607220157.aspx&#34; target=&#34;_blank&#34;&gt;韧性演习行动网络降速 NCC吁预先为离线情境做准备&lt;/a&gt; - 中央社&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:2&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:3&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://adma.mnd.gov.tw/unit/100005/8182&#34; target=&#34;_blank&#34;&gt;2026城镇韧性（防空）演习期程规划表&lt;/a&gt; - 全民防卫动员署&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:3&#34; title=&#34;Jump back to footnote 3 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:4&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.taiwanmobile.com/csonline/service/ann/ann3_20260722_103509.html&#34; target=&#34;_blank&#34;&gt;配合政府115年城镇韧性防空演习，中区、北区行动通讯网络降速说明&lt;/a&gt; - 台湾大哥大&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:4&#34; title=&#34;Jump back to footnote 4 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:5&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.cht.com.tw/home/consumer/customer-service/announce/urban-resilience-exercise&#34; target=&#34;_blank&#34;&gt;2026城镇韧性(防空)演习行动网络降速演练&lt;/a&gt; - 中华电信&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:5&#34; title=&#34;Jump back to footnote 5 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:6&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.accessnow.org/campaign/keepiton/&#34; target=&#34;_blank&#34;&gt;#KeepItOn&lt;/a&gt; - Access Now&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:6&#34; title=&#34;Jump back to footnote 6 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:7&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://moda.gov.tw/major-policies/subseacable/fault/1749&#34; target=&#34;_blank&#34;&gt;海缆障碍状况&lt;/a&gt; - 数位发展部&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:7&#34; title=&#34;Jump back to footnote 7 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/08/ooni-mobile-throttle-drill/</link> <pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/08/ooni-mobile-throttle-drill/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/ooni-run-v2.webp" type="image/webp" length="21650" /> </item> <item> <title>撤回自己写过的话：近两周更正了哪些内容</title> <author>anoni.net 社区</author> <category>更新</category> <category>社区</category> <description>&lt;h1 id=&#34;撤回自己写过的话近两周更正了哪些内容&#34;&gt;撤回自己写过的话：近两周更正了哪些内容&lt;a class=&#34;headerlink&#34; href=&#34;#撤回自己写过的话近两周更正了哪些内容&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;&lt;img alt=&#34;近两周的内容更正&#34; src=&#34;../../../assets/images/post-update.png&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;近两周有几页的内容被改掉，改法多半是把先前写过的整段撤回。香港的入境查机风险由中升到高、日本境外 eSIM 的例外拿掉、推荐过的 2FA app 换了经营者、台湾封锁判定的分布从 40 笔抽样换成 22,105 笔全量重算。7/27 到 8/10 之间文档站并入 50 个 PR，相当比例花在这类更正上。以下按页介绍改了什么、依据在哪里，中段有一份清单，写给照着旧版做过准备的人。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;出差与研讨会那页撤回了三处叙述&#34;&gt;出差与研讨会那页，撤回了三处叙述&lt;a class=&#34;headerlink&#34; href=&#34;#出差与研讨会那页撤回了三处叙述&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../scenarios/asia-travel/&#34;&gt;出差与研讨会的数字准备&lt;/a&gt;在八月初做过一次全页查证，六个方向独立核对来源，结果撤回三处查不到实据的叙述。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;香港自 3/30 起的边境解锁权「不以国安嫌疑为前提」&lt;/strong&gt;。撤回的是「不以国安嫌疑为前提」这个范围描述。该说法只出现在旅游信息聚合网站，各家对生效日（3/28 或 3/30）与罚则（6 个月或 1 年）互相矛盾，政府宪报、律政司数据与第一线报导都查不到对应文本。3/23 的国安法修订（&lt;code&gt;Legal Notice 27 of 2026&lt;/code&gt;）本身查得到，涉国安调查时可要求交出密码，拒绝即构成刑事罪，只在香港机场转机并通关的旅客同样适用。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;日本境外购买的 eSIM 不受新规范&lt;/strong&gt;。森・滨田松本法律事务所对此点明确标注「文書に明記されていません」，文档原本把它写成一条可以依赖的建议。页面现在写的是境外供应商是否纳管留待后续省令厘清，出发前不要把「境外买的 eSIM 一定不受规范」当成确定前提。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;马来西亚 ONSA 首周处理 1,500 则以上贴文&lt;/strong&gt;。原始来源的 1,583 是 2025/1/1 至 11/30 的仇恨内容下架请求总数，时间早于 ONSA 生效。错的是数字，法本身仍在运作，页面保留《线上安全法》2026 年 1 月生效、规范对象为平台业者、实际影响落在内容被移除速度变快的叙述。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;同一次更新替换了南韩段落的来源。原本引用的 Cybernews 无署名、无引用，且该站与 VPN 联盟有利益冲突，改用 Lumen Database &lt;code&gt;#73101162&lt;/code&gt; 与韩国时报，过期的「20 万件」也更新为 2024 年审议 356,945 件。&lt;/p&gt; &lt;p&gt;香港的入境查机风险层级由中升到高，依据就是上面那条查得到的国安装置解密义务。撤回一条被夸大的叙述与调升风险层级同时发生，方向看似相反，实际指向同一件事：解密义务为真，被夸大的只是它的适用范围。&lt;/p&gt; &lt;h2 id=&#34;推荐过的-2FA-app-已经易主&#34;&gt;推荐过的 2FA app 已经易主&lt;a class=&#34;headerlink&#34; href=&#34;#推荐过的-2FA-app-已经易主&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../basics/multiple-identities/&#34;&gt;怎么维持多个网络身分&lt;/a&gt;原本推荐 Raivo 作为 Authy 的替代品，而 Raivo 在 2023 年 7 月被 Mobime 收购，收购方的隐私政策纳入广告追踪器与 log 收集。同一行还写着 Authy 桌面版停止维护因此需要更换，前后自相矛盾。现在的版本只保留 Aegis 与 2FAS，并以开源、可汇出备份、经营者未换手三个判断标准取代品牌清单。&lt;/p&gt; &lt;p&gt;同一页的「在现有 Gmail 开一个全新帐号（不绑手机）」实际上无法达成，改为说明主流免费信箱在注册阶段就要求手机验证，同装置同 IP 开的帐号也可能被服务商自行关联。虚拟门号那段原本只警告 WhatsApp 封锁，现在补上两个关键风险，付费刷卡会把两层身分重新接上，号码会被回收再配发给下一个人，对方之后能用短信重设你的帐号。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;../../../../basics/platform-tracking/&#34;&gt;社群平台怎么收集你的数据&lt;/a&gt;写「大规模研究没有找到偷录音的证据」，容易被读成已经证明没有，补上「没有找到证据跟证明不存在是两回事」，并加入 2024 年 Cox Media Group 的 Active Listening 推销简报事件（Google 随后将 Cox Media Group 移出广告合作伙伴计划，该公司否认实际聆听）。&lt;/p&gt; &lt;p&gt;另外两处是跨页之间的冲突，&lt;a href=&#34;../../../../scenarios/activist/&#34;&gt;社运行动者的数字准备&lt;/a&gt;的「预付卡购买时不要用实名身分证办」与出差页新增的十四地实名对照直接矛盾，而新章节还两次把读者导向出差页。&lt;a href=&#34;../../../../scenarios/journalist/&#34;&gt;记者保护消息来源&lt;/a&gt;把市话与短信的取舍写得像许可，补上案件随时可能升级到能调阅通联记录的层级，而通联记录的保存期限通常比案件周期长。&lt;/p&gt; &lt;p&gt;以上六项出自七月底到八月初新增的八页读者提问内容，上线后分别从结构、逐句、目标读者三个角度各审一次才查出来。&lt;/p&gt; &lt;h2 id=&#34;照着旧版做过准备要补的五件事&#34;&gt;照着旧版做过准备，要补的五件事&lt;a class=&#34;headerlink&#34; href=&#34;#照着旧版做过准备要补的五件事&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;上面两节有五项会改变读者已经做过的准备，逐条列出现况与该补的动作。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;香港行程&lt;/strong&gt;。入境查机由中风险升到高风险，涉国安调查时拒绝交出密码本身就是刑事罪。照中风险准备过的人，准备等级要拉到干净机这一层，行程只是经香港转机同样适用。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;日本的境外 eSIM&lt;/strong&gt;。「境外买的一定不受规范」这个前提要拿掉。纳管纯数据 SIM 与 eSIM 的法律已经公布，施行日由政令另订、最迟 2027 年 5 月，境外供应商是否纳入尚未明确。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;已经在用 Raivo&lt;/strong&gt;。建议转到 Aegis 或 2FAS。TOTP 没有办法直接搬，需逐一到各服务的两阶段验证设定里重新绑定。过程中先留着旧 app，直到新 app 能产生正确验证码为止，并确认备援码还在手上。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;预付卡&lt;/strong&gt;。实名这一层避不掉，台湾的预付卡同样要实名登记。能做的是不要登记在跟主门号同一个人名下，再据此决定那支门号拿来做什么。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;用虚拟门号注册过的帐号&lt;/strong&gt;。值得逐一检查那些帐号的短信复原设定，把已经停用的号码移除，改用 TOTP 或备援码。&lt;/li&gt; &lt;/ul&gt; &lt;h2 id=&#34;台湾的封锁判定改用全量数据重算&#34;&gt;台湾的封锁判定改用全量数据重算&lt;a class=&#34;headerlink&#34; href=&#34;#台湾的封锁判定改用全量数据重算&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../community/ooni-blocking-determination/&#34;&gt;OONI 怎么判定一个网站被封锁&lt;/a&gt;引用的是 OONI（全球网络审查的公开量测计划，各地志愿者执行测试、结果全部公开）的观测数据，原本写着抽查 40 笔异常测量，&lt;code&gt;dns&lt;/code&gt; 31 笔、&lt;code&gt;tcp_ip&lt;/code&gt; 6 笔、&lt;code&gt;http-failure&lt;/code&gt; 3 笔、&lt;code&gt;http-diff&lt;/code&gt; 0 笔，并据此说台湾没有出现重导向到封锁告示页的样态。改用 2026-08-05 往前 24 小时的全量数据（22,105 笔）重算之后，那份分布与支撑它的抽样方法都不成立：&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;判定&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;笔数&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;占比&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;21,029&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;95.13%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;none&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;512&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;2.32%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;tcp_ip&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;312&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;1.41%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;dns&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;150&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;0.68%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;http-failure&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;67&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;0.30%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;http-diff&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;35&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;0.16%&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;&lt;code&gt;tcp_ip&lt;/code&gt; 是 &lt;code&gt;dns&lt;/code&gt; 的两倍以上，&lt;code&gt;http-diff&lt;/code&gt; 也确实存在 35 笔，问题出在那 40 笔的来源：它取自 measurements API 的异常清单，该清单有自己的排序，当成随机样本使用会失准。页面上补了一则警示记录这次更正，因为同样的陷阱其他人也可能遇到。&lt;/p&gt; &lt;p&gt;被推翻的是分布数字与抽样方法，「台湾没有封锁告示页」这个结论本身反而站得住。那 35 笔 &lt;code&gt;http-diff&lt;/code&gt; 抽查了 4 小时内的 15 笔，&lt;code&gt;body_proportion&lt;/code&gt;（Probe 取到的内容与对照组相符的比例）全部落在 &lt;code&gt;0.004&lt;/code&gt; 到 &lt;code&gt;0.21&lt;/code&gt; 之间，内容远短于对照组（control），与告示页逼近 &lt;code&gt;1&lt;/code&gt; 的样态相反。成因需要逐笔查验证据层（evidence layer），文档因此只陈述观察到的样态，不下结论。&lt;/p&gt; &lt;p&gt;能重算的原因是栏位统计终于补上。&lt;a href=&#34;../../../../community/ooni-data-format/&#34;&gt;OONI 测量数据结构导览&lt;/a&gt;上线时就写着，最小的一步是在逐行解析时多取 &lt;code&gt;test_keys.blocking&lt;/code&gt;，统计就能从测量笔数延伸到各 ASN（自治系统编号，网络上一个业者或组织所管的一群 IP）的异常分布。程序一直没有做，是文档与程序之间唯一一处只写在纸上的规划，八月初补上之后，新数据一产出就推翻了上面那段叙述。&lt;/p&gt; &lt;h2 id=&#34;互动作品总览页的七处更正&#34;&gt;互动作品总览页的七处更正&lt;a class=&#34;headerlink&#34; href=&#34;#互动作品总览页的七处更正&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../games/&#34;&gt;互动与呈现&lt;/a&gt;区的总览页上线隔天就查核出七处问题，四处是事实错误，三处是写得过度绝对。&lt;/p&gt; &lt;p&gt;四处事实错误里有两处是文档与自身叙述矛盾。文中写地球仪画面上有流星，原始码里的 &lt;code&gt;buildSky()&lt;/code&gt; 只画静态星空与银河带，搜索 &lt;code&gt;meteor&lt;/code&gt;、&lt;code&gt;流星&lt;/code&gt;、&lt;code&gt;comet&lt;/code&gt; 都没有命中，带亮头的彗星属于另一件作品 onion-rendezvous，文档把两件混在一起写。另一处把「两条电路在中途某台中继相遇」当成 Tor 通则，该叙述只适用于连线 .onion 服务，而同一页的作品卡片写的是正确版本。&lt;/p&gt; &lt;p&gt;其余两处是文档与数据不一致，「每份数据档都带有四个栏位」的说法在 &lt;code&gt;cables.json&lt;/code&gt; 上就不成立，该档没有 &lt;code&gt;sourceUrl&lt;/code&gt; 与 &lt;code&gt;licenseUrl&lt;/code&gt;，处理方式是把数据补齐，一并修改 &lt;code&gt;tools/gen_cables.py&lt;/code&gt;，而非把文档说法改弱。另一处「&lt;code&gt;tools/&lt;/code&gt; 只使用 Python 标准库加上 curl」遗漏了 &lt;code&gt;fix_trunk_land.mjs&lt;/code&gt; 是 Node、&lt;code&gt;publish_games_data.sh&lt;/code&gt; 是 shell。&lt;/p&gt; &lt;p&gt;写得过度绝对的地方有三处：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;「任何一步错位，匿名性就不成立」&lt;/strong&gt;。匿名性会因为流量关联、出口监控这类与顺序无关的因素被打破，而 Tor 的顺序错乱通常只导致连线失败。原句把匿名性的失效条件窄化成顺序一项，已改为保守叙述。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;ASN「由一家业者掌管」&lt;/strong&gt;。该说法与同一个项目产生快照的脚本注释互相矛盾，注释写明 ASN 可能由个人申请。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;「八十个国家」&lt;/strong&gt;。直接写入精确整数，快照重新产生就会过时，改为约八十个并标明数字取自最近一次快照。&lt;/li&gt; &lt;/ul&gt; &lt;h2 id=&#34;英文读者点进来多半没读到文章&#34;&gt;英文读者点进来，多半没读到文章&lt;a class=&#34;headerlink&#34; href=&#34;#英文读者点进来多半没读到文章&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Cloudflare 近 90 天的数据（排除子网域与 bot）显示英文版占文档站流量 25.9%，440 次浏览里只有 70 次（16%）落在真正的文章，290 次落在分类目录页，80 次是 404。&lt;/p&gt; &lt;p&gt;追查后有三个成因，两个出在转址设定，一个出在更早的导览重构。转址设定里有四条规则，来源路径就是现存的英文页，建站工具遇到这种情形会在该网址产生一页只有转址动作的空壳（redirect stub），把真正的文章盖掉，线上实测那四页全部只剩转址画面。另有三条转址在英文内容存在的情况下指向目录页。最后是 2026-05-09 的导览重构，该次 commit 从 &lt;code&gt;docs/en/&lt;/code&gt; 删除 17 个文件、新增 0 个，约 11.5 万字元，设定档注释写明「dropped pages redirect to the nearest live section index」。&lt;/p&gt; &lt;p&gt;依实测流量还原了五篇，落在真正文章的比例由 16% 提升到 64%。被空壳盖掉的四页只占问题的一小块，目录页与 404 才是大宗，剩下 12 篇被删的英文内容与 18% 的 404 尚未处理。&lt;/p&gt; &lt;h2 id=&#34;写作规范多了六条自动检查&#34;&gt;写作规范多了六条自动检查&lt;a class=&#34;headerlink&#34; href=&#34;#写作规范多了六条自动检查&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;前面几节的错误有一个共同的上游，规范写了但没有工具挡着，内容就会持续偏离，直到有人读到为止。&lt;a href=&#34;../../../../community/contributor-handbook/&#34;&gt;贡献者百科&lt;/a&gt;写着口语词改书面语，而 &lt;code&gt;docs_style_lint.py&lt;/code&gt; 只针对其中一个字实现了规则。全站扫描出 605 处那个字以外的口语词，网站自己的工具对现况回报 &lt;code&gt;0 error&lt;/code&gt;、&lt;code&gt;0 warn&lt;/code&gt;。&lt;/p&gt; &lt;p&gt;七月底那次清扫连同原本就挡得到的那个字，总共处理 669 处、158 个文件，同时补上六条 linter 规则，全部列为 &lt;code&gt;warn&lt;/code&gt;，因为替换词取决于语境，不该让机器直接替换。清扫过程中机械替换造成两处实质损害，都已修复并补进例外清单：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;「主讲」被换成「主提到」，破坏了议程页两个语系共 20 处介绍。原因是排除清单只挡后面的字，没挡前面的「主」。&lt;/li&gt; &lt;li&gt;「没搞清楚」被换成「没处理清楚」，理解与处理属于两回事。&lt;!-- docs-style-lint: disable-line --&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;同一周另一支 PR 收尾时发现，比对规则只涵盖繁体字，简体对应字完全没有被检查，zh-CN 等于没有这条规则。扫过全站之后待处理的项目比预期少，需要检视的只有 3 处，查证之后都是正当用法。真正的收获是补上了首套回归测试，因为 linter 是全站写作规范唯一的自动检查点，却没有任何测试。覆盖不全的问题人工抽样无法察觉，抽到的样本恰好都在覆盖范围内。&lt;/p&gt; &lt;p&gt;更早一次的全站清理已经逐段改写过 99 个文件里的 266 段「这」字堆叠。八月初再补上密度标准，起因是校稿时实际使用的判准只留在 commit 消息里，下次写新页不会生效，于是把判准写进贡献者百科，并把可机器判断的部分实现成 &lt;code&gt;zhe-repeat&lt;/code&gt; 规则。距离门槛 8 个字是对全站 429 篇校准而得，放宽到 10 会开始收进正当用法，全文密度需要语意判断，刻意留给人工。&lt;/p&gt; &lt;h2 id=&#34;两页的叙述已经对不上现况&#34;&gt;两页的叙述已经对不上现况&lt;a class=&#34;headerlink&#34; href=&#34;#两页的叙述已经对不上现况&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../community/privacy-guide/&#34;&gt;个人隐私指引&lt;/a&gt;在 8/6 补上「相关文章」索引时，下方的进度段落没有跟着改，同一页出现两种说法。上面列了概念层八篇，下面写着「概念层五篇上线」并只列原本那五篇。各层索引也累积落后了一段时间，工具层实际 18 篇只列 7 篇、场景层 10 篇只列 5 篇、进阶层 5 篇只列 2 篇，这次补进 14 篇。&lt;/p&gt; &lt;p&gt;同一页的「常见误区整理」列了四项，读起来像整条还没动工。实际盘点后有两项早已写完，只是没被连到，「VPN ≠ 匿名」在 &lt;a href=&#34;../../../../tools/vpn-guide/&#34;&gt;VPN 指南&lt;/a&gt;有整篇，「去中心化 ≠ 匿名」在&lt;a href=&#34;../../../../advanced/mistaken-for-anonymity/&#34;&gt;被误认为匿名的技术&lt;/a&gt;完整涵盖 IPFS、Yggdrasil、DN42 与 I2P。另外两项确实还没动工，改后分别标明现况。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;../../../../community/pin-ipfs-mirror/&#34;&gt;帮忙 pin 文档站的 IPFS 镜像&lt;/a&gt;有三处对不上现况，其中两处是读者实际操作后才发现的。&lt;/p&gt; &lt;p&gt;macOS 那段写着 &lt;code&gt;brew install ipfs&lt;/code&gt;，Homebrew 的 formula 已经改名为 &lt;code&gt;kubo&lt;/code&gt;。旧名仍然装得起来，可是 &lt;code&gt;brew services&lt;/code&gt; 认的是实际名字，依旧文安装之后再设定常驻服务就会对不上。常驻做法原本只写「可以用 &lt;code&gt;brew services&lt;/code&gt; 或 launchd」，没有给指令，实际上 formula 本身已定义 service，一行 &lt;code&gt;brew services start kubo&lt;/code&gt; 就会常驻并在登录时自动启动。&lt;/p&gt; &lt;p&gt;第二处是有伙伴想把社群节点设成固定节点，把页面上的 IPNS 名称填进 kubo 的 &lt;code&gt;Peering.Peers&lt;/code&gt;，工具直接报错。原因是页面只解释了 CID 与 IPNS 名称，没有提到节点自己的 Peer ID。三串标识符长相接近，节点 Peer ID 的 base36 形式与文档站 IPNS 名称前 12 个字符完全相同，两者都是公钥指纹、同一套编码，差别在一个指向会更新的内容，一个指向一台机器。页面补上三者的对照表，以及一节选用的 peering 设定。&lt;/p&gt; &lt;p&gt;第三处是导言写着「目前只有社群自己的节点在 pin」。查 DHT 时发现另有一个第三方节点也在提供文档站内容，可能是别人自架的镜像，也可能是公开 gateway 取得之后 announce，无论哪一种，原本那句都已经不成立，改为「目前提供文档站内容的节点很少，社群自己那台是主力」。没有写出确切数字，因为 &lt;code&gt;findprovs&lt;/code&gt; 是尽力而为的查询，返回的是超时前找得到的节点，不保证穷举，写出「只有 N 个」会是另一种不准确。&lt;/p&gt; &lt;h2 id=&#34;窄屏幕的白边查到了语言切换菜单&#34;&gt;窄屏幕的白边查到了语言切换菜单&lt;a class=&#34;headerlink&#34; href=&#34;#窄屏幕的白边查到了语言切换菜单&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;读者回报置顶公告右边会出现一段空白。实际测量后，公告不是原因，把公告整个隐藏，&lt;code&gt;documentElement.scrollWidth&lt;/code&gt; 仍然比窗口宽 14px。逐一隐藏候选元素后定位到 header 的语言切换菜单，三个语言标签的中文字面让收合状态的菜单有 177px 宽，窄屏幕时按钮贴近窗口右边缘，菜单就把版面往右顶出去。置顶公告的黑底与 header 的蓝底都只有窗口宽，往右滑就露出白边。断点正好落在 960px，也就是 header 换成桌面排版的那一刻。改法是在该断点以下让菜单靠按钮右边缘展开，桌面维持居中。同一次也提高了置顶公告链接在浅色主题的对比，原本只有 &lt;code&gt;2.79:1&lt;/code&gt;，几乎融进黑底。&lt;/p&gt; &lt;p&gt;另外两个 GitHub Action 还停在 Node 20 runtime，runner 每次执行都会输出 deprecation 警告。&lt;code&gt;actions/cache&lt;/code&gt; 由 v4 升到 v6、&lt;code&gt;actions/setup-node&lt;/code&gt; 由 v4 升到 v7，升级前逐版读过 release notes，确认两者的破坏性变更都打不到本项目的用法。&lt;/p&gt; &lt;h2 id=&#34;两位社群伙伴的贡献&#34;&gt;两位社群伙伴的贡献&lt;a class=&#34;headerlink&#34; href=&#34;#两位社群伙伴的贡献&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;近两周的 50 个 PR 里有两个来自社群伙伴。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://github.com/wu858430049&#34; target=&#34;_blank&#34;&gt;wu858430049&lt;/a&gt; 补上了 &lt;a href=&#34;../../../../community/become-anoni/&#34;&gt;BECOME_ANONI&lt;/a&gt; 协议的简中版，正本放在 repo 根目录，位置比照 zh-TW，文档页用 snippets 嵌入以维持单一来源，同一个 PR 一并修正两个会让页面无法显示的设定问题。翻译是站上长期缺人的一条路线，简中与英文都还有大量页面没有对应版本。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://github.com/ChihChengLiang&#34; target=&#34;_blank&#34;&gt;ChihChengLiang&lt;/a&gt; 更新了 &lt;a href=&#34;../../../../activity/coscup-2026/&#34;&gt;COSCUP 2026&lt;/a&gt; 隐私支付实现工作坊的介绍。原本写着不需自备电脑，在旁观看即可，有意参与实现的人依此准备会不足。实际上现场已备妥模拟网络与模拟链，鼓励参加者携带电脑实际操作。这一项不需要碰任何程序，需要的是知道现场实况并愿意把那段文字改掉。&lt;/p&gt; &lt;p&gt;两个 PR 都移除了会让读者做出错误判断的内容。最低的一步是开一个 issue，指出哪一句不对并附上你查到的来源。想直接修改内容，&lt;a href=&#34;../../../../community/how-to-contribute/&#34;&gt;如何参与与认领主题&lt;/a&gt;说明怎么选题与认领，贡献者百科的「第一周的入门路径」则依写作、翻译、技术维运、活动筹备分成四条线。&lt;/p&gt; &lt;h2 id=&#34;你没有办法自己验证的那部分&#34;&gt;你没有办法自己验证的那部分&lt;a class=&#34;headerlink&#34; href=&#34;#你没有办法自己验证的那部分&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;网站的主题是隐私与安全，读者依照文档的建议调整自己的行为，一句错的叙述成本落在读者身上。更难处理的是读者没有办法自己验证，抽样得到的分布写成通则，读起来跟全量算出来的一模一样，读者无从分辨那是 40 笔还是 22,105 笔。更正的过程与依据因此一并写出来，包含被撤回叙述的原文与不予采信的理由。&lt;/p&gt; &lt;p&gt;同一段时间新增的内容包括&lt;a href=&#34;../../../../games/&#34;&gt;互动与呈现&lt;/a&gt;区的台湾基础设施图层、四篇 &lt;a href=&#34;../../../../community/ooni-data-format/&#34;&gt;OONI 技术文档&lt;/a&gt;，以及纳入 CI 的 .onion 版建置。若读到与事实不符的内容，欢迎到 &lt;a href=&#34;https://github.com/anoni-net/docs/issues&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt; 开一个 issue 或直接送 PR，我们会查证后更新。&lt;/p&gt; &lt;h2 id=&#34;相关阅读&#34;&gt;相关阅读&lt;a class=&#34;headerlink&#34; href=&#34;#相关阅读&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../community/ooni-blocking-determination/&#34;&gt;OONI 怎么判定一个网站被封锁&lt;/a&gt;：被全量数据推翻的那一页，警示区记着这次更正&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../community/ooni-data-format/&#34;&gt;OONI 测量数据结构导览&lt;/a&gt;：栏位统计补完之后的版本&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../scenarios/asia-travel/&#34;&gt;出差与研讨会的数字准备&lt;/a&gt;：三处撤回与香港风险升等后的现况&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../basics/multiple-identities/&#34;&gt;怎么维持多个网络身分&lt;/a&gt;：TOTP app 的判断标准已改为看条件不看品牌&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../community/pin-ipfs-mirror/&#34;&gt;帮忙 pin 文档站的 IPFS 镜像&lt;/a&gt;：三串标识符的对照表与新增的 peering 设定&lt;/li&gt; &lt;/ul&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/08/docs-corrections-202608/</link> <pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/08/docs-corrections-202608/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/post-update.png" type="image/png" length="81353" /> </item> <item> <title>Snowflake Volunteer：Tor Project 推出手机志愿者桥接 App</title> <author>anoni.net 社区</author> <category>Tor</category> <category>更新</category> <category>翻译文章</category> <description>&lt;h1 id=&#34;Snowflake-VolunteerTor-Project-推出手机志愿者桥接-App&#34;&gt;Snowflake Volunteer：Tor Project 推出手机志愿者桥接 App&lt;a class=&#34;headerlink&#34; href=&#34;#Snowflake-VolunteerTor-Project-推出手机志愿者桥接-App&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p&gt;以下内容改写自 Tor Project 官方博客文章，主语角色为 Tor Project 与文章作者 Pavel：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;https://blog.torproject.org/snowflake-volunteer-standalone-app-to-help-people-bypass-censorship/&#34; target=&#34;_blank&#34;&gt;Snowflake Volunteer, an Android app to help people bypass censorship | August 3, 2026&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;figure&gt; &lt;a href=&#34;https://forum.torproject.org/uploads/default/original/2X/c/c9143874b416a1c6e0d676145c11846ad63bad39.jpeg&#34; target=&#34;_blank&#34;&gt; &lt;img src=&#34;https://forum.torproject.org/uploads/default/original/2X/c/c9143874b416a1c6e0d676145c11846ad63bad39.jpeg&#34; alt=&#34;Snowflake Volunteer 官方宣传图，画面中多支手机显示 App 的启用开关、设置选项与统计画面&#34; style=&#34;border-radius: 10px;&#34;&gt; &lt;/a&gt; &lt;figcaption&gt;图片来源：&lt;a target=&#34;_blank&#34; href=&#34;https://blog.torproject.org/snowflake-volunteer-standalone-app-to-help-people-bypass-censorship/&#34;&gt;Tor Project Blog&lt;/a&gt;。&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;我们在&lt;a href=&#34;../../05/iran-blackout-webtunnel/&#34;&gt;伊朗封网后的那篇&lt;/a&gt;提过，&lt;a href=&#34;../../../../tools/tor-snowflake/&#34;&gt;Snowflake&lt;/a&gt; 是帮人连上 Tor 门槛最低的方式：开一个浏览器标签页放着不动，就是在帮忙转发流量。2026 年 8 月 3 日，Tor Project 发文介绍 4 月已经上架的 Snowflake Volunteer，把「贡献志愿者桥接」做成一支独立的 Android App，门槛又降了一阶。过去要贡献 Snowflake 桥接，需通过浏览器扩展、网站内嵌 widget、桌面版命令行工具，或 Android 上的 &lt;a href=&#34;https://orbot.app/en/kindness/&#34; target=&#34;_blank&#34;&gt;Orbot Kindness Mode&lt;/a&gt;。新 App 只做这一件事，界面与设置都只为此设计。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;为什么需要一支独立的-App&#34;&gt;为什么需要一支独立的 App&lt;a class=&#34;headerlink&#34; href=&#34;#为什么需要一支独立的-App&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Snowflake 的运作原理，是把用户的流量伪装成视频通话，再通过志愿者提供的临时连接转发，让审查者更难检测与封锁。机制要运作得好，需要大量稳定在线的志愿者桥接。2026 年上半年，Snowflake 的媒合服务器（broker）平均每天约有 146,000 个不重复志愿者桥接 IP 地址回报&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;，其中约三分之一来自 Orbot 的 Kindness Mode，它会显示自己的设备协助过多少条连接，让贡献变得具体可见。&lt;/p&gt; &lt;p&gt;葡萄牙的 Android App 工作室 &lt;a href=&#34;https://www.bloco.io/&#34; target=&#34;_blank&#34;&gt;Bloco&lt;/a&gt; 先前参与 &lt;a href=&#34;https://ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI&lt;/a&gt;（Open Observatory of Network Interference，网络干扰开放观测，拥有全球最大的网络审查开放数据集）的合作，看到 NGO 与行动者高度依赖反审查工具维持安全与连接。他们发现贡献 Snowflake 桥接的门槛不高，想以自身专业回馈这个开源项目，注意到 Kindness Mode 贡献的比重后，好奇一支「只做志愿者桥接」的独立 App 能不能吸引更多人参与，于是主动接洽 Tor 的反审查团队。对方本来就有类似计划，只是尚无余力着手，这个任务便交给了 Bloco。&lt;/p&gt; &lt;h2 id=&#34;App-的功能&#34;&gt;App 的功能&lt;a class=&#34;headerlink&#34; href=&#34;#App-的功能&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Bloco 站在 &lt;a href=&#34;https://guardianproject.info&#34; target=&#34;_blank&#34;&gt;Guardian Project&lt;/a&gt; 既有的移动端 Tor 生态基础上开发，特别是函数库 &lt;a href=&#34;https://github.com/tladesignz/IPtProxy&#34; target=&#34;_blank&#34;&gt;IPtProxy&lt;/a&gt;，它把移动 App 串接 Tor 所需的工具与 pluggable transport（可插拔传输，让流量伪装成其他外观以规避审查的技术模块）打包在一起。有了这些现成元件，Bloco 可以把心力放在后台稳定运作与省电、让用户看得懂并能照自己的网络状况正确设置，以及用统计数字持续呈现志愿者协助了多少连接。&lt;/p&gt; &lt;p&gt;成果是 Snowflake Volunteer：用户可以设置让它在后台执行、只在 Wi-Fi 等非计量网络下运作、只在充电时运作，也可以设置同时协助的连接数上限。启用后，App 会自动与需要 Snowflake 桥接的用户配对，协助把对方的连接导向 Tor 网络，过程中双方互不知道彼此身份。&lt;/p&gt; &lt;p&gt;浏览器标签页版本的 Snowflake 在手机上有已知限制：标签页进入后台后，Android 系统经常会直接中断 WebRTC 连接，长时间贡献一直都建议改用台式机或笔电。Snowflake Volunteer 是独立 App，用的是 Android 允许持续执行的后台服务，不受标签页被系统回收的限制，正是手机能长期贡献的关键差异。&lt;/p&gt; &lt;figure&gt; &lt;a href=&#34;https://blog.torproject.org/snowflake-volunteer-standalone-app-to-help-people-bypass-censorship/features-overview.png&#34; target=&#34;_blank&#34;&gt; &lt;img src=&#34;https://blog.torproject.org/snowflake-volunteer-standalone-app-to-help-people-bypass-censorship/features-overview.png&#34; alt=&#34;Snowflake Volunteer App 三个画面的截图：启用中的主画面显示帮助人数与流量统计、设置页可调整后台运行与限制 Wi-Fi 或充电时运行、统计页列出逐日的连接数与流量&#34; style=&#34;border-radius: 10px;&#34;&gt; &lt;/a&gt; &lt;figcaption&gt;App 的主画面、设置页与统计页截图。图片来源：&lt;a target=&#34;_blank&#34; href=&#34;https://blog.torproject.org/snowflake-volunteer-standalone-app-to-help-people-bypass-censorship/&#34;&gt;Tor Project Blog&lt;/a&gt;。&lt;/figcaption&gt; &lt;/figure&gt; &lt;h2 id=&#34;上线后的成效&#34;&gt;上线后的成效&lt;a class=&#34;headerlink&#34; href=&#34;#上线后的成效&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Snowflake Volunteer 经过一段社群测试与意见反馈后，于 4 月正式在 &lt;a href=&#34;https://f-droid.org/en/packages/io.bloco.snowflake/&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt; 与 &lt;a href=&#34;https://play.google.com/store/apps/details?id=io.bloco.snowflake&#34; target=&#34;_blank&#34;&gt;Google Play&lt;/a&gt; 上架。5 月平均每天约 1,300 个不重复志愿者桥接 IP，6 月成长到约 1,700 个，单月成长 29%，单日峰值曾超过 2,100 个桥接。相对于整体约 146,000 个桥接的规模，这批新增志愿者还只是一小块，但原本并不在池子里，多半是过去被浏览器标签页版本挡在门外的手机用户。&lt;/p&gt; &lt;p&gt;App 目前支持 8 种语言（英文、法文、德文、日文、葡萄牙文、土耳其文、越南文，以及简体中文），这些语言版本来自社群本地化志愿者的贡献。想协助支持更多语言，可以到 &lt;a href=&#34;https://hosted.weblate.org/projects/snowflake-volunteers/&#34; target=&#34;_blank&#34;&gt;Weblate 项目页&lt;/a&gt;，或先读 &lt;a href=&#34;https://community.torproject.org/localization/&#34; target=&#34;_blank&#34;&gt;Tor 的本地化流程说明&lt;/a&gt;。&lt;/p&gt; &lt;h2 id=&#34;什么情况下适合用这支-App&#34;&gt;什么情况下适合用这支 App&lt;a class=&#34;headerlink&#34; href=&#34;#什么情况下适合用这支-App&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../tools/tor-snowflake/&#34;&gt;Tor Snowflake 桥接点&lt;/a&gt; 页面已经说明过用浏览器贡献 Snowflake 桥接的风险，这支 App 改变的只是安装方式，判断原则不变。安装它，表示设备会替审查地区的用户转发 Tor 流量，实际运作上有几件事值得先知道：对外网站看到的是 Tor 出口节点，不是你的 IP，你自己也看不到流量内容，因为流量在转发前已经被 Tor 加密。默认设置下对日常网络使用几乎无感，勾选只在 Wi-Fi、只在充电时运作，就不会动用移动网络的流量或电量。在公司或校园网络上执行，等于把那个网络的 IP 用来转发第三方流量，信息政策严格的环境建议先问过信息部门。&lt;/p&gt; &lt;p&gt;如果你人在中国大陆，自身的网络本就受防火长城管控，能否稳定连上 Snowflake broker 完成注册是实际问题，让设备长期做这件事，风险与收益是否成比例，值得先想清楚。这支 App 更适合外部连接本身不受严格审查、又想帮上忙的华语读者：例如住在海外，或人在网络管制相对宽松地区的人。已经在用 Orbot Kindness Mode 的人不必重复安装，可以继续用它，Snowflake Volunteer 的差别在于只做桥接一件事，能单独设置只在 Wi-Fi、只在充电时运作，不必连着整个 Orbot 一起开。&lt;/p&gt; &lt;p&gt;如果你在香港，参与前请先读 &lt;a href=&#34;../../../../tools/tor-snowflake/&#34;&gt;Tor Snowflake 桥接点&lt;/a&gt; 页里的风险提醒，把国安监控风险一并评估。&lt;/p&gt; &lt;h2 id=&#34;如何安装&#34;&gt;如何安装&lt;a class=&#34;headerlink&#34; href=&#34;#如何安装&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Snowflake Volunteer 可以从 &lt;a href=&#34;https://f-droid.org/en/packages/io.bloco.snowflake/&#34; target=&#34;_blank&#34;&gt;F-Droid&lt;/a&gt;、&lt;a href=&#34;https://play.google.com/store/apps/details?id=io.bloco.snowflake&#34; target=&#34;_blank&#34;&gt;Google Play&lt;/a&gt; 下载，一般用户用 Google Play 即可，偏好开源商店的人可以用 F-Droid。源代码开源在 &lt;a href=&#34;https://github.com/blocoio/snowflake&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;，可以自行编译，遇到问题也可以直接&lt;a href=&#34;https://github.com/blocoio/snowflake/issues/new&#34; target=&#34;_blank&#34;&gt;开 issue&lt;/a&gt;。iOS 目前没有对应的 App，iPhone 用户可以改用&lt;a href=&#34;../../../../tools/tor-snowflake/&#34;&gt;浏览器版桥接点&lt;/a&gt;。&lt;/p&gt; &lt;h2 id=&#34;相关阅读&#34;&gt;相关阅读&lt;a class=&#34;headerlink&#34; href=&#34;#相关阅读&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/tor-snowflake/&#34;&gt;Tor Snowflake 桥接点&lt;/a&gt;：浏览器版桥接点如何开，以及需要留意的风险&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../05/iran-blackout-webtunnel/&#34;&gt;伊朗封网 80 多天后重新开放，流量涌进社群架设的 Tor WebTunnel&lt;/a&gt;：桥接点在真实审查情境下的作用&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../community/setup-tor-relay/&#34;&gt;如何搭建 Tor Relay&lt;/a&gt;：想投入更多心力的下一步&lt;/li&gt; &lt;/ul&gt; &lt;div class=&#34;footnote&#34;&gt; &lt;hr /&gt; &lt;ol&gt; &lt;li id=&#34;fn:1&#34;&gt; &lt;p&gt;统计依据 2026 年 1 月 1 日至 6 月 30 日、共 180 份 Snowflake broker 每日报告，数据来自 Tor Metrics 的 &lt;a href=&#34;https://metrics.torproject.org/collector/archive/snowflakes/&#34; target=&#34;_blank&#34;&gt;CollecTor 存档&lt;/a&gt; 汇整的 snowflake-stats descriptor。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/08/snowflake-volunteer-android-app/</link> <pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/08/snowflake-volunteer-android-app/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/tor.webp" type="image/webp" length="13344" /> </item> <item> <title>把匿名网络画成一颗地球：互动区上线，以及我们在开放数据上撞到的墙</title> <author>anoni.net 社区</author> <category>Tor</category> <category>技术</category> <category>更新</category> <description>&lt;h1 id=&#34;把匿名网络画成一颗地球互动区上线以及我们在开放数据上撞到的墙&#34;&gt;把匿名网络画成一颗地球：互动区上线，以及我们在开放数据上撞到的墙&lt;a class=&#34;headerlink&#34; href=&#34;#把匿名网络画成一颗地球互动区上线以及我们在开放数据上撞到的墙&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;&lt;img alt=&#34;Tor 中继地球仪&#34; src=&#34;https://assets.anoni.net/games/tor-network-zh-cn.png&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;文档站新增了&lt;a href=&#34;../../../../games/&#34;&gt;互动与呈现&lt;/a&gt;区，目前放了三件作品，都以 Tor 为题。其中数据量最大的是 &lt;a href=&#34;../../../../../games/tor-network/play/index.html?lang=zh-cn&#34;&gt;Tor 中继地球仪&lt;/a&gt;，把全球近万台运作中的中继标到球面上，超过六成集中在美国、德国、荷兰三个国家。&lt;/p&gt; &lt;p&gt;做这颗地球仪的过程中，我们查了二十几份公开数据，最后能用的只有六份。卡住的原因几乎都跟技术无关。API 大多打得通，数据格式也干净，挡下来的是条款不给我们把它再发出去。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;为什么要做成画面&#34;&gt;为什么要做成画面&lt;a class=&#34;headerlink&#34; href=&#34;#为什么要做成画面&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;匿名网络的基础建设很难用文字描述清楚，难在两件事上：顺序，还有规模。&lt;/p&gt; &lt;p&gt;顺序的部分，Tor 是最好的例子。数据包在三个中继之间依序前进，每经过一跳剥除一层加密，到出口才还原成原本的请求。哪一层在哪一跳剥掉、每一站看得到什么，都由这个顺序决定。文字写得再仔细，读者脑中仍然要自行补上动起来的那一段，而每个人补出来的版本未必相同。&lt;/p&gt; &lt;p&gt;规模则更难传达。「近万台中继，高度集中在少数国家」是一句读过即忘的叙述。把每一台实际标记到地球上，北美与西欧连成一片光带，其余地区仅零星数点。同一份数字换成画面，读者不必信任我们的形容词，可以自己看。&lt;/p&gt; &lt;h2 id=&#34;地球仪用到的六份数据&#34;&gt;地球仪用到的六份数据&lt;a class=&#34;headerlink&#34; href=&#34;#地球仪用到的六份数据&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;最后进到画面上的有这几份：&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;数据&lt;/th&gt; &lt;th&gt;来源&lt;/th&gt; &lt;th&gt;许可&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;中继分布&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;https://metrics.torproject.org/onionoo.html&#34;&gt;Onionoo&lt;/a&gt;&lt;/td&gt; &lt;td&gt;CC0 1.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;用户与网桥人数&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;https://metrics.torproject.org/&#34;&gt;Tor Metrics&lt;/a&gt;&lt;/td&gt; &lt;td&gt;CC0 1.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;连线受阻的观测&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;https://ooni.org/&#34;&gt;OONI&lt;/a&gt;&lt;/td&gt; &lt;td&gt;CC BY-NC-SA 4.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;断网事件&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;https://www.accessnow.org/keepiton-data-dashboard/&#34;&gt;Access Now KeepItOn&lt;/a&gt;&lt;/td&gt; &lt;td&gt;CC BY 4.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;海底电缆&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;https://www.openstreetmap.org/copyright&#34;&gt;OpenStreetMap&lt;/a&gt; 贡献者&lt;/td&gt; &lt;td&gt;ODbL 1.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;国界与海岸线&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;https://www.naturalearthdata.com/&#34;&gt;Natural Earth&lt;/a&gt;&lt;/td&gt; &lt;td&gt;public domain&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Onionoo 的中继快照经过蒸馏，只保留国家层级的聚合，内容不含 fingerprint、nickname、IP 或联络信息。ASN 的登记名称另外过滤过，因为个人申请的 AS 在 RIR 上登记的就是持有人本名。对于在审查严格的地区运营中继的人来说，那等于把「这台中继是谁的」跟身份证上的名字绑在一起公开。&lt;/p&gt; &lt;p&gt;陆地亮度可以切换四种指标。中继台数最直观。共识权重（consensus weight）反映该国实际承担的流量比重，与台数常有明显落差。单一服务商集中度是最大一家托管商占该国的比例，数字愈高代表该国的匿名流量愈依赖同一个机房的存续与配合。用户估计则是需求端的数字，跟前三个供给端指标并列时，落差本身就是信息。&lt;/p&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;后记：2026-07-31 又补了三份&lt;/p&gt; &lt;p&gt;这篇发表之后地球仪又加了三份数据，过的是同一道许可关卡。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;数据&lt;/th&gt; &lt;th&gt;来源&lt;/th&gt; &lt;th&gt;许可&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;上网人口比例&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;https://data.worldbank.org/indicator/IT.NET.USER.ZS&#34;&gt;World Bank&lt;/a&gt;&lt;/td&gt; &lt;td&gt;CC BY 4.0&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;台湾的上网人口比例&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;https://moda.gov.tw/digital-affairs/digital-service/operations/208&#34;&gt;数位发展部 国家数位近用调查&lt;/a&gt;&lt;/td&gt; &lt;td&gt;政府数据开放授权条款-第1版&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;海底地形&lt;/td&gt; &lt;td&gt;&lt;a href=&#34;https://www.naturalearthdata.com/&#34;&gt;Natural Earth&lt;/a&gt;&lt;/td&gt; &lt;td&gt;public domain&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;上网人口比例是拿来当分母的。画面原本只呈现一个数字，这一国有几人用 Tor，而那个数字很大一部分是在比人口大小。知道该国有多少比例的人上网，才判断得出两国的落差是不是单纯因为一边上网的人本来就少。&lt;/p&gt; &lt;p&gt;World Bank 那份有一个对这个站很尴尬的缺口：217 个经济体里没有台湾。所以台湾单独取自数位发展部的调查，两份的方法论不同，一份是 ITU 汇整各国通报，一份是对 12 岁以上人口的电话抽样，画面上标示了不宜直接比较。这也是一种数据政治，跟前面那些许可的墙不同类，但同样会落在下游的人身上。&lt;/p&gt; &lt;p&gt;海底地形跟国界同源，所以没有新的许可要处理。取的是 200、1000、3000、5000 公尺四层等深线，最浅那阶就是大陆棚。加了它之后海缆那层才有解释力：海缆几乎都沿着陆棚铺、避开深海盆，两层对照着看得出来为什么缆线走那些路径。&lt;/p&gt; &lt;p&gt;顺着海缆又查了登陆点，那是整条缆线最脆弱的几个点，台湾的那几个尤其受关注。结论是 OpenStreetMap 没有这份数据，不是抓不到。用 taginfo 查全球数量，&lt;code&gt;man_made=cable_landing_point&lt;/code&gt;、&lt;code&gt;seamark:type=landing_point&lt;/code&gt; 等五个候选标签全都是 &lt;code&gt;0&lt;/code&gt; 笔。登陆点坐标跟缆线几何一样是 TeleGeography 商品的一部分，撞的是上面那面同样的墙。&lt;/p&gt; &lt;/div&gt; &lt;h2 id=&#34;数据的呈现刻意克制&#34;&gt;数据的呈现刻意克制&lt;a class=&#34;headerlink&#34; href=&#34;#数据的呈现刻意克制&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;OONI 的数据最能说明我们的取舍。它提供各国 Tor 测试的异常率（anomaly rate），数字看起来足以画一张全球审查地图，但中段是测量噪声。实测瑞士 &lt;code&gt;22.2%&lt;/code&gt;、加拿大 &lt;code&gt;21.2%&lt;/code&gt;、新西兰 &lt;code&gt;41.1%&lt;/code&gt;，这些国家没有审查疑虑。把中段画成色阶，等于用噪声指控特定国家。&lt;/p&gt; &lt;p&gt;最后画面只标示异常率达 &lt;code&gt;85%&lt;/code&gt; 以上且样本足够的少数国家，中段数值一律不上色，措辞也停在「没有照预期完成」。&lt;code&gt;85%&lt;/code&gt; 这个门槛没有推导公式，是看过分布之后订的。噪声最高落在四成上下，拉到 &lt;code&gt;85%&lt;/code&gt; 才有足够的距离，宁可漏掉几个真的受阻的国家，也不要把没问题的国家标红。&lt;/p&gt; &lt;p&gt;Access Now 的断网事件则相反，每一笔都经过人工查证，成因清楚，所以可以明确说明此处发生过人为断网。即使如此，武装冲突与族群冲突造成的中断未必出自政府决策，可能是战事破坏了基础设施，画面上与信息管制类分开说明。&lt;/p&gt; &lt;p&gt;同样的理由让我们放弃了 V-Dem 的数字社会指标。那份数据的许可技术上可用，我们仍然决定不碰。它是每个国家每年由约五位专家评分，经统计模型转成连续量表。把专家评分画成地图色块，等于用我们的画面替某个机构的政治判断背书。&lt;/p&gt; &lt;h2 id=&#34;撞到的墙&#34;&gt;撞到的墙&lt;a class=&#34;headerlink&#34; href=&#34;#撞到的墙&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;h3 id=&#34;海底电缆&#34;&gt;海底电缆&lt;a class=&#34;headerlink&#34; href=&#34;#海底电缆&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;一开始想用 &lt;a href=&#34;https://www.submarinecablemap.com/&#34;&gt;TeleGeography&lt;/a&gt; 的 Submarine Cable Map，那是这个领域最权威的数据集。查下去才发现他们现在把坐标数据当成正式商品在卖，&lt;a href=&#34;https://www2.telegeography.com/license-geocoded-map-data&#34;&gt;License TeleGeography&#39;s Map Data&lt;/a&gt; 是年费授权，GeoJSON 经 Amazon S3 或 API 交付，每次更新自动推送。GeoJSON 就是他们的商品本体。&lt;/p&gt; &lt;p&gt;台湾的&lt;a href=&#34;https://smc.peering.tw/&#34;&gt;海缆动态地图&lt;/a&gt;的做法值得记下来，也是许可不明朗时最务实的选择：源代码采 MIT 开源，但几何数据放在另一个 repo，对外是 404。主 repo 的 README 直接写「You can leave the folder empty」。&lt;/p&gt; &lt;p&gt;那颗地球仪上的海缆最后取自 OpenStreetMap 贡献者标注的路径，&lt;code&gt;228&lt;/code&gt; 段。覆盖以欧洲、地中海与大西洋较完整，太平洋中段几乎是空的。翻出 OSM 社群 &lt;a href=&#34;https://lists.openstreetmap.org/pipermail/talk/2011-October/060415.html&#34;&gt;2011 年的讨论串&lt;/a&gt;，当年有人提议把 TeleGeography 的数据并进 OSM，社群成员的判断是那份许可禁止商业使用与改作，跟 ODbL 不兼容，那则提议没有下文。十五年过去，太平洋还是空的。&lt;/p&gt; &lt;h3 id=&#34;网络基础建设&#34;&gt;网络基础建设&lt;a class=&#34;headerlink&#34; href=&#34;#网络基础建设&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;网络基础建设这一类查了一轮，几乎全军覆没，卡住的理由还很像。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://atlas.ripe.net/&#34;&gt;RIPE Atlas&lt;/a&gt; 部署在各地的探针（probe）数据很漂亮，&lt;code&gt;2026&lt;/code&gt; 年 7 月查询时全球有近六万个探针，含经纬度与 ASN，API 直接回得出来。但服务条款写明商业使用需另外取得 RIPE NCC 许可，没有开放许可声明。PeeringDB 的 API 一样打得通，但可接受使用政策写明不可整批转散布给第三方。Packet Clearing House 的 IXP 目录是 CC BY-NC-SA 3.0，Cloudflare Radar 是 CC BY-NC 4.0，两者的非商业条款都会传染到我们的内容上。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://ioda.inetintel.cc.gatech.edu/&#34;&gt;IODA&lt;/a&gt; 是这里面最可惜的一份。它以 BGP 路由撤除、主动探测与 darknet 流量异常检测各国的网络中断，是真测量，主题跟这个站高度吻合。API 回得出数据，但回应本身就带着一行 &lt;code&gt;Copyright (c) 2021-2025 Georgia Tech Research Corporation. All Rights Reserved.&lt;/code&gt;。&lt;/p&gt; &lt;p&gt;还有一类更麻烦：条款完全不存在。各 RIR 的 delegated stats 文件下载得到，开头只有免责声明，没有一个字提到许可。root-servers.org 的节点清单有 JSON 端点，整站找不到许可声明。沉默无法解读成允许，比明文禁止更难处理，因为连判断的依据都没有。这一节的每一份都是同样的组合，端点开放、数据拿得到、许可不给再散布。&lt;/p&gt; &lt;h3 id=&#34;指数类数据&#34;&gt;指数类数据&lt;a class=&#34;headerlink&#34; href=&#34;#指数类数据&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;Freedom House 的 Freedom on the Net 与无国界记者的新闻自由指数，这两份最常被引用，也都不能用。RSF 的许可是 CC BY-&lt;strong&gt;ND&lt;/strong&gt;，禁止改作，把它转成 JSON 重新呈现就违反了。Freedom House 官方页面查不到许可声明，取得数据要写信申请。&lt;/p&gt; &lt;h2 id=&#34;我们没有写信去问&#34;&gt;我们没有写信去问&lt;a class=&#34;headerlink&#34; href=&#34;#我们没有写信去问&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;上面几个机构，开放数据圈的常规做法是读完条款之后再去信问一次，通常有机会取得非营利或研究用途的例外。我们刻意没有这么做。&lt;/p&gt; &lt;p&gt;整个项目想知道的正是一个下游再利用者实际会撞到什么。如果每一份卡住的数据都靠个别协商解决，我们得到的会是几封友善的回信，而不是「这个生态系对想接手的人有多友善」的答案。条款写成什么样子，就是绝大多数人实际会遇到的样子。没有人脉、没有机构背景、只是想做点东西的人，看到的就是那一页条款，所以这篇记录的是条款，不是协商结果。&lt;/p&gt; &lt;h2 id=&#34;我们学到的&#34;&gt;我们学到的&lt;a class=&#34;headerlink&#34; href=&#34;#我们学到的&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;最大的落差是开放 API 不等于开放数据。原本以为困难会在技术面，结果多数端点都打得通、数据格式也干净，卡住的全在条款。RIR、CAIDA、RIPE NCC、PeeringDB 这些机构的预设立场是可以看、可以研究，但不能整批搬走，那跟 Tor Metrics、OONI、Natural Earth 是完全不同的文化。连完全没写许可的沉默状态也算在内，那种数据集实务上等同不可用。业界确实有很多工具在用这类文件，风险由使用者各自承担，公开发布的文档站不能比照办理。&lt;/p&gt; &lt;p&gt;我们的架构也不容许「应该没问题」的侥幸。文档站是静态网站，数据文件会直接发出去，而且会推上 IPFS。内容定址意味着发出去就收不回来，镜像可能长期存在。&lt;/p&gt; &lt;p&gt;反过来看，地球仪能做出来，很大程度是因为 Tor Project 把 Onionoo 与 Tor Metrics 都放成 CC0，Natural Earth 放成公有领域。当年那可能只是一行设定，却让十几年后一个不相干的社群能够直接拿去用，不必写信谈许可，也不必担心哪天被要求下架。&lt;/p&gt; &lt;p&gt;有一个技术细节值得另外记下来。OONI 那份是 CC BY-NC-SA 4.0，其中的相同方式分享（ShareAlike）跟网站的 CC BY 4.0 互不兼容。处理方式是让 &lt;code&gt;ooni.json&lt;/code&gt; 保持独立的一份，不把它的内容并进其他数据文件，画面上也只跟其他来源并列，让整体属于 CC 定义的「集合」，相同方式分享的范围停在那一份文件身上。前提已经写进 &lt;code&gt;NOTICE&lt;/code&gt;，否则哪天有人把 OONI 的字段并进中继快照，整份衍生物就落入相同方式分享了。&lt;/p&gt; &lt;h2 id=&#34;其他两件作品&#34;&gt;其他两件作品&lt;a class=&#34;headerlink&#34; href=&#34;#其他两件作品&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href=&#34;../../../../../games/onion-routing/play/index.html?lang=zh-cn&#34;&gt;Tor 路由解谜&lt;/a&gt;让你自己挑三个中继组成 guard、middle、exit 路径，过程中要避开被监听的节点、把三跳分散到不同 ASN，遇到封锁改走网桥。看着电路因为三跳挤在同一个 ASN 而失败，比读十次「要分散」有效。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;../../../../../games/onion-rendezvous/play/index.html?lang=zh-cn&#34;&gt;Tor 连线流量&lt;/a&gt;用发光粒子呈现两种路径的差异。连线 .onion 服务时双方各建一条三跳电路，在随机挑出的会合点相遇。连线明网网站则走三跳到出口后原路往返。&lt;/p&gt; &lt;p&gt;三件作品都以 three.js 在浏览器中运行，免安装，支持正体中文、简体中文与英文。源代码在 &lt;a href=&#34;https://github.com/anoni-net/docs&#34;&gt;anoni-net/docs&lt;/a&gt; 的 &lt;code&gt;docs/zh-TW/games/&lt;/code&gt; 底下，没有构建流程，改完保存刷新就看得到。&lt;/p&gt; &lt;p&gt;有想法或想一起做，欢迎到&lt;a href=&#34;../../../../community/&#34;&gt;社群&lt;/a&gt;找我们。&lt;/p&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/07/games-globe-open-data/</link> <pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/07/games-globe-open-data/</guid> <enclosure url="https://assets.anoni.net/games/tor-network-zh-cn.png" type="image/png" length="221050" /> </item> <item> <title>从肯尼亚高院到华语六地区：OONI 开放数据如何进到法庭、新闻室与公共纪录</title> <author>anoni.net 社区</author> <category>OONI</category> <category>Tor</category> <category>翻译文章</category> <description>&lt;h1 id=&#34;从肯尼亚高院到华语六地区OONI-开放数据如何进到法庭新闻室与公共纪录&#34;&gt;从肯尼亚高院到华语六地区：OONI 开放数据如何进到法庭、新闻室与公共纪录&lt;a class=&#34;headerlink&#34; href=&#34;#从肯尼亚高院到华语六地区OONI-开放数据如何进到法庭新闻室与公共纪录&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p&gt;这篇文章是 Tor Project 博客「守护自由互联网」系列的其中一篇，介绍 OONI 在实际情境中如何运作。原文翻译如下：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;https://blog.torproject.org/Defending-the-right-to-know/&#34; target=&#34;_blank&#34;&gt;Defending the public&#39;s right to know, pavel 2026-05-12&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;在原文之外，文末另外补一段华语六地区（中国大陆、香港、澳门、新加坡、马来西亚、台湾）的脉络，谈各地的 OONI 观测现况、可以对照肯尼亚案件的法律倡议切入点，以及一般读者可以如何把家用网络、移动网络接进这份公共纪录。&lt;/p&gt; &lt;/div&gt; &lt;figure&gt; &lt;a href=&#34;https://forum.torproject.org/uploads/default/original/2X/3/3c647fc332a9f5c49e81d7660d9d91f5e39e8b0b.png&#34; target=&#34;_blank&#34;&gt; &lt;img src=&#34;https://forum.torproject.org/uploads/default/original/2X/3/3c647fc332a9f5c49e81d7660d9d91f5e39e8b0b.png&#34; alt=&#34;Tor Project 文章「守护自由互联网」系列的视觉主图，主题为 OONI&#34; style=&#34;border-radius: 10px;&#34;&gt; &lt;/a&gt; &lt;figcaption&gt;图片来源：&lt;a target=&#34;_blank&#34; href=&#34;https://blog.torproject.org/Defending-the-right-to-know/&#34;&gt;Tor Project Blog&lt;/a&gt;。&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;网络自由已经&lt;a href=&#34;https://freedomhouse.org/article/new-report-persistent-authoritarian-repression-and-backsliding-democracies-drive-15th&#34; target=&#34;_blank&#34;&gt;连续 15 年下滑&lt;/a&gt;。除了监控、隐私与匿名性遭到侵蚀、各种信息操弄之外，各国政府也针对特定网站与服务实施封锁或限制，甚至直接攻击网络基础设施本身，造成网络关闭（shutdown）与蓄意中断。我们要怎么知道网络在什么时候被审查、又用了什么方式？&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI&lt;/a&gt;（Open Observatory for Network Interference，网络干扰开放观测站）是 Tor Project 衍生出来的计划，提供&lt;a href=&#34;https://ooni.org/install/&#34; target=&#34;_blank&#34;&gt;自由及开源工具&lt;/a&gt;与&lt;a href=&#34;https://ooni.org/data/&#34; target=&#34;_blank&#34;&gt;开放数据&lt;/a&gt;。使用者用这些工具测量网络审查事件，把观测结果上传成可验证的纪录，后续也可以引用到报道、研究或法律行动。以下是几个实际的案例。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;守护公共纪录&#34;&gt;守护公共纪录&lt;a class=&#34;headerlink&#34; href=&#34;#守护公共纪录&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;OONI 的观测数据是&lt;a href=&#34;https://explorer.ooni.org/&#34; target=&#34;_blank&#34;&gt;全球最大的网络审查开放数据集&lt;/a&gt;，自 2012 年以来已累积数十亿笔测量，涵盖 245 个国家与地区、数万个网络。这些数据能存在，是因为全球各地有人在使用 &lt;a href=&#34;https://ooni.org/install/&#34; target=&#34;_blank&#34;&gt;OONI Probe&lt;/a&gt;（一款免费的网络测量工具，桌面版与手机版都有，按一下就对你所在的网络执行一轮连线测试），把自己连线的网络状况回报上来。每一笔新的测量，都会加进这份公共纪录。&lt;/p&gt; &lt;p&gt;这份数据集之所以受到引用，原因同时来自规模与方法论。网络审查常常以「让干扰看不出来」的方式进行，被封锁的网站看起来像坏掉了、被限速的应用看起来不稳定、整段网络关闭看起来像是技术故障。在 OONI 采用的&lt;a href=&#34;https://github.com/ooni/spec/tree/master/nettests&#34; target=&#34;_blank&#34;&gt;公开测量方法论&lt;/a&gt;、同行评审、专家反馈与对照组测量的基础上，这些手段可以在数据层面被识别出来，「网络被审查了」这类主张因此可以被检验、被挑战、被验证。&lt;/p&gt; &lt;p&gt;为了降低查数据的门槛，OONI Explorer 上线了&lt;a href=&#34;https://ooni.org/post/2025-ooni-explorer-thematic-censorship-pages/&#34; target=&#34;_blank&#34;&gt;主题式页面&lt;/a&gt;，聚焦在最常被审查的几个领域，包括社交媒体与即时通讯应用、新闻媒体、翻墙工具。每个页面都收录短篇报告、长篇研究报告，以及带最新 OONI 数据的图表。&lt;/p&gt; &lt;p&gt;2025 年新增的「&lt;a href=&#34;https://explorer.ooni.org/news-media&#34; target=&#34;_blank&#34;&gt;新闻媒体封锁&lt;/a&gt;」页面就是一个例子，读者不必翻数十亿笔原始测量，就能直接看到这些发现。包括埃及封锁独立媒体 &lt;a href=&#34;https://explorer.ooni.org/findings/99431807200&#34; target=&#34;_blank&#34;&gt;Zawia3&lt;/a&gt;、约旦封锁 &lt;a href=&#34;https://explorer.ooni.org/findings/101531332700&#34; target=&#34;_blank&#34;&gt;12 个新闻媒体网站&lt;/a&gt;、印度在与巴基斯坦军事冲突期间封锁 &lt;a href=&#34;https://explorer.ooni.org/findings/667455800&#34; target=&#34;_blank&#34;&gt;The Wire&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://ooni.org/reports/&#34; target=&#34;_blank&#34;&gt;网络审查事件通常发生的时间点&lt;/a&gt;，往往是选举、抗议、武装冲突、全国性大考、政局动荡期间，正是民众最需要取得信息的时候。在这些关键时刻，受影响的社群可以从 OONI 观测数据取得共同的事实基础，后续才有机会究责。&lt;/p&gt; &lt;h2 id=&#34;新闻工作者与媒体组织如何运用-OONI&#34;&gt;新闻工作者与媒体组织如何运用 OONI&lt;a class=&#34;headerlink&#34; href=&#34;#新闻工作者与媒体组织如何运用-OONI&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;figure&gt; &lt;a href=&#34;https://forum.torproject.org/uploads/default/original/2X/0/034a6f0033d426dfc46e0fcfefb03e858f04b155.jpeg&#34; target=&#34;_blank&#34;&gt; &lt;img src=&#34;https://forum.torproject.org/uploads/default/original/2X/0/034a6f0033d426dfc46e0fcfefb03e858f04b155.jpeg&#34; alt=&#34;OONI Explorer 上的 dw.com 测量截图，显示俄罗斯、中国、伊朗对 dw.com 的封锁&#34; style=&#34;border-radius: 10px;&#34;&gt; &lt;/a&gt; &lt;figcaption&gt;OONI Explorer 的截图，显示 dw.com 在俄罗斯、中国、伊朗被封锁的情形。图片来源：&lt;a target=&#34;_blank&#34; href=&#34;https://blog.torproject.org/Defending-the-right-to-know/&#34;&gt;Tor Project Blog&lt;/a&gt;。&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;2025 年，俄罗斯流亡媒体中相当知名的 &lt;a href=&#34;https://meduza.io/en&#34; target=&#34;_blank&#34;&gt;Meduza&lt;/a&gt; &lt;a href=&#34;https://meduza.io/cards/tsenzury-v-runete-vse-bolshe-kak-mozhno-otslezhivat-blokirovki&#34; target=&#34;_blank&#34;&gt;发表了一篇文章介绍 OONI 工具&lt;/a&gt;，邀请读者实际试用。从 Meduza 这个案例可以看到，新闻编辑室除了用网络审查测量来写报道，也可以把它当作公共教育的一环，让读者理解网络干扰是如何运作的、可以如何被记录下来、自己又能如何贡献到这份证据基础里。&lt;/p&gt; &lt;p&gt;新闻网站被封锁，影响从来不只是技术层面，代表的是大众失去取得报道的管道、社群失去即时信息、记者失去他们的读者。只有当这件事被记录成可以被引用、可以被分析的数据，后续行动才有立足点。&lt;/p&gt; &lt;p&gt;最具体的串接案例发生在肯尼亚。OONI 观测数据被当作证据，用在一场挑战「非法切断网络连线」的公益诉讼。&lt;a href=&#34;https://blog.bake.co.ke/2025/05/14/bake-6-other-organizations-challenge-internet-shutdowns-in-kenya-in-landmark-public-interest-case/&#34; target=&#34;_blank&#34;&gt;这场诉讼由一个联盟提出&lt;/a&gt;，成员包括 BAKE、ICJ Kenya、Paradigm Initiative、肯尼亚记者工会（Kenya Union of Journalists）、Katiba Institute、肯尼亚律师协会（Law Society of Kenya）和 CIPESA。为了支持这份提交给肯尼亚高等法院（High Court of Kenya）的声请，OONI 以专家意见的形式产出了一份&lt;a href=&#34;https://blog.bake.co.ke/wp-content/uploads/2025/05/HCCHRPET.276.2025-ICJ-v-CA-Internet-Shutdown-Case.pdf&#34; target=&#34;_blank&#34;&gt;详细的研究报告&lt;/a&gt;，记录 Telegram 在肯尼亚 2023 与 2024 年 KCSE 全国性大考（肯尼亚的中学毕业会考，当局以防堵考题外泄为由，在考试期间限制社交与通讯软件）期间被封锁的情形。&lt;/p&gt; &lt;p&gt;在这个案子里，记者工会、数字人权组织、法律倡导者与技术研究者从同一份数据集出发，把「网络被中断」推升为公共利益议题。这也是区域上重要的先例，坦桑尼亚的律师后来主动联系 OONI 索取数据，用来支持当地挑战封锁 Twitter/X 的法律行动，OONI 也因此发表了一份&lt;a href=&#34;https://ooni.org/post/2025-tanzania-blocked-twitter/&#34; target=&#34;_blank&#34;&gt;记录这次封锁的研究报告&lt;/a&gt;。&lt;/p&gt; &lt;h2 id=&#34;为共同的互联网集体行动&#34;&gt;为共同的互联网集体行动&lt;a class=&#34;headerlink&#34; href=&#34;#为共同的互联网集体行动&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;从肯尼亚延伸到坦桑尼亚的这个涟漪效应里，可以看到网络审查如何跨地域运作，也可以看到大家可以如何回应。封锁一个即时通讯应用，从来不是一件孤立的事。记者可能失去与消息来源的联系管道，社运行动者可能失去组织动员的通道，&lt;a href=&#34;https://blog.torproject.org/fighting-censorship-with-webtunnel/&#34; target=&#34;_blank&#34;&gt;翻墙工具开发者可能要重新调整&lt;/a&gt;，研究者可能要验证实际情况，律师可能需要证据。所有人都需要文件纪录。&lt;/p&gt; &lt;p&gt;OONI 的&lt;a href=&#34;https://ooni.org/data/&#34; target=&#34;_blank&#34;&gt;开放数据&lt;/a&gt;模型，正好对应这些关键时刻的需求。守护自由的互联网，需要把审查记录下来、把证据分享出去，并且一起累积回应这些事件的集体量能。&lt;/p&gt; &lt;h2 id=&#34;在地脉络华语六地区如何接上这个工作流程&#34;&gt;在地脉络：华语六地区如何接上这个工作流程&lt;a class=&#34;headerlink&#34; href=&#34;#在地脉络华语六地区如何接上这个工作流程&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;OONI 在肯尼亚、坦桑尼亚、约旦、印度、埃及的故事，地理位置上看起来离我们很远，但运作逻辑跟华语六地区（中国大陆、香港、澳门、新加坡、马来西亚、台湾）是同一套，靠的都是公开的测量数据和跨领域的协作。要把这套工作流程用起来，从观测覆盖、倡议路径到一般人的参与，有三件事可以往下看。&lt;/p&gt; &lt;h3 id=&#34;华语六地区的-OONI-观测覆盖现况&#34;&gt;华语六地区的 OONI 观测覆盖现况&lt;a class=&#34;headerlink&#34; href=&#34;#华语六地区的-OONI-观测覆盖现况&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;中国大陆有 OONI Probe 使用者持续上传测量数据，能看到防火长城对常见社交媒体、即时通讯应用、新闻媒体与翻墙工具的封锁情况。香港、澳门、新加坡、马来西亚与台湾的 ASN（自治系统编号，可粗略理解成每家 ISP 的网络编号）也都有不同程度的覆盖，但每个地区都存在没人在执行 OONI 的网络。其中，台湾的匿名网络社群长期维护一份 &lt;a href=&#34;../../../../taiwan/ooni-asn-coverage/&#34;&gt;ASNs 自治网络观测数据分析&lt;/a&gt;，可以当作各华语地区检视自家 ASN 覆盖状况的参考做法。&lt;/p&gt; &lt;p&gt;OONI 全球数据集再庞大，每个地区仍然要靠在地使用者持续&lt;a href=&#34;https://ooni.org/install/&#34; target=&#34;_blank&#34;&gt;运行 OONI Probe&lt;/a&gt; 才能补上盲点。哪个 ASN 没人在执行 OONI，未来如果在那条路径上发生封锁或中断，就缺少能引用的证据。&lt;/p&gt; &lt;h3 id=&#34;从肯尼亚诉讼看华语六地区的倡议切入点&#34;&gt;从肯尼亚诉讼看华语六地区的倡议切入点&lt;a class=&#34;headerlink&#34; href=&#34;#从肯尼亚诉讼看华语六地区的倡议切入点&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;肯尼亚高等法院的诉讼示范了公民团体、媒体工会、法律倡导者、技术研究者如何从同一份开放数据出发，把网络中断的争议推到制度层级的问责程序。&lt;/p&gt; &lt;p&gt;报道中国大陆、香港、缅甸、越南等地的封锁事件时，华语地区的媒体与公民团体已经能引用 OONI 公开数据作为佐证。下一步值得思考的是，当华语地区某地自己遇到网络中断或服务阻断事件时，如何在法律倡议、人权报告、议会监督或国际仲裁层面，建立类似的证据链。&lt;/p&gt; &lt;h3 id=&#34;把家用网络移动网络接进这份公共纪录&#34;&gt;把家用网络、移动网络接进这份公共纪录&lt;a class=&#34;headerlink&#34; href=&#34;#把家用网络移动网络接进这份公共纪录&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;OONI Probe 桌面版与移动版都能在家用网络、移动网络、公共 Wi-Fi 上运行，每换一个连线环境就能多留下一笔纪录。对社群与民间组织来说，可以把它放进既有的工作节奏，例如在不同据点、活动现场、成员的移动网络上轮流测量，让覆盖从少数几家网络扩散到更多日常情境。这跟前面提到的盲点是同一件事的两面，一边是看出哪里还没被测到，一边是把那些网络一笔一笔补上来。&lt;/p&gt; &lt;h2 id=&#34;你可以做的事&#34;&gt;你可以做的事&lt;a class=&#34;headerlink&#34; href=&#34;#你可以做的事&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;不论你是想补观测、做研究，还是要把数据用在报道或倡议，都有可以着手的起点。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;一般读者&lt;/strong&gt;：&lt;a href=&#34;https://ooni.org/install/&#34; target=&#34;_blank&#34;&gt;安装 OONI Probe&lt;/a&gt; 执行一轮，让你这条网络出现在公共纪录里（运行前可先看 OONI 对&lt;a href=&#34;https://ooni.org/about/risks/&#34; target=&#34;_blank&#34;&gt;潜在风险的说明&lt;/a&gt;）。如果有你常用、想纳入定期测量的网站，可以到 OONI 的&lt;a href=&#34;https://test-lists.ooni.org/login&#34; target=&#34;_blank&#34;&gt;测试列表编辑器&lt;/a&gt;提交，之后全球的 OONI Probe 就会把它排进测试。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;研究者与技术社群&lt;/strong&gt;：参考 &lt;a href=&#34;../../../../taiwan/ooni-asn-coverage/&#34;&gt;ASNs 自治网络观测数据分析&lt;/a&gt; 上的盲点分布做法，再评估自己这条网络或实验环境可以补上哪些测量，并把数据整理成可重复比对的图表。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;记者、媒体编辑、人权律师&lt;/strong&gt;：下次处理中国大陆、香港、缅甸等地封锁事件的报道时，&lt;a href=&#34;https://explorer.ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI Explorer&lt;/a&gt; 上的测量截图、调查发现（findings）短篇报告、长篇研究报告都可以引用做公开佐证。要走到公益诉讼层级的案件，肯尼亚案示范了向 OONI 申请专家意见报告的流程。&lt;/li&gt; &lt;/ul&gt; &lt;h2 id=&#34;相关阅读&#34;&gt;相关阅读&lt;a class=&#34;headerlink&#34; href=&#34;#相关阅读&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../2025/04/2025-ooni-explorer-thematic-censorship-pages/&#34;&gt;发布：新 OONI Explorer 专题审查页面&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../02/ooni-%E5%85%A8%E6%96%B0%E7%9A%84%E5%8C%BF%E5%90%8D%E5%87%AD%E8%AF%81%E7%B3%BB%E7%BB%9F/&#34;&gt;OONI 全新的匿名凭证系统&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/ooni-asn-coverage/&#34;&gt;ASNs 自治网络观测数据分析&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/ooni-checklist/&#34;&gt;OONI 网站检测清单&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-defending-the-public-s-right-to-know/</link> <pubDate>Sun, 26 Jul 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-defending-the-public-s-right-to-know/</guid> <enclosure url="https://forum.torproject.org/uploads/default/original/2X/3/3c647fc332a9f5c49e81d7660d9d91f5e39e8b0b.png" type="image/png" length="126742" /> </item> <item> <title>COSCUP 2026 匿名网络社群议程轨征现场工作人员：三个岗位，8/08、8/09 两天</title> <author>anoni.net 社区</author> <category>公告</category> <category>社区</category> <description>&lt;h1 id=&#34;COSCUP-2026-匿名网络社群议程轨征现场工作人员三个岗位808809-两天&#34;&gt;COSCUP 2026 匿名网络社群议程轨征现场工作人员：三个岗位，8/08、8/09 两天&lt;a class=&#34;headerlink&#34; href=&#34;#COSCUP-2026-匿名网络社群议程轨征现场工作人员三个岗位808809-两天&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;&lt;img alt=&#34;COSCUP 2026 匿名网络社群议程轨主视觉&#34; src=&#34;https://assets.anoni.net/event/anoni-net-eth-taipei.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;议程排定了，十六场的讲者也都确认出席。8/08、8/09 两天在台湾科技大学 &lt;code&gt;TR-510&lt;/code&gt;，从网络审查如何运作、浏览器指纹追踪，到台师大的校园 Tor 节点与健保数据库的个资权利，还有 8/08 下午与 ETHTaipei 合办的匿名支付场。现场执行的人力目前只有一位。&lt;/p&gt; &lt;p&gt;8/09 的换场休息只有五分钟，需要有人在讲者超时前举牌，也需要有人趁这五分钟把下一位讲者接上台、测好投影与音频。有几场的讲者要求不录影，需要有人全程盯住确实没有被录进去，这件事出错之后无法补救。8/08 上午还有受邀前来的公民团体与独立记者，需要有人在门口招呼、引导入座。&lt;/p&gt; &lt;div class=&#34;admonition tip&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;我们在找三位现场工作人员&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;岗位&lt;/strong&gt;：录影 1 位、台前机动 1 位、场外机动 1 位&lt;/li&gt; &lt;li&gt;&lt;strong&gt;条件&lt;/strong&gt;：不需要具备 Tor、匿名网络或任何隐私技术的背景&lt;/li&gt; &lt;li&gt;&lt;strong&gt;时间&lt;/strong&gt;：两天都能到最好，只能到一天也欢迎，人多的话会排轮班&lt;/li&gt; &lt;li&gt;&lt;strong&gt;报名或询问&lt;/strong&gt;：透过&lt;a href=&#34;../../../../contact/&#34;&gt;联系我们&lt;/a&gt;的任一管道告诉我们，注明想担任的岗位与可以到的日期&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;三个岗位在做什么&#34;&gt;三个岗位在做什么&lt;a class=&#34;headerlink&#34; href=&#34;#三个岗位在做什么&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;录影&lt;/strong&gt;：确认大会的录影正常运作，盯住几场讲者要求不录影的议程确实没有被录到，远端讲者连线时顾一下画面。需要细心，不需要会操作专业摄影器材。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;台前机动&lt;/strong&gt;：举牌控时、提前接下一位讲者、测投影与转接头、问答时递麦克风。需要熟悉笔电接投影这类事，不需要理解议程内容。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;场外机动&lt;/strong&gt;：门口引导与人数计数、发放社群文件站的信息、处理餐点与物资。需要好相处，能简单说明这个社群在做什么。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;三个岗位都是照着流程走，活动前一周会开一次线上说明会，把两天的流程、控时手势与突发状况的处理原则走过一遍。&lt;/p&gt; &lt;h2 id=&#34;时间与地点&#34;&gt;时间与地点&lt;a class=&#34;headerlink&#34; href=&#34;#时间与地点&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;8/08（六）&lt;/strong&gt;：08:30 到 17:00。上午是三场社群导论加一场邀请议程，13:00 之后是与 ETHTaipei 合办的匿名支付场（&lt;code&gt;TR-511&lt;/code&gt;），这段我们的人力较松。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;8/09（日）&lt;/strong&gt;：09:00 到 16:30。七场录取议程接连进行，是两天里最需要人的一天。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;地点&lt;/strong&gt;：国立台湾科技大学（NTUST），社群议程轨在 &lt;code&gt;TR-510&lt;/code&gt;。&lt;/li&gt; &lt;/ul&gt; &lt;h2 id=&#34;值勤之外可以自由听议程&#34;&gt;值勤之外可以自由听议程&lt;a class=&#34;headerlink&#34; href=&#34;#值勤之外可以自由听议程&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;不在岗位上的时段可以自由去听议程，8/08 下午几乎整段都是空的。值勤时段的餐点由社群准备。行前说明会与活动当天都能直接认识这一轨的讲者。&lt;/p&gt; &lt;p&gt;这一轨今年的内容涵盖网络与审查如何运作、OpenWRT 家用网络、台师大 Tor 节点创建实务、浏览器指纹追踪、健保数据库的停止利用权，以及从个人到组织的隐私指南 2026，完整议程与各场摘要放在&lt;a href=&#34;../../../../activity/coscup-2026/&#34;&gt;活动页&lt;/a&gt;。&lt;/p&gt; &lt;h2 id=&#34;没有经验也可以&#34;&gt;没有经验也可以&lt;a class=&#34;headerlink&#34; href=&#34;#没有经验也可以&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;社群平常在做的事，是把 Tor、Tails、OONI 这些开源工具的界面翻译成正体中文、回报问题、协助在校园架设中继节点。这次的现场工作同样不需要事先具备专业背景，愿意花两天陪着把议程执行完就够了。没有参加过 COSCUP 也没有关系，说明会上会把该知道的细节都交代清楚。&lt;/p&gt; &lt;p&gt;&lt;a class=&#34;md-button md-button--primary&#34; href=&#34;../../../../activity/coscup-2026/&#34;&gt;看完整议程与各场摘要&lt;/a&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../coscup-2026-community-track/&#34;&gt;COSCUP 2026 匿名网络社群议程轨：8/08、8/09 两天，免费入场、走进教室就能参加&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../community/how-to-contribute/&#34;&gt;如何参与与认领主题&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../about/&#34;&gt;关于我们&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;报名方式&lt;/p&gt; &lt;p&gt;请透过&lt;a href=&#34;../../../../contact/&#34;&gt;联系我们&lt;/a&gt;的任一管道与社群联系，告诉我们想担任的岗位、可以到的日期，以及方便的联系方式。三个岗位额满之后仍然欢迎加入，会前宣传与会后整理同样需要人。&lt;/p&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-coscup-anoni-track-staff/</link> <pubDate>Sat, 25 Jul 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-coscup-anoni-track-staff/</guid> <enclosure url="https://assets.anoni.net/event/anoni-net-eth-taipei.webp" type="image/webp" length="67724" /> </item> <item> <title>FISA 702 条款到期：美国无令状收集境外通信的授权，2026 年 6 月暂时失效</title> <author>anoni.net 社区</author> <category>更新</category> <category>翻译文章</category> <category>隐私</category> <description>&lt;h1 id=&#34;FISA-702-条款到期美国无令状收集境外通信的授权2026-年-6-月暂时失效&#34;&gt;&lt;span class=&#34;twemoji&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path d=&#34;M2 5.27 3.28 4 20 20.72 18.73 22l-3.08-3.08c-1.15.38-2.37.58-3.65.58-5 0-9.27-3.11-11-7.5.69-1.76 1.79-3.31 3.19-4.54zM12 9a3 3 0 0 1 3 3 3 3 0 0 1-.17 1L11 9.17A3 3 0 0 1 12 9m0-4.5c5 0 9.27 3.11 11 7.5a11.8 11.8 0 0 1-4 5.19l-1.42-1.43A9.86 9.86 0 0 0 20.82 12 9.82 9.82 0 0 0 12 6.5c-1.09 0-2.16.18-3.16.5L7.3 5.47c1.44-.62 3.03-.97 4.7-.97M3.18 12A9.82 9.82 0 0 0 12 17.5c.69 0 1.37-.07 2-.21L11.72 15A3.064 3.064 0 0 1 9 12.28L5.6 8.87c-.99.85-1.82 1.91-2.42 3.13&#34;/&gt;&lt;/svg&gt;&lt;/span&gt; FISA 702 条款到期：美国无令状收集境外通信的授权，2026 年 6 月暂时失效&lt;a class=&#34;headerlink&#34; href=&#34;#FISA-702-条款到期美国无令状收集境外通信的授权2026-年-6-月暂时失效&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;figure&gt; &lt;a href=&#34;https://assets.anoni.net/blog/2026-victory-702-has-expired.png&#34; target=&#34;_blank&#34;&gt; &lt;img src=&#34;https://assets.anoni.net/blog/2026-victory-702-has-expired.png&#34; alt=&#34;EFF 的 NSA eagle 图，把 NSA 标志改画成一只老鹰用爪子接上电信线路，象征无令状的大规模监控&#34; style=&#34;border-radius: 10px;&#34;&gt; &lt;/a&gt; &lt;figcaption markdown=&#34;span&#34;&gt;图片为 EFF 设计师 Hugh D&#39;Andrade 绘制的「NSA eagle」，把 NSA 标志改画成老鹰用爪子接上电信线路，象征无令状的大规模监控。出自 &lt;a href=&#34;https://www.eff.org/nsa-spying&#34; target=&#34;_blank&#34;&gt;EFF 的 NSA 监控专题&lt;/a&gt;，授权为 &lt;a href=&#34;https://creativecommons.org/licenses/by/4.0/&#34; target=&#34;_blank&#34;&gt;CC BY 4.0&lt;/a&gt;&lt;sup id=&#34;fnref:img&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:img&#34;&gt;10&lt;/a&gt;&lt;/sup&gt;。&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;你寄一封信到 Gmail、用 iMessage 跟在美国的朋友聊天、用 WhatsApp 联络海外的家人，这些通信只要有一端落在美国的服务或网络上，本来就可能被美国情报机构在不需令状的情况下收集。授权这件事的法律叫 FISA Section 702（《外国情报监控法》第 702 条）。2026 年 6 月 12 日午夜，这条授权在美国国会的僵局中到期&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;p&gt;EFF（电子前线基金会）把这件事称为一场胜利。要理解为什么，需先知道 702 是什么、它跟 2013 年斯诺登（Edward Snowden）揭露的监控计划是什么关系，以及为什么华语地区使用者长期就是这套监控的合法对象，而「暂时失效」又改变了什么。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;Section-702-是什么&#34;&gt;Section 702 是什么&lt;a class=&#34;headerlink&#34; href=&#34;#Section-702-是什么&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Section 702 由美国 2008 年的《FISA Amendments Act》（外国情报监控法修正案）设立&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:3&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;。它允许美国情报机构在认定某位境外人士握有外国情报价值时，不经个别令状就收集这个人的通信，包含电子邮件、消息与通话。&lt;/p&gt; &lt;p&gt;关键在「境外人士」这四个字。702 的设计对象是美国境外的所有人，所以美国境外的每一个人，包含华语地区的使用者，在法律上本来就是这套收集的合法目标。美国公民受美国宪法第四修正案保护，需要令状，境外人士没有这层保护。&lt;/p&gt; &lt;p&gt;实务上，702 还会大量「附带收集」（incidental collection）到美国人的通信。只要美国人跟被锁定的境外目标有来往，他的邮件、消息、通话就会一并被收进数据库。这是后面争议的起点。&lt;/p&gt; &lt;p&gt;702 授权之下有两种具体的收集方式，名字许多人听过：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;下游收集（Downstream，旧称 PRISM）&lt;/strong&gt;：政府要求 Google、Microsoft、Apple、Facebook、Yahoo 等科技公司，交出符合条件的使用者通信&lt;sup id=&#34;fnref2:2&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:2&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;上游收集（Upstream）&lt;/strong&gt;：NSA（国家安全局）直接从互联网骨干的缆线与交换器上截取流量&lt;sup id=&#34;fnref3:2&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:2&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;PRISM 与 Upstream 不是传说中的代号。它们是 702 这条法律授权底下，实际运作的两个程序。&lt;/p&gt; &lt;h2 id=&#34;跟斯诺登事件的关联&#34;&gt;跟斯诺登事件的关联&lt;a class=&#34;headerlink&#34; href=&#34;#跟斯诺登事件的关联&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;斯诺登在 2013 年揭露的监控计划，法律基础正是 Section 702。当年 6 月，这位前 NSA 合同人员把一批内部简报交给记者，PRISM 与 Upstream 这两个名字就是从那批文件流入公众视野的&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:2&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。全世界第一次看到「原来美国可以这样收集全球的网络通信」，看到的就是 702 在运作的样子。&lt;/p&gt; &lt;p&gt;斯诺登揭露的是「如何收集」，Section 702 则是「凭什么能收集」的法律授权。&lt;/p&gt; &lt;p&gt;从立法到暂时失效，这套授权的几个主要时间点：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;2008&lt;/code&gt; 年：《FISA Amendments Act》通过，设立 Section 702，让原本游走在灰色地带的无令状收集有了明文授权。&lt;/li&gt; &lt;li&gt;&lt;code&gt;2013&lt;/code&gt; 年：斯诺登揭露 PRISM 与 Upstream，702 第一次成为全球公共议题，各国才意识到自己是这套收集的对象。&lt;/li&gt; &lt;li&gt;之后十多年：702 经 &lt;code&gt;2012&lt;/code&gt;、&lt;code&gt;2017&lt;/code&gt;、&lt;code&gt;2024&lt;/code&gt; 多次重新授权，每一次都伴随改革派与情报机构的拉锯，EFF 等团体持续要求加上令状门槛。&lt;code&gt;2024&lt;/code&gt; 年的 RISAA 把授权延到 &lt;code&gt;2026&lt;/code&gt; 年 4 月，之后再靠临时延长撑到 6 月。&lt;/li&gt; &lt;li&gt;&lt;code&gt;2026&lt;/code&gt; 年 6 月 12 日：在一场国会僵局中暂时到期。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;斯诺登当年揭露的计划，过了十三年，它的法律授权第一次出现空窗。&lt;/p&gt; &lt;h2 id=&#34;后门搜索backdoor-searches为什么是争议核心&#34;&gt;后门搜索（backdoor searches）为什么是争议核心&lt;a class=&#34;headerlink&#34; href=&#34;#后门搜索backdoor-searches为什么是争议核心&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;702 名义上锁定境外人士，真正在美国国内引发宪法争议的是后门搜索（backdoor searches），官方称为「美国人查询」（US person queries）。&lt;/p&gt; &lt;p&gt;702 收集进来的庞大通信数据库里，因为附带收集而塞满了美国人的通信。FBI（美国联邦调查局）、CIA（中央情报局）、NSA 之后可以用美国人的姓名、电子邮件、电话这类识别码去查询数据库，不需要另外申请令状。等于绕过了第四修正案对美国人的保护，从后门取得数据。&lt;/p&gt; &lt;p&gt;规模不小，违规也不少：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;FBI 在 &lt;code&gt;2019&lt;/code&gt; 到 &lt;code&gt;2022&lt;/code&gt; 年间，对美国人做了将近 &lt;code&gt;500&lt;/code&gt; 万次查询，这些查询程序上多属合法，争议在于大多缺乏个案的合理说明&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:4&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;。&lt;/li&gt; &lt;li&gt;政府在 &lt;code&gt;2022&lt;/code&gt; 年 3 月通报，光是对 Section 702 数据库的搜索，就有超过 &lt;code&gt;278,000&lt;/code&gt; 次不符规定&lt;sup id=&#34;fnref2:4&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:4&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;。&lt;/li&gt; &lt;li&gt;2024 年国会通过《Reforming Intelligence and Securing America Act》（RISAA，情报改革与保障美国法），加了一些改革，但没有解决无令状查询这个根本问题。到 &lt;code&gt;2024&lt;/code&gt; 年 8 月，已经有报道指出 FBI 用了一个查询工具绕过 RISAA 的限制&lt;sup id=&#34;fnref3:4&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:4&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;EFF 长期主张，FBI 要查询美国人在 702 之下被收集的通信，应该先取得令状。如果做不到这个门槛，那就让整个方案到期，不要再续&lt;sup id=&#34;fnref2:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;h2 id=&#34;2026-年-6-月发生什么&#34;&gt;2026 年 6 月发生什么&lt;a class=&#34;headerlink&#34; href=&#34;#2026-年-6-月发生什么&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;702 这次到期，导火线跟一桩人事任命有关。特朗普提名 Bill Pulte（时任联邦住房金融局局长）暂代国家情报总监（DNI），接替宣布请辞的 Tulsi Gabbard&lt;sup id=&#34;fnref3:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:5&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;。DNI 监督的正是执行 702 的情报机构，把这个位子交给一位没有情报资历、又曾以房贷诈欺名义追查特朗普政敌的人选，让参议院民主党不愿在这个时间点放行。他们以 Pulte 缺乏情报、军事与国会经历为由，拒绝推进自家版本的重新授权法案，众议院则否决了短期续延&lt;sup id=&#34;fnref4:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&#34;fnref2:5&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:5&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;。国会几次靠临时延长把期限往后推，最后在 6 月 12 日午夜停在到期&lt;sup id=&#34;fnref5:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;p&gt;到期不等于监控当天就停。依现有报道，外国情报监控法院（FISC）对既有方案的重新认证效力延续到 2027 年 3 月，为这段期间的收集留下法律依据。有法律专家直言「702 不会就此停摆（go dark），那是迷思」&lt;sup id=&#34;fnref3:5&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:5&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;。这次到期更接近一个法律与政治上的转折点，而非开关被立刻关掉。&lt;/p&gt; &lt;h2 id=&#34;为什么-EFF-把暂时失效也当成胜利&#34;&gt;为什么 EFF 把暂时失效也当成胜利&lt;a class=&#34;headerlink&#34; href=&#34;#为什么-EFF-把暂时失效也当成胜利&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;EFF 点出，这套权力的滥用风险从来不系于某一个人或某一届政府。如果国会担心的是「某个人可能取得美国人的敏感信息」，负责任的做法是去强化制度层面的透明、究责与监督机制，而不是把希望寄托在换掉某个人选&lt;sup id=&#34;fnref6:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;p&gt;2026 年一整年，国会两党对改革的胃口都在变大，愈来愈多人反对在没有令状门槛的前提下重新授权 702&lt;sup id=&#34;fnref7:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。一条运作了十多年、斯诺登揭露过、改革多次卡关的监控授权，能走到暂时失效这一步，本身就说明持续倡议是有用的。&lt;/p&gt; &lt;h2 id=&#34;回到华语地区你本来就是境外监控的合法对象&#34;&gt;回到华语地区：你本来就是境外监控的合法对象&lt;a class=&#34;headerlink&#34; href=&#34;#回到华语地区你本来就是境外监控的合法对象&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;702 的失效对美国的倡议者是一场胜利，对华语地区的使用者能保护到的范围却很有限。702 这几年的争议重点是保护美国人，后门搜索争的是美国人受第四修正案保护、却被绕过去查。无论你在台湾、香港、澳门、新马还是其他华语环境，本来就不在第四修正案的保护范围内，要查询你在 702 之下被收集的通信，对美国政府而言连后门都算不上，是正门。&lt;/p&gt; &lt;h3 id=&#34;你仍然是合法收集对象&#34;&gt;你仍然是合法收集对象&lt;a class=&#34;headerlink&#34; href=&#34;#你仍然是合法收集对象&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;有些人觉得反正自己不是美国政府针对的目标，因此对 702 无感。隐私防护设防的对象是能力，不是当下的善意或意图。一个机构今天没盯上你，不代表它握有的收集能力会跟着缩手，收集的对象与用途也会随政治情势改变。把任何握有大规模收集能力的行为者放进同一套&lt;a href=&#34;../../../../basics/threat-model/&#34;&gt;威胁模型&lt;/a&gt;，比依赖「现在应该查不到我」可靠。&lt;/p&gt; &lt;p&gt;就算 702 真的消失，收集境外人士的手段也不只这一条。NSA 海外信号情报的主要法源是第 12333 号行政命令（Executive Order 12333，EO 12333，1981 年签署），它没有 FISC 的司法监督，国会监督也有限，而且完全不受这次 702 到期影响&lt;sup id=&#34;fnref:6&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:6&#34;&gt;6&lt;/a&gt;&lt;/sup&gt;。对华语地区使用者这种境外人士的收集，702 在不在都能继续。所以这场胜利对华语读者该庆祝的成分有限，隐私还是需仰赖自己用加密守住，不能寄望某一条法律。&lt;/p&gt; &lt;h3 id=&#34;真正的防线是端对端加密&#34;&gt;真正的防线是端对端加密&lt;a class=&#34;headerlink&#34; href=&#34;#真正的防线是端对端加密&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;华语地区大量依赖美国的云端与通信服务，Google Workspace、Microsoft 365、iCloud、AWS、Meta 旗下的 WhatsApp 与 Instagram 都在其中（其中部分在中国大陆需要绕过封锁才能使用，但在港澳、新马与海外华人社群是日常工具）。很多人以为数据放在本地机房就安全，但只要服务商总部在美国，美国的 CLOUD Act（2018 年通过）就能要求它交出所掌控的数据，服务器放哪里不影响&lt;sup id=&#34;fnref:7&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:7&#34;&gt;7&lt;/a&gt;&lt;/sup&gt;。欧盟为了同样的问题跟美国周旋多年、打过好几轮官司，华语地区连对等的数据保护协定都没有，处境更被动。真正有效的防线是端对端加密（E2EE），密钥不在服务商手上，就算数据被交出、或在传输途中被截取，没有密钥也读不到内容，对附带收集与后门搜索都挡得住。&lt;/p&gt; &lt;p&gt;端对端加密保护的是通信内容，Tor 进一步遮住连接本身。Upstream 从网络骨干截取流量，取得的是你连去哪、跟谁往来这类连接信息。台湾、香港这类地方对外连接高度依赖国际海缆&lt;sup id=&#34;fnref:8&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:8&#34;&gt;8&lt;/a&gt;&lt;/sup&gt;，通往美西、美东的跨太平洋缆线是重要干道之一，连接只要目的地或路由经过美国骨干，封包就落在 Upstream 的截取范围内。Tor 把流量加密后经多个中继转送，骨干上只看得到一段加密的 Tor 流量，服务商那边也对不出真正的使用者，等于打断 PRISM 与 Upstream 所仰赖的连接对应关系。Tor 挡得住这种大规模被动收集，但挡不了针对个人的主动入侵，例如利用浏览器漏洞去匿名化，斯诺登文件里 NSA 的 Tor Stinks 简报就坦承，只能去匿名化一小部分使用者&lt;sup id=&#34;fnref:9&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:9&#34;&gt;9&lt;/a&gt;&lt;/sup&gt;。运作原理见 &lt;a href=&#34;../../../../tools/what-is-tor/&#34;&gt;什么是 Tor&lt;/a&gt;。&lt;/p&gt; &lt;h3 id=&#34;谁的风险更高社群能一起做什么&#34;&gt;谁的风险更高，社群能一起做什么&lt;a class=&#34;headerlink&#34; href=&#34;#谁的风险更高社群能一起做什么&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;需要跟海外编辑室、国际组织、消息来源往来的记者与公民团体，跨境通信本来就多，附带收集碰到他们的机率比一般人高，这些角色值得把防护等级拉高，敏感协作走 Tor、不要把消息来源名单放在美国企业的云端，延伸的角色指南见 &lt;a href=&#34;../../../../scenarios/journalist/&#34;&gt;记者如何保护消息来源&lt;/a&gt; 与 &lt;a href=&#34;../../../../scenarios/activist/&#34;&gt;社运行动者的数字准备&lt;/a&gt;。匿名网络社群 anoni.net 把力气放在去中心、自架与加密这些靠自己的能力上，而不是等哪条法律来保障，正是因为 702 到期当天收集照常进行、EO 12333 不受影响这个现实。对许多华语地区使用者来说，本地的监控往往是更切身的威胁，从中国大陆的网络审查与实名制，到各地不同的通信监察制度，加密与 Tor 对这些同样是防线。台湾的个资法、揭弊者保护法是其中一组本地脉络的例子，相关讨论见 &lt;a href=&#34;../../../../taiwan/pdpa-2025/&#34;&gt;台湾个资法 2025 修法&lt;/a&gt; 与 &lt;a href=&#34;../../../../taiwan/whistleblower-law/&#34;&gt;揭弊者保护法的技术观察&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;702 暂时失效不会让监控立刻消失，跨境通信的隐私风险也不会因此归零。对每一个身在美国境外的人，真正要盯紧的是授权监控的法律结构，先确认自己在这套结构里的位置。今天就能做的第一步，是把日常联络换成默认端对端加密的工具，敏感的对外连接走 Tor。&lt;/p&gt; &lt;h2 id=&#34;相关阅读&#34;&gt;相关阅读&lt;a class=&#34;headerlink&#34; href=&#34;#相关阅读&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../advanced/e2ee/&#34;&gt;端对端加密如何运作&lt;/a&gt;：为什么加密过的内容就算被截取也读不到&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/what-is-tor/&#34;&gt;什么是 Tor&lt;/a&gt;：多重中继转送如何打断大规模被动收集靠的连接对应&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/messaging-comparison/&#34;&gt;匿名通信工具比较&lt;/a&gt;：哪些通信工具默认端对端加密、各自的取舍&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../basics/metadata/&#34;&gt;为什么 Metadata 比你想的更暴露&lt;/a&gt;：就算读不到内容，「谁跟谁、何时何地」本身就足以下决定&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../basics/threat-model/&#34;&gt;威胁模型：先想清楚你在防谁&lt;/a&gt;：把国家级监控放进自己的威胁模型&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/pdpa-2025/&#34;&gt;台湾个资法 2025 修法&lt;/a&gt;：一个华语地区的数据保护制度案例&lt;/li&gt; &lt;/ul&gt; &lt;hr /&gt; &lt;blockquote&gt; &lt;p&gt;本文编译自 EFF Deeplinks 文章 &lt;a href=&#34;https://www.eff.org/deeplinks/2026/06/victory-702-has-expired&#34; target=&#34;_blank&#34;&gt;Victory! 702 has Expired!&lt;/a&gt;（作者 India McKinney，2026-06-12），并补上 Section 702 的背景、跟斯诺登事件的关联，以及华语地区观点。&lt;/p&gt; &lt;/blockquote&gt; &lt;div class=&#34;footnote&#34;&gt; &lt;hr /&gt; &lt;ol&gt; &lt;li id=&#34;fn:1&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.eff.org/deeplinks/2026/06/victory-702-has-expired&#34; target=&#34;_blank&#34;&gt;Victory! 702 has Expired!&lt;/a&gt; - EFF Deeplinks（作者 India McKinney，2026-06-12）&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref3:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref4:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref5:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref6:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref7:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:2&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.eff.org/pages/upstream-prism&#34; target=&#34;_blank&#34;&gt;Upstream vs. PRISM&lt;/a&gt; - EFF（说明 702 之下 Upstream 与 PRISM 两种收集方式，及其与 2013 年斯诺登揭露的关系）&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:2&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:2&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref3:2&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:3&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.eff.org/deeplinks/2026/06/702-ultimatum-warrant-requirement-or-bust&#34; target=&#34;_blank&#34;&gt;The 702 Ultimatum: Warrant Requirement or Bust&lt;/a&gt; - EFF Deeplinks（EFF 对本次到期前的主张：加上令状门槛，否则就让它到期）&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:3&#34; title=&#34;Jump back to footnote 3 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:4&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.brennancenter.org/our-work/research-reports/section-702-foreign-intelligence-surveillance-act&#34; target=&#34;_blank&#34;&gt;Section 702 of the Foreign Intelligence Surveillance Act, Explained&lt;/a&gt; - Brennan Center for Justice（backdoor searches 次数、违规通报、RISAA 2024 背景）&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:4&#34; title=&#34;Jump back to footnote 4 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:4&#34; title=&#34;Jump back to footnote 4 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref3:4&#34; title=&#34;Jump back to footnote 4 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:5&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.cbsnews.com/news/fisa-section-702-expiring-congress-what-that-means/&#34; target=&#34;_blank&#34;&gt;A key spy authority, Section 702, expired due to inaction in Congress. Here&#39;s what happens next.&lt;/a&gt; - CBS News（到期时间线、Pulte 任命、既有认证延续至 2027 年 3 月）&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:5&#34; title=&#34;Jump back to footnote 5 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:5&#34; title=&#34;Jump back to footnote 5 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref3:5&#34; title=&#34;Jump back to footnote 5 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:6&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.brennancenter.org/our-work/research-reports/foreign-intelligence-surveillance-fisa-section-702-executive-order-12333&#34; target=&#34;_blank&#34;&gt;Foreign Intelligence Surveillance (FISA Section 702, Executive Order 12333, and Section 215 of the Patriot Act)：A Resource Page&lt;/a&gt; - Brennan Center for Justice（EO 12333 为 NSA 海外监控的主要法源，无 FISC 司法监督，不受 702 到期影响）&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:6&#34; title=&#34;Jump back to footnote 6 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:7&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.congress.gov/crs-product/R45173&#34; target=&#34;_blank&#34;&gt;Cross-Border Data Sharing Under the CLOUD Act&lt;/a&gt; - Congressional Research Service（CLOUD Act 可要求美国服务商交出其掌控的数据，与服务器所在地无关）&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:7&#34; title=&#34;Jump back to footnote 7 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:8&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.bnext.com.tw/article/60585/taiwan-submarine-cable&#34; target=&#34;_blank&#34;&gt;海底电缆：藏在台湾深海的网络护国神山&lt;/a&gt; - 数位时代（台湾国际海缆主干道走向）&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:8&#34; title=&#34;Jump back to footnote 8 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:9&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.schneier.com/essays/archives/2013/10/nsa_and_gchq_target.html&#34; target=&#34;_blank&#34;&gt;NSA and GCHQ target Tor network that protects anonymity of web users&lt;/a&gt; - Bruce Schneier（原载 The Guardian，说明 Tor Stinks 与 EgotisticalGiraffe 文件内容）&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:9&#34; title=&#34;Jump back to footnote 9 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:img&#34;&gt; &lt;p&gt;题图 &lt;a href=&#34;https://www.eff.org/files/banner_library/NSA-eagle-2_0.png&#34; target=&#34;_blank&#34;&gt;NSA-eagle-2_0.png&lt;/a&gt;，出自 &lt;a href=&#34;https://www.eff.org/nsa-spying&#34; target=&#34;_blank&#34;&gt;EFF 的 NSA 监控专题&lt;/a&gt;，作者为 EFF 设计师 Hugh D&#39;Andrade，授权 &lt;a href=&#34;https://creativecommons.org/licenses/by/4.0/&#34; target=&#34;_blank&#34;&gt;CC BY 4.0&lt;/a&gt;。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:img&#34; title=&#34;Jump back to footnote 10 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-victory-702-has-expired/</link> <pubDate>Thu, 23 Jul 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-victory-702-has-expired/</guid> <enclosure url="https://assets.anoni.net/blog/2026-victory-702-has-expired.png" type="image/png" length="57767" /> </item> <item> <title>测量网络审查：挑战、趋势与影响</title> <author>anoni.net 社区</author> <category>OONI</category> <category>翻译文章</category> <category>观察</category> <description>&lt;h1 id=&#34;测量网络审查挑战趋势与影响&#34;&gt;测量网络审查：挑战、趋势与影响&lt;a class=&#34;headerlink&#34; href=&#34;#测量网络审查挑战趋势与影响&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p&gt;&lt;strong&gt;翻译说明：&lt;/strong&gt;这篇文章由 OONI 的 Maria Xynou 撰写，原刊于 Internet Society 的 Pulse blog，后由 OONI 转贴。OONI 是目前全球规模最大的网络审查观测公开数据集，本文整理了测量网络审查的方法挑战、近年观察到的审查趋势，以及这些数据如何被用在数字人权的倡议行动。对简体中文使用者来说，这份脉络有助于理解为什么「网络看起来能用」不等于「没有被审查」，也有助于评估自己所在地区的网络层介入形态。&lt;/p&gt; &lt;p&gt;以下内容原文翻译来自：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;https://ooni.org/post/2026-measuring-internet-censorship-trends-challenges-impact/&#34; target=&#34;_blank&#34;&gt;Measuring Internet Censorship: Challenges, Trends, and Impact, Maria Xynou 2026-05-05&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原始版本刊载于 &lt;a href=&#34;https://pulse.internetsociety.org/en/blog/2026/05/measuring-internet-censorship-challenges-trends-and-impact/&#34; target=&#34;_blank&#34;&gt;Internet Society Pulse blog&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;p&gt;重点摘要：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;网络审查正在变得更精细、更具针对性，也更难被检测。&lt;/li&gt; &lt;li&gt;OONI 以众包方式收集的网络观测数据，能支持研究、倡议行动，以及对网络审查事件的快速响应。&lt;/li&gt; &lt;li&gt;OONI 的长期数据揭示了几项全球网络审查的关键走向，包括短期针对性的间歇封锁，以及长期、系统性的压制。&lt;/li&gt; &lt;/ul&gt; &lt;!-- more --&gt; &lt;p&gt;网络审查正在变得更精细、更难被检测，「透明度」这件事比以往更迫切。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://ooni.org/post/2024-russia-report/&#34; target=&#34;_blank&#34;&gt;俄罗斯&lt;/a&gt;、&lt;a href=&#34;https://ooni.org/post/2024-kazakhstan-report/&#34; target=&#34;_blank&#34;&gt;哈萨克斯坦&lt;/a&gt;等国家正在封锁大量独立新闻媒体，&lt;a href=&#34;https://ooni.org/reports/social-media-im/&#34; target=&#34;_blank&#34;&gt;选举与抗议期间针对社交媒体的限制&lt;/a&gt;在全球各地也越来越常见。连民主国家也在扩张审查做法。举例来说，&lt;a href=&#34;https://explorer.ooni.org/findings/274282914400&#34; target=&#34;_blank&#34;&gt;阿尔巴尼亚去年封锁了 TikTok&lt;/a&gt;，西班牙则&lt;a href=&#34;https://www.techradar.com/vpn/vpn-privacy-security/la-ligas-war-on-piracy-is-breaking-the-internet-in-spain-and-your-vpn-could-be-the-next-target&#34; target=&#34;_blank&#34;&gt;间歇性封锁了部分网络&lt;/a&gt;，做法是针对 LaLiga 直播站点所使用的 Cloudflare 基础设施下手。&lt;/p&gt; &lt;p&gt;这些案例都由 &lt;a href=&#34;https://ooni.org/&#34; target=&#34;_blank&#34;&gt;Open Observatory of Network Interference（OONI）&lt;/a&gt;记录下来。OONI 是一个非营利组织，维护&lt;a href=&#34;https://ooni.org/data/&#34; target=&#34;_blank&#34;&gt;全球最大的网络审查公开数据集&lt;/a&gt;，数据来自众包测量。本文简要讨论测量网络审查的挑战、正在浮现的审查趋势，以及网络观测如何推动人权倡议。&lt;/p&gt; &lt;h2 id=&#34;测量网络审查的挑战&#34;&gt;测量网络审查的挑战&lt;a class=&#34;headerlink&#34; href=&#34;#测量网络审查的挑战&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;要判断一件事算不算网络审查，&lt;a href=&#34;https://ramakrishnansr.com/assets/censorship-data-analysis.pdf&#34; target=&#34;_blank&#34;&gt;很少能用&lt;/a&gt;「能不能连」、「有没有被封锁」这种二分结果就说明清楚。&lt;/p&gt; &lt;p&gt;许多因素都可能让服务看起来无法访问，即使没有任何人刻意限制。架在不稳定服务器上的网站可能短暂失效，跟政府毫无关系。网络质量不佳时，用户也可能难以打开网站或 App。连&lt;a href=&#34;https://ooni.org/post/not-quite-network-censorship/&#34; target=&#34;_blank&#34;&gt; DNS 设置错误&lt;/a&gt;都可能造成访问失败，但跟审查无关。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://ooni.org/support/faq/#what-are-false-positives&#34; target=&#34;_blank&#34;&gt;误报（false positives）&lt;/a&gt;很常见。挑战更进一步来自审查做法的多样性，从 DNS 操纵、IP 封锁，到更隐蔽的流量限速或注入伪造响应都有。同一个网站可能在某个网络能用、在另一个网络被挡，因此需要广泛、去中心化的测试才有机会做出可靠判断。&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;https://ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI&lt;/a&gt; 用几个方式来面对这些挑战。一是开发&lt;a href=&#34;https://github.com/ooni/spec/tree/master/nettests&#34; target=&#34;_blank&#34;&gt;公开的测量方法论&lt;/a&gt;并鼓励同行评议与专家反馈，并利用对照测量（control measurements）作为基准。OONI 也使用一套&lt;a href=&#34;https://docs.ooni.org/data/pipeline-design/&#34; target=&#34;_blank&#34;&gt;概率式指标&lt;/a&gt;估计某个资源在特定网络与时间区间内被限制的可能性。这套方法在 &lt;a href=&#34;https://github.com/ooni/data&#34; target=&#34;_blank&#34;&gt;OONI Pipeline v5&lt;/a&gt; 上实现，会比对测量结果并套用启发式规则，把结果分类为「blocked」、「down」或「OK」，并附上一定信心度的估计。&lt;/p&gt; &lt;p&gt;直接从本地网络收集到的测量，比远程测试更有价值，因为它反映了用户真实的审查体验。当志愿者根据他们实际遇到的封锁内容、在自己所在的脉络下执行测试时，这些数据比较有机会捕捉到突发、情境特定的审查事件。&lt;/p&gt; &lt;p&gt;OONI 正是依此运作。世界各地的人们运行 &lt;a href=&#34;https://ooni.org/install/&#34; target=&#34;_blank&#34;&gt;OONI Probe&lt;/a&gt;，从他们所连的网络上贡献测量。&lt;a href=&#34;https://ooni.org/data&#34; target=&#34;_blank&#34;&gt;数据&lt;/a&gt;的取得仰赖志愿者选择测什么、何时、何地，因此各国的覆盖率差异很大，同一个国家的不同网络之间也会有落差。覆盖率不均是一项重要挑战，要可靠地检测（并确认）审查，需要持续的数据来累积信心。&lt;/p&gt; &lt;p&gt;审查事件常发生在高风险情境，例如反政府抗议期间。在这些时刻进行测试，会让贡献者承担实际的&lt;a href=&#34;https://ooni.org/about/risks/&#34; target=&#34;_blank&#34;&gt;风险&lt;/a&gt;，这也让测量与审查检测变得更困难。在 OONI，用户安全是优先事项，所有贡献测量的人都会经过&lt;a href=&#34;https://ooni.org/support/ooni-probe-desktop#onboarding-informed-consent&#34; target=&#34;_blank&#34;&gt;知情同意&lt;/a&gt;的程序，在 &lt;a href=&#34;https://ooni.org/install/&#34; target=&#34;_blank&#34;&gt;OONI Probe App&lt;/a&gt; 中以小测验的形式确认。&lt;/p&gt; &lt;h2 id=&#34;浮现中的网络审查趋势&#34;&gt;浮现中的网络审查趋势&lt;a class=&#34;headerlink&#34; href=&#34;#浮现中的网络审查趋势&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;OONI 的&lt;a href=&#34;https://ooni.org/data&#34; target=&#34;_blank&#34;&gt;长期数据&lt;/a&gt;揭示了几项全球网络审查正在演变的关键趋势：&lt;/p&gt; &lt;h3 id=&#34;网络审查的全球化与常态化&#34;&gt;网络审查的全球化与常态化&lt;a class=&#34;headerlink&#34; href=&#34;#网络审查的全球化与常态化&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;网络层级的审查已经不只发生在中国或伊朗这类国家。今日几乎每个国家都有某种形式的审查，封锁的内容与影响范围差异很大。多数国家现在同时具备技术基础设施与法律框架，能执行网络层的限制。&lt;/p&gt; &lt;h3 id=&#34;短期控制的针对性间歇性封锁&#34;&gt;短期控制的针对性、间歇性封锁&lt;a class=&#34;headerlink&#34; href=&#34;#短期控制的针对性间歇性封锁&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;许多政府会在&lt;a href=&#34;https://ooni.org/reports/social-media-im/&#34; target=&#34;_blank&#34;&gt;政治敏感事件期间部署临时性审查&lt;/a&gt;，例如选举、抗议或冲突。这类封锁通常针对特定网站或 App，举例来说，&lt;a href=&#34;https://explorer.ooni.org/findings/352623460000#social-media-blocks-following-ugandas-2026-general-election&#34; target=&#34;_blank&#34;&gt;乌干达在 2026 年大选后封锁了 WhatsApp 与 Facebook&lt;/a&gt;。短期封锁通常持续几小时到几周，这种做法能降低政治与经济成本，又能让当局在关键时刻控制公共讨论、限制信息流通。&lt;/p&gt; &lt;h3 id=&#34;系统性压制的长期封锁&#34;&gt;系统性压制的长期封锁&lt;a class=&#34;headerlink&#34; href=&#34;#系统性压制的长期封锁&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;长期封锁会持续数年，目的是在网络上强制执行某种意识形态、政策或法律。相较于针对特定站点或 App 的短期封锁，长期封锁往往限制整个被视为「在法律或社会上不可接受」的内容类别。这类审查经常压抑边缘群体、强化既有体制。例子包括&lt;a href=&#34;https://ooni.org/post/2021-no-access-lgbtiq-website-censorship-six-countries/&#34; target=&#34;_blank&#34;&gt;封锁 LGBTQI 权益相关网站&lt;/a&gt;、&lt;a href=&#34;https://ooni.org/post/iran-internet-censorship/#human-rights-issues&#34; target=&#34;_blank&#34;&gt;族群或宗教少数团体相关内容&lt;/a&gt;，以及&lt;a href=&#34;https://ooni.org/post/2019-blocking-abortion-rights-websites-women-on-waves-web/&#34; target=&#34;_blank&#34;&gt;生育权相关网站&lt;/a&gt;。以坦桑尼亚为例，在多年针对 LGBTQI 社群的打压之后，&lt;a href=&#34;https://ooni.org/post/2024-tanzania-lgbtiq-censorship-and-other-targeted-blocks/&#34; target=&#34;_blank&#34;&gt;针对 LGBTQI 相关内容的大规模封锁&lt;/a&gt;陆续被观察到。&lt;/p&gt; &lt;h3 id=&#34;加密化网络中越来越不透明的审查&#34;&gt;加密化网络中越来越不透明的审查&lt;a class=&#34;headerlink&#34; href=&#34;#加密化网络中越来越不透明的审查&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;随着越来越多网站采用 HTTPS 与加密标准，审查反而变得更不可见。传统的&lt;a href=&#34;https://ooni.org/support/glossary/#block-page&#34; target=&#34;_blank&#34;&gt;封锁页面（block page）&lt;/a&gt;会告知用户「这个站点被刻意限制」，但这类页面如今已经少见。政府改采直接干扰 TLS（Transport Layer Security）协议本身的手段，通常使用 DPI（Deep Packet Inspection，深度包检测）这类进阶设备。OONI 的&lt;a href=&#34;https://ooni.org/reports/&#34; target=&#34;_blank&#34;&gt;数据显示&lt;/a&gt;，TLS 层级的干扰在许多国家被记录下来，这也反映出全球审查技术产业正在扩张。遇到 TLS 干扰时，用户通常只会看到一般的连接错误，而非封锁页面，因此很难分辨这是刻意的审查、还是网络故障或其他技术问题。加密化原本是要保护用户，反过来却让审查变得更不透明。&lt;/p&gt; &lt;h3 id=&#34;流量限速与服务劣化&#34;&gt;流量限速与服务劣化&lt;a class=&#34;headerlink&#34; href=&#34;#流量限速与服务劣化&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;各国政府越来越常用带宽限速作为一种较隐蔽的控制手段，限制特定服务的可用性而不直接封锁。这会让通讯 App 或其他平台变慢，让人不想再使用，但连接在技术上仍然「成立」。为了调查这类案例，OONI 开发了一套&lt;a href=&#34;https://github.com/ooni/probe-cli/blob/master/docs/design/dd-007-throttling.md&#34; target=&#34;_blank&#34;&gt;针对性流量限速的测量方法论&lt;/a&gt;，并在&lt;a href=&#34;https://ooni.org/post/2023-throttling-kz-elections/&#34; target=&#34;_blank&#34;&gt;哈萨克斯坦&lt;/a&gt;、&lt;a href=&#34;https://ooni.org/post/2022-russia-blocks-amid-ru-ua-conflict/#twitter-throttled&#34; target=&#34;_blank&#34;&gt;俄罗斯&lt;/a&gt;与&lt;a href=&#34;https://ooni.org/post/2025-turkiye-throttling-social-media/&#34; target=&#34;_blank&#34;&gt;土耳其&lt;/a&gt;的真实案例中应用与验证。&lt;/p&gt; &lt;h3 id=&#34;审查与隐私技术的拉锯&#34;&gt;审查与隐私技术的拉锯&lt;a class=&#34;headerlink&#34; href=&#34;#审查与隐私技术的拉锯&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;当局也把目标放在新兴的隐私技术上。例如伊朗从至少 2020 年起就&lt;a href=&#34;https://ooni.org/post/2022-iran-blocks-social-media-mahsa-amini-protests/#blocking-of-dns-over-https-doh&#34; target=&#34;_blank&#34;&gt;封锁加密 DNS&lt;/a&gt;，而&lt;a href=&#34;https://theins.ru/news/275980&#34; target=&#34;_blank&#34;&gt;俄罗斯在 2024 年 11 月封锁了 ECH（Encrypted Client Hello）&lt;/a&gt;。这些手段让用户更难绕过审查，同时也压缩了在线隐私的空间。对此，OONI 开发了新的实验来&lt;a href=&#34;https://github.com/ooni/spec/blob/master/nettests/ts-039-echcheck.md&#34; target=&#34;_blank&#34;&gt;测量 ECH&lt;/a&gt; 与&lt;a href=&#34;https://github.com/ooni/spec/blob/master/nettests/ts-028-dnscheck.md&#34; target=&#34;_blank&#34;&gt;加密 DNS&lt;/a&gt;。这些测试已整合进 &lt;a href=&#34;https://ooni.org/install&#34; target=&#34;_blank&#34;&gt;OONI Probe&lt;/a&gt;，世界各地的测量数据以&lt;a href=&#34;https://ooni.org/data&#34; target=&#34;_blank&#34;&gt;公开数据&lt;/a&gt;形式即时发布。&lt;/p&gt; &lt;h3 id=&#34;国家内网与允许清单做法的兴起&#34;&gt;国家内网与「允许清单」做法的兴起&lt;a class=&#34;headerlink&#34; href=&#34;#国家内网与允许清单做法的兴起&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;部分政府正朝向高度管控的国家网络演进。在&lt;a href=&#34;https://www.kentik.com/blog/from-stealth-blackout-to-whitelisting-inside-the-iranian-shutdown/&#34; target=&#34;_blank&#34;&gt;伊朗&lt;/a&gt;、&lt;a href=&#34;https://habr.com/ru/articles/997088/&#34; target=&#34;_blank&#34;&gt;俄罗斯&lt;/a&gt;、&lt;a href=&#34;https://www.article19.org/resources/unplugged-in-myanmar-internet-restrictions-following-the-military-coup/&#34; target=&#34;_blank&#34;&gt;缅甸&lt;/a&gt;等国家，当局正在实验「允许清单（allowlisting）」做法，把可访问的范围限缩在被核准的服务或网站，实质上建立出互联网的围墙区。&lt;/p&gt; &lt;p&gt;这些趋势都显示审查手法越来越精细、针对性越来越强，也越来越难被检测。要守护在线访问权与数字人权，持续的测量与倡议因此格外重要。&lt;/p&gt; &lt;h2 id=&#34;从测量到倡议&#34;&gt;从测量到倡议&lt;a class=&#34;headerlink&#34; href=&#34;#从测量到倡议&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;对网络进行测量，能让我们观察到网络流量在实务上是如何被处理的。审查经常在网络层被实现，这类测量可以揭示「什么」被封锁、「如何」被封锁、「何时」被封锁，以及是「哪一个网络」执行的。这个层级的洞察可以提供审查的证据，使得网络测量成为捍卫开放网络的有力倡议工具。&lt;/p&gt; &lt;p&gt;也因为这个理由，OONI 从 2016 年起就是全球 &lt;a href=&#34;https://www.accessnow.org/keepiton&#34; target=&#34;_blank&#34;&gt;#KeepItOn 行动&lt;/a&gt;的活跃成员，协助全世界数百个人权组织用 &lt;a href=&#34;https://ooni.org/data/&#34; target=&#34;_blank&#34;&gt;OONI 数据&lt;/a&gt;去倡议反对网络关闭。OONI 数据因此支持了多国挑战社交媒体封锁的倡议行动，包括&lt;a href=&#34;https://www.accessnow.org/press-release/keepiton-social-media-restore-access-in-gabon/&#34; target=&#34;_blank&#34;&gt;加蓬&lt;/a&gt;、&lt;a href=&#34;https://www.accessnow.org/press-release/keepiton-tanzanian-authorities-and-meta-must-reverse-course-and-respect-human-rights/&#34; target=&#34;_blank&#34;&gt;坦桑尼亚&lt;/a&gt;、&lt;a href=&#34;https://www.accessnow.org/press-release/access-nows-statement-on-nepals-escalating-digital-repression-and-deadly-crackdown/&#34; target=&#34;_blank&#34;&gt;尼泊尔&lt;/a&gt;、&lt;a href=&#34;https://www.accessnow.org/press-release/keepiton-togolese-authorities-must-uphold-human-rights-online-and-off-during-protests/&#34; target=&#34;_blank&#34;&gt;多哥&lt;/a&gt;与&lt;a href=&#34;https://www.hrw.org/news/2024/11/06/mozambique-post-election-internet-restrictions-hinder-rights&#34; target=&#34;_blank&#34;&gt;莫桑比克&lt;/a&gt;，也用在政策与法律介入上，例如&lt;a href=&#34;https://web.archive.org/web/20190322194634/pakistantoday.com.pk/2019/03/21/submit-reply-or-face-contempt-ihc-tells-pta-chairman/&#34; target=&#34;_blank&#34;&gt;巴基斯坦&lt;/a&gt;与&lt;a href=&#34;https://blog.bake.co.ke/wp-content/uploads/2025/05/HCCHRPET.276.2025-ICJ-v-CA-Internet-Shutdown-Case.pdf&#34; target=&#34;_blank&#34;&gt;肯尼亚&lt;/a&gt;的高等法院申请案。&lt;/p&gt; &lt;p&gt;OONI 数据集的规模也强化了倡议价值。自 2012 年起，已从 245 个国家与地区、30,000 个网络收集到&lt;a href=&#34;https://explorer.ooni.org/&#34; target=&#34;_blank&#34;&gt;超过 30 亿笔测量&lt;/a&gt;，&lt;a href=&#34;https://ooni.org/data&#34; target=&#34;_blank&#34;&gt;OONI 数据&lt;/a&gt;是同类型中全球最大的网络审查公开数据集。每个月都有数千万笔新的测量从约 180 个国家收进来，每天则持续以即时方式发布来自世界各地的新测量。&lt;/p&gt; &lt;p&gt;OONI 数据是一份等待被探索的&lt;a href=&#34;https://ooni.org/data&#34; target=&#34;_blank&#34;&gt;丰富数据集&lt;/a&gt;。它的广度与深度能支持研究，即时发布的特性则能支持倡议与快速响应行动。它也定期被收进 &lt;a href=&#34;https://pulse.internetsociety.org/en/shutdowns/&#34; target=&#34;_blank&#34;&gt;ISOC 的 Pulse Shutdown 项目&lt;/a&gt;用来记录全球的社交媒体封锁。你也可以使用这份数据，&lt;a href=&#34;https://ooni.org/get-involved/&#34; target=&#34;_blank&#34;&gt;加入社群&lt;/a&gt;，一起捍卫自由开放的网络。&lt;/p&gt; &lt;h2 id=&#34;简体中文使用者地区的观察&#34;&gt;简体中文使用者地区的观察&lt;a class=&#34;headerlink&#34; href=&#34;#简体中文使用者地区的观察&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;h3 id=&#34;文章描述的多数现象在中国大陆是长期常态&#34;&gt;文章描述的多数现象在中国大陆是长期常态&lt;a class=&#34;headerlink&#34; href=&#34;#文章描述的多数现象在中国大陆是长期常态&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;本文整理的多项手段，包括 DNS 操纵、IP 封锁、TLS 干扰、加密 DNS 与 ECH 封锁，以及走向白名单式国家内网的做法，在中国大陆是长期存在的网络治理实践。OONI 在大陆的长期测量数据，是研究人员理解这套体系如何演变的重要数据。对身在大陆的读者，本文也是「为什么常见的工具会突然失效」这件事的技术背景。&lt;/p&gt; &lt;h3 id=&#34;港澳新马等地区的网络层介入呈现不同形态&#34;&gt;港澳、新马等地区的网络层介入呈现不同形态&lt;a class=&#34;headerlink&#34; href=&#34;#港澳新马等地区的网络层介入呈现不同形态&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;简体中文使用者所在的不同地区，网络层介入的形态差异很大。香港在 2020 年之后开始出现新的网络层封锁案例，OONI 数据可以追踪相关变化。澳门规模较小但有类似迹象。新加坡、马来西亚则以法定下架与平台合规为主，网络层干扰相对少见。这些差异可以透过 &lt;a href=&#34;https://explorer.ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI Explorer&lt;/a&gt; 直接比对，本文描述的趋势在不同地区呈现出不同强度。&lt;/p&gt; &lt;h3 id=&#34;使用-OONI-Probe-时的风险评估&#34;&gt;使用 OONI Probe 时的风险评估&lt;a class=&#34;headerlink&#34; href=&#34;#使用-OONI-Probe-时的风险评估&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;OONI Probe 的测量本身会产生可被网络侧观察到的流量。在网络监控较严格的环境下运行 OONI Probe，请务必先阅读 &lt;a href=&#34;https://ooni.org/about/risks/&#34; target=&#34;_blank&#34;&gt;OONI 的风险说明&lt;/a&gt;，理解可能的后果。对身在中国大陆的读者，建议优先以阅读 &lt;a href=&#34;https://explorer.ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI Explorer&lt;/a&gt; 上的现有数据为主，再评估是否进一步参与测量贡献。对身在网络较开放地区的读者，参与测量可以帮助补上简体中文使用者地区的数据覆盖率。&lt;/p&gt; &lt;h2 id=&#34;延伸阅读&#34;&gt;延伸阅读&lt;a class=&#34;headerlink&#34; href=&#34;#延伸阅读&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/what-is-ooni/&#34;&gt;什么是 OONI&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/ooni-checklist/&#34;&gt;OONI 网站检测清单&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/tor-relay-watcher/&#34;&gt;Tor Relays 观测点&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/ooni-asn-coverage/&#34;&gt;ASNs 自治网络观测数据分析&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/ooni-run-v2/&#34;&gt;OONI Run v2 操作说明&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-measuring-internet-censorship-challenges-trends-and-impact/</link> <pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-measuring-internet-censorship-challenges-trends-and-impact/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/social/blog/2026/07/2026-measuring-internet-censorship-challenges-trends-and-impact.png" type="image/png" length="51688" /> </item> <item> <title>Android 17 上线后的 GrapheneOS：谁决定手机上能执行什么系统</title> <author>anoni.net 社区</author> <category>更新</category> <category>隐私</category> <description>&lt;h1 id=&#34;Android-17-上线后的-GrapheneOS谁决定手机上能执行什么系统&#34;&gt;Android 17 上线后的 GrapheneOS：谁决定手机上能执行什么系统&lt;a class=&#34;headerlink&#34; href=&#34;#Android-17-上线后的-GrapheneOS谁决定手机上能执行什么系统&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;figure&gt; &lt;a href=&#34;https://assets.anoni.net/blog/2026-grapheneos-android-17.jpg&#34; target=&#34;_blank&#34;&gt; &lt;img src=&#34;https://assets.anoni.net/blog/2026-grapheneos-android-17.jpg&#34; alt=&#34;Android 17 上线后的 GrapheneOS：谁决定手机上能执行什么系统&#34; style=&#34;border-radius: 5px;&#34;&gt; &lt;/a&gt; &lt;figcaption markdown=&#34;span&#34;&gt;图片：智能手机被锁链缠绕，象征装置被外部规则锁住。摄影 Towfiqu barbhuiya，来源 &lt;a href=&#34;https://www.pexels.com/photo/close-up-of-a-smart-phone-with-a-lock-11391947/&#34; target=&#34;_blank&#34;&gt;Pexels&lt;/a&gt;（Pexels License）。&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt;手机是你花钱买的，但它能装什么、能执行什么系统，越来越不是你能决定的。这个问题平常不会浮上台面，直到你想换一套更保护隐私的系统，却发现某些 app 因为「检测到非原厂系统」而拒绝执行，或是你信任的开源系统因为得不到硬件数据而越来越难维护。Android 17 在 2026 年 6 月 16 日上线&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;，把这个问题又往前推了一步。&lt;/p&gt; &lt;p&gt;对隐私使用者来说，首当其冲的是 &lt;a href=&#34;https://grapheneos.org/&#34; target=&#34;_blank&#34;&gt;GrapheneOS&lt;/a&gt;，一套把 Android 安全强化、移除 Google 绑定的行动作业系统。它几乎只能运作于 Google Pixel 上，而 Google 正一步步调整 Android 与 Pixel 的开放程度，维持一套干净、由使用者掌握的手机系统，成本也随之升高。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;Google-两步收紧开发移入内部分支Pixel-device-tree-移出-AOSP&#34;&gt;Google 两步收紧：开发移入内部分支、Pixel device tree 移出 AOSP&lt;a class=&#34;headerlink&#34; href=&#34;#Google-两步收紧开发移入内部分支Pixel-device-tree-移出-AOSP&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;GrapheneOS 这类系统，必须仰赖 Google 公开的 Android 原始码与 Pixel 硬件数据才能开发。Google 接下来的两个动作，收紧的正是这两项来源。&lt;/p&gt; &lt;p&gt;第一步在 2025 年 3 月。Google 把 Android 的主线开发移进内部分支，只在版本正式发布时才把原始码一次推上 AOSP（Android Open Source Project，Android 的开源核心），开发过程不再公开可追&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:2&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。Android 仍然是开源项目，外部开发者能取得最终的代码，但看不到中间的演进，也更难即时跟上。&lt;/p&gt; &lt;p&gt;第二步在 2025 年 6 月，冲击更直接。Google 发布 Android 16 时，不再把 Pixel 的 device tree 放进 AOSP&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:3&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;。device tree 是描述某款手机硬件配置、让系统能正确驱动它的一组设定档，对要把系统移植到该机型的人来说是地基。Google 同时把 AOSP 的官方参考装置，从实体的 Pixel 换成虚拟机 Cuttlefish。少了 Pixel 的 device tree 与驱动原始码，第三方系统开发者只能从 Pixel 出厂的成品文件回头猜它每个月的硬件改动，费时又容易出错。&lt;/p&gt; &lt;p&gt;这两步加起来，把第三方系统的开发成本垫高了一截。LineageOS（另一套知名的第三方 Android 系统）的贡献者形容，现在等于要「盲猜，从预编译的二进位档逆向工程 Pixel 每月的变更」&lt;sup id=&#34;fnref2:3&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:3&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;h2 id=&#34;GrapheneOS-如期完成移植但开发成本持续升高&#34;&gt;GrapheneOS 如期完成移植，但开发成本持续升高&lt;a class=&#34;headerlink&#34; href=&#34;#GrapheneOS-如期完成移植但开发成本持续升高&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;即使如此，GrapheneOS 在 Android 17 发布当天（2026 年 6 月 16 日）就完成移植&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:4&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;。过程中遇到 Android 17 本身一个影响 recovery 侧载的上游 bug，第一版 build 因此没有直接推送，修正后的版本 &lt;code&gt;2026061800&lt;/code&gt; 在 6 月 18 日进入 Alpha 测试通道&lt;sup id=&#34;fnref2:4&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:4&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;p&gt;移植速度没有变慢，这是 GrapheneOS 工程能力的展示。但每一代要付出的逆向工程成本都在增加，而这个成本是 Google 的政策单方面加上去的。一个原本可以靠公开数据顺畅进行的工作，现在需仰赖逆向工程填补缺口。GrapheneOS 能维持这样的移植速度多久，取决于 Google 后续是否继续缩减公开数据的范围。&lt;/p&gt; &lt;h2 id=&#34;另一种压力attestation-将非官方系统判为不合格&#34;&gt;另一种压力：attestation 将非官方系统判为不合格&lt;a class=&#34;headerlink&#34; href=&#34;#另一种压力attestation-将非官方系统判为不合格&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;除了开发端，GrapheneOS 还面对使用端的压力，来源是 attestation（装置认证，由 app 在背景检查你的手机是不是「原厂认可」的状态）。&lt;/p&gt; &lt;p&gt;Google 的 Play Integrity API 会把非 Google 认证的系统判为不合格。GrapheneOS 在安全上比原厂 Android 更严格，却因为不是 GMS（Google 行动服务）授权的系统，常被当成被 root（取得最高权限、绕过系统限制）的手机一并拒绝执行。越安全的系统，反而越容易被这套机制排除在外。&lt;/p&gt; &lt;p&gt;attestation 的压力在 2026 年明显增强，下面三件事几乎同时推进：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Microsoft Authenticator&lt;/strong&gt;：2026 年 2 月底起，开始对 Android 装置做 root 检测，GrapheneOS 因为被 Play Integrity 标记而受影响。Microsoft 分三阶段推行（先警告、再挡新增账号、最后清除既有凭证），计画在 2026 年 7 月完成最后阶段，清除受影响账号的 Entra 凭证&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:5&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;。截至本文撰写的 6 月，这个期限还没到、是否如期执行未知。Microsoft 也公开表示不支持 GrapheneOS。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;欧盟 Unified Attestation&lt;/strong&gt;：欧盟版的统一装置认证提案，GrapheneOS 认为这是 Play Integrity 的欧洲翻版，会把非授权系统一样挡在 app 生态圈外，已公开呼吁隐私导向的 app 开发者抵制&lt;sup id=&#34;fnref:6&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:6&#34;&gt;6&lt;/a&gt;&lt;/sup&gt;。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Android 17 的侧载限制&lt;/strong&gt;：Android 17 新增应用程序侧载的「开发者验证」流程，2026 年先在巴西、印尼、新加坡、泰国试行，2027 年扩大到更多地区&lt;sup id=&#34;fnref2:7&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:7&#34;&gt;7&lt;/a&gt;&lt;/sup&gt;。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;这些机制各有各的理由（防诈骗、防滥用、青少年保护），但效果相互叠加，使未获官方认可的系统越来越难用于日常。&lt;/p&gt; &lt;h2 id=&#34;Motorola-合作与-Pixel-的不确定未来&#34;&gt;Motorola 合作与 Pixel 的不确定未来&lt;a class=&#34;headerlink&#34; href=&#34;#Motorola-合作与-Pixel-的不确定未来&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;面对 Pixel 的不确定，GrapheneOS 开始找替代硬件。2026 年 3 月 1 日的 MWC 2026，GrapheneOS 与 Motorola 宣布长期合作，计画推出预载 GrapheneOS、支持 bootloader 解锁与重锁的机型&lt;sup id=&#34;fnref:8&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:8&#34;&gt;8&lt;/a&gt;&lt;/sup&gt;。这是 GrapheneOS 第一次把硬件出路铺到 Pixel 以外，具体机型与上市时间官方都还没公布。&lt;/p&gt; &lt;p&gt;回头看这次合作的起因，GrapheneOS 表示，正是 Google 停止公开 Pixel 共用的驱动程序原始码，才促成 Motorola 主动接洽&lt;sup id=&#34;fnref:9&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:9&#34;&gt;9&lt;/a&gt;&lt;/sup&gt;。Google 想把 Android 收得更紧，反而把一个原本绑在自家硬件上的项目推向了竞争对手。&lt;/p&gt; &lt;p&gt;至于 Pixel 本身，GrapheneOS 的说法是「不确定之后还会不会替新推出的 Pixel 加上支持」&lt;sup id=&#34;fnref:10&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:10&#34;&gt;10&lt;/a&gt;&lt;/sup&gt;。媒体据此推测 Pixel 11 可能是最后一款受官方支持的新 Pixel，但这是媒体的推论，GrapheneOS 官方并没有做出这个承诺，Pixel 11 之后的机型是否支持仍在未定之天。&lt;/p&gt; &lt;h2 id=&#34;谁决定手机上能执行什么系统&#34;&gt;谁决定手机上能执行什么系统&lt;a class=&#34;headerlink&#34; href=&#34;#谁决定手机上能执行什么系统&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Google 收紧 AOSP、用 Play Integrity 决定哪些系统合格，Microsoft 跟着把不合格的系统排除，欧盟研议自己的认证框架，Android 17 要求侧载先过验证。这些机制累加下来，你手机上能执行什么系统、能装什么 app，能自己决定的部分越来越少。&lt;/p&gt; &lt;p&gt;这跟我们在 &lt;a href=&#34;../../02/2026-discord-matrix-statement/&#34;&gt;从 Discord 年龄验证谈起：我们为什么自架 Matrix&lt;/a&gt; 与 &lt;a href=&#34;../../05/2026-financial-companies-as-censors/&#34;&gt;金融公司当起审查者&lt;/a&gt; 谈过的是同一类问题。当关键的基础设施掌握在少数平台手中，规则由它们单方面决定，一般使用者难以参与，也难以脱离。手机作业系统是其中最贴身的一层，定位、通讯、相簿与身分都存在这一层上。&lt;/p&gt; &lt;p&gt;GrapheneOS 的价值，就在于它让使用者在原厂系统之外仍然有选择。它不完美，依赖 Pixel、可能被部分 app 拒绝执行、需要一定的学习成本，但它证明了这件事在技术上可行。&lt;/p&gt; &lt;h2 id=&#34;对华语区读者的意义&#34;&gt;对华语区读者的意义&lt;a class=&#34;headerlink&#34; href=&#34;#对华语区读者的意义&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;上述变化看似都在美国的 Google 与欧盟法规层面，但离华语区读者并不远。&lt;/p&gt; &lt;p&gt;Android 17 的侧载验证，2026 年第一批试验场就包含印尼、新加坡、泰国，APAC 是最早被纳入的地区之一&lt;sup id=&#34;fnref:7&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:7&#34;&gt;7&lt;/a&gt;&lt;/sup&gt;，这类政策后续往邻近地区扩大并不意外。另一个更切身的压力是 attestation。各地的网银、行动支付、政府服务 app 越来越常检查装置是不是原厂状态。在中国大陆，本地 app 早已普遍要求装置认证与实名，非官方系统一样容易被挡。对把手机当主要上网工具的人，选用 GrapheneOS 这类系统前，要先确认自己每天必用的 app 是否仍能正常执行。&lt;/p&gt; &lt;p&gt;如果你关心能不能拥有一台真正由自己掌握的手机，GrapheneOS 是现在最成熟的选项，也是观察 Google 后续动向最直接的视角。Google 接下来的每一步，都会影响 GrapheneOS 作为可行选项还能维持多久。&lt;/p&gt; &lt;h2 id=&#34;进一步了解-GrapheneOS&#34;&gt;进一步了解 GrapheneOS&lt;a class=&#34;headerlink&#34; href=&#34;#进一步了解-GrapheneOS&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;这篇谈的是处境与脉络。GrapheneOS 本身是什么、有哪些隐私与安全设计、为什么只支持 Pixel、跟匿名工具的界线在哪，整理在 &lt;a href=&#34;../../../../tools/grapheneos/&#34;&gt;GrapheneOS：高度隐私的行动作业系统&lt;/a&gt;。操作前也建议先读 &lt;a href=&#34;../../../../basics/threat-model/&#34;&gt;威胁模型如何建立&lt;/a&gt; 与 &lt;a href=&#34;../../../../basics/anonymity-vs-privacy/&#34;&gt;匿名与隐私的差别&lt;/a&gt;，厘清自己真正的需求，再评估 GrapheneOS 是否适合自己。&lt;/p&gt; &lt;div class=&#34;footnote&#34;&gt; &lt;hr /&gt; &lt;ol&gt; &lt;li id=&#34;fn:1&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://source.android.com/docs/whatsnew/android-17-release&#34; target=&#34;_blank&#34;&gt;Android 17 release | Android Open Source Project&lt;/a&gt; - Android Open Source Project&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:2&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://9to5google.com/2025/03/26/google-android-aosp-developement-private/&#34; target=&#34;_blank&#34;&gt;Google will develop the Android OS fully in private going forward&lt;/a&gt; - 9to5Google&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:2&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:3&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.androidauthority.com/google-not-killing-aosp-3566882/&#34; target=&#34;_blank&#34;&gt;AOSP isn&#39;t dead, but Google just landed a huge blow to custom ROM developers&lt;/a&gt; - Android Authority&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:3&#34; title=&#34;Jump back to footnote 3 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:3&#34; title=&#34;Jump back to footnote 3 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:4&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://discuss.grapheneos.org/d/36469-grapheneos-has-been-ported-to-android-17-and-official-releases-are-coming-soon&#34; target=&#34;_blank&#34;&gt;GrapheneOS has been ported to Android 17 and official releases are coming soon&lt;/a&gt; - GrapheneOS Discussion Forum&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:4&#34; title=&#34;Jump back to footnote 4 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:4&#34; title=&#34;Jump back to footnote 4 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:5&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.theregister.com/on-prem/2026/03/10/microsoft_tightens_authenticator_checks_on/&#34; target=&#34;_blank&#34;&gt;Microsoft tightens Authenticator checks on Android and iOS&lt;/a&gt; - The Register&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:5&#34; title=&#34;Jump back to footnote 5 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:6&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://piunikaweb.com/2026/03/10/grapheneos-calls-on-privacy-focused-app-developers-to-boycott-european-unified-attestation/&#34; target=&#34;_blank&#34;&gt;GrapheneOS calls on privacy-focused app developers to boycott European Unified Attestation&lt;/a&gt; - PiunikaWeb&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:6&#34; title=&#34;Jump back to footnote 6 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:7&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://www.androidauthority.com/android-sideloading-changes-timeline-3679204/&#34; target=&#34;_blank&#34;&gt;Android sideloading changes: here&#39;s the full timeline&lt;/a&gt; - Android Authority&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:7&#34; title=&#34;Jump back to footnote 7 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:7&#34; title=&#34;Jump back to footnote 7 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:8&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://9to5google.com/2026/03/01/motorola-confirms-grapheneos-partnership-for-a-future-smartphone-porting-features/&#34; target=&#34;_blank&#34;&gt;Motorola confirms GrapheneOS partnership for a future smartphone&lt;/a&gt; - 9to5Google&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:8&#34; title=&#34;Jump back to footnote 8 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:9&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://piunikaweb.com/2026/03/12/grapheneos-explains-motorola-partnership-origin-the-uncertain-future-of-pixels/&#34; target=&#34;_blank&#34;&gt;GrapheneOS explains Motorola partnership origin &amp;amp; the uncertain future of Pixels&lt;/a&gt; - PiunikaWeb&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:9&#34; title=&#34;Jump back to footnote 9 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:10&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://piunikaweb.com/2026/01/26/pixel-11-could-be-the-last-new-pixel-to-gain-grapheneos-support/&#34; target=&#34;_blank&#34;&gt;Pixel 11 could be the last new Pixel to gain GrapheneOS support&lt;/a&gt; - PiunikaWeb&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:10&#34; title=&#34;Jump back to footnote 10 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-grapheneos-android-17/</link> <pubDate>Mon, 20 Jul 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-grapheneos-android-17/</guid> <enclosure url="https://assets.anoni.net/blog/2026-grapheneos-android-17.jpg" type="image/jpeg" length="887950" /> </item> <item> <title>OONI 如何分辨坏掉的测量数据：从启发式规则到匿名凭证</title> <author>anoni.net 社区</author> <category>OONI</category> <category>技术</category> <category>隐私</category> <description>&lt;h1 id=&#34;OONI-如何分辨坏掉的测量数据从启发式规则到匿名凭证&#34;&gt;OONI 如何分辨坏掉的测量数据：从启发式规则到匿名凭证&lt;a class=&#34;headerlink&#34; href=&#34;#OONI-如何分辨坏掉的测量数据从启发式规则到匿名凭证&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p&gt;本文是 anoni.net 对下面这篇 OONI 工程文章的导读与摘要，带你逐节看懂原文在做什么，不是逐字翻译。原文另有约 20 张统计图与多份完整数据表，想看数据细节请直接读原文：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;https://ooni.org/post/2026-faulty-measurements/&#34; target=&#34;_blank&#34;&gt;From Heuristics to Anonymous Credentials: Assessing OONI&#39;s Approach to Bad Measurements, OONI 2026-07-06&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;p&gt;很多人靠 OONI 的公开数据集，判断「某个网站在某个国家连不连得上」，anoni.net 自己的 ASN 涵盖观测也建立在同一份数据上。只要有人往里面灌假数据，或设备设置错误产生误导性的纪录，这份数据的可信度就会被稀释。OONI 在最近一篇工程文章&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;里完整说明，他们如何找出这些坏掉的测量，以及新上线的匿名凭证（anonymous credentials）系统如何在不保存个人数据的前提下挡掉滥用。这套「不留个人数据也能评估谁值得信任」的做法，本身就是一个值得社区参考的隐私工程范例，后面第五节会回到这点。&lt;/p&gt; &lt;p&gt;OONI（Open Observatory of Network Interference，开放网络干扰观测站）是一个全球的网络审查观测项目，手机 app OONI Probe 会连上一份网站清单，回报每个网站在当地连不连得上，结果一律进到公开数据集。任何人都能下载这份数据做分析，好处是开放，代价是任何人也都能往里面送数据。这篇文章要回答的问题，就是在开放投稿的前提下，如何辨认并过滤掉品质有问题的测量。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;这篇文章想解决的问题&#34;&gt;这篇文章想解决的问题&lt;a class=&#34;headerlink&#34; href=&#34;#这篇文章想解决的问题&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;OONI 想先用手上已经有的数据，建立一套辨认坏测量的基准，再看新的匿名凭证系统能把这个基准往上推多少。这里说的启发式（heuristic）是一组简单、成本低的判断规则，不追求百分之百准确，先用几条经验法则把可疑的测量筛出来。全文分成三大块：先用这些简单规则检查既有数据能揪出多少问题（既有启发式与四类发现），再想能补上哪些更高级的规则（新启发式），最后处理找到坏数据之后要用什么机制应对（缓解策略与匿名凭证）。&lt;/p&gt; &lt;h2 id=&#34;一既有的指针与启发式Existing-metrics-and-heuristicsApproach--Methodology&#34;&gt;一、既有的指针与启发式（Existing metrics and heuristics｜Approach &amp;amp; Methodology）&lt;a class=&#34;headerlink&#34; href=&#34;#一既有的指针与启发式Existing-metrics-and-heuristicsApproach--Methodology&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;这一节先不动用任何新技术，只问一件事：光靠 OONI 现在就收得到的数据，能不能认出坏掉的测量？他们挑了四个不需要牺牲用户隐私的检查角度：IP 地理位置对不上、测量数量暴增、时间戳记兜不拢、操作系统与版本信息互相矛盾。每个角度原文都附了但书（caveat），说明什么情况下这个信号会误判。例如探针（probe）内置的 GeoIP 数据库可能过期，导致 &lt;code&gt;probe_cc&lt;/code&gt;（探针回报的国码）本来就会跟真实 IP 对不上，分析时要先把这种正常误差滤掉。这一节是后面所有发现的方法论基础。&lt;/p&gt; &lt;h2 id=&#34;二四类异常的实际发现Assessment--Findings&#34;&gt;二、四类异常的实际发现（Assessment &amp;amp; Findings）&lt;a class=&#34;headerlink&#34; href=&#34;#二四类异常的实际发现Assessment--Findings&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;把上面四个角度实际套到数据上，得到四组发现。&lt;/p&gt; &lt;h3 id=&#34;IP-地理位置对不上&#34;&gt;IP 地理位置对不上&lt;a class=&#34;headerlink&#34; href=&#34;#IP-地理位置对不上&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;OONI 在 2025 年 3 月 19 到 21 日，于探针调用 &lt;code&gt;/api/v1/check-in&lt;/code&gt; 端点时记录 log，比对探针自己回报的国码、ASN（自治系统编号）跟收集端看到的真实出口 IP。16,139 笔样本里有 1,196 笔对不上，约 7.41%。原文列出最常见的 10 组国码错配（回报国码对照真实 IP 所在国码）：&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;回报国码&lt;/th&gt; &lt;th&gt;真实 IP 国码&lt;/th&gt; &lt;th&gt;笔数&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;US 美国&lt;/td&gt; &lt;td&gt;CA 加拿大&lt;/td&gt; &lt;td&gt;89&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CA 加拿大&lt;/td&gt; &lt;td&gt;RU 俄罗斯&lt;/td&gt; &lt;td&gt;49&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CZ 捷克&lt;/td&gt; &lt;td&gt;US 美国&lt;/td&gt; &lt;td&gt;43&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;BS 巴哈马&lt;/td&gt; &lt;td&gt;US 美国&lt;/td&gt; &lt;td&gt;36&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CA 加拿大&lt;/td&gt; &lt;td&gt;US 美国&lt;/td&gt; &lt;td&gt;30&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CA 加拿大&lt;/td&gt; &lt;td&gt;SG 新加坡&lt;/td&gt; &lt;td&gt;30&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CZ 捷克&lt;/td&gt; &lt;td&gt;GB 英国&lt;/td&gt; &lt;td&gt;25&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CA 加拿大&lt;/td&gt; &lt;td&gt;KH 柬埔寨&lt;/td&gt; &lt;td&gt;18&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;AU 澳洲&lt;/td&gt; &lt;td&gt;KH 柬埔寨&lt;/td&gt; &lt;td&gt;18&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;US 美国&lt;/td&gt; &lt;td&gt;DE 德国&lt;/td&gt; &lt;td&gt;16&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;追下去发现绝大多数对不上的来源是 VPN。出现最多的供应商是 Datacamp、Cloudflare、M247 这些已知的 VPN 机房，其中「回报加拿大、真实 IP 在俄罗斯」那 49 笔全部来自 Cloudflare，对应的是用 WARP 这类 VPN 的用户。表格里多数组合都是同一个道理，探针以为自己在 A 国，真实流量却从 B 国的 VPN 出口冒出来。结论是这些不一致几乎都跟 VPN 有关，没有看到明显可归因于恶意窜改或探针设置错误的量。&lt;/p&gt; &lt;h3 id=&#34;测量数量暴增&#34;&gt;测量数量暴增&lt;a class=&#34;headerlink&#34; href=&#34;#测量数量暴增&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;他们看每个探针在 1 分钟内产出多少笔测量，正常的平均是 8 笔，99 百分位是 54 笔。筛出每分钟超过 200 笔的极端案例后，发现一个自称 &lt;code&gt;ooniprobe-react-os&lt;/code&gt;、并非 OONI 官方发行版本的客户端。它只针对 &lt;code&gt;probe_cc = CN&lt;/code&gt;（中国）送数据，以每分钟 200 笔（相当于每秒 3 笔）的速度送出 &lt;code&gt;web_connectivity&lt;/code&gt; 测量，速率远超正常范围。更反常的是，这个来源送出测量的速度比同地区其他探针还快，量这么大却没有出现对应的网络瓶颈。另一个案例是缅甸在 2025 年 1 月 6 日出现的阵发性暴增。&lt;/p&gt; &lt;h3 id=&#34;时间戳记兜不拢&#34;&gt;时间戳记兜不拢&lt;a class=&#34;headerlink&#34; href=&#34;#时间戳记兜不拢&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;比对测量开始时间 &lt;code&gt;measurement_start_time&lt;/code&gt; 跟 &lt;code&gt;measurement_uid&lt;/code&gt; 里内含的时间戳，看有没有「太晚上传」或「时间来自未来」的纪录。2025 年 3 月 2 日到 4 月 1 日这段，3,440 多万笔测量里只有 0.82% 有时间异常，多数是过去、集中在 Linux。原文依平台拆解如下，Linux 的异常率 2.16% 明显高于其他平台：&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;平台&lt;/th&gt; &lt;th&gt;过去异常（&amp;gt;1h）&lt;/th&gt; &lt;th&gt;未来异常（&amp;gt;1h）&lt;/th&gt; &lt;th&gt;异常合计&lt;/th&gt; &lt;th&gt;该平台总量&lt;/th&gt; &lt;th&gt;异常率&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;ios&lt;/td&gt; &lt;td&gt;2,375&lt;/td&gt; &lt;td&gt;0&lt;/td&gt; &lt;td&gt;2,375&lt;/td&gt; &lt;td&gt;240,843&lt;/td&gt; &lt;td&gt;0.99%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;windows&lt;/td&gt; &lt;td&gt;34,192&lt;/td&gt; &lt;td&gt;24,938&lt;/td&gt; &lt;td&gt;59,130&lt;/td&gt; &lt;td&gt;10,503,040&lt;/td&gt; &lt;td&gt;0.56%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;android&lt;/td&gt; &lt;td&gt;21,132&lt;/td&gt; &lt;td&gt;5,509&lt;/td&gt; &lt;td&gt;26,641&lt;/td&gt; &lt;td&gt;10,389,320&lt;/td&gt; &lt;td&gt;0.26%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;macos&lt;/td&gt; &lt;td&gt;906&lt;/td&gt; &lt;td&gt;0&lt;/td&gt; &lt;td&gt;906&lt;/td&gt; &lt;td&gt;3,103,961&lt;/td&gt; &lt;td&gt;0.03%&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;linux&lt;/td&gt; &lt;td&gt;185,322&lt;/td&gt; &lt;td&gt;7,908&lt;/td&gt; &lt;td&gt;193,230&lt;/td&gt; &lt;td&gt;8,947,716&lt;/td&gt; &lt;td&gt;2.16%&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;这里有一个很具体的例子：大量异常来自委内瑞拉同一个 ASN，OONI 联系上当地伙伴后发现，是那批设备的时区被设错了。把委内瑞拉排除后，Linux 的异常数字大幅下降，其他平台几乎不变。设置错误就足以产生误导性的纪录，不必然是恶意。&lt;/p&gt; &lt;h3 id=&#34;操作系统与版本信息互相矛盾&#34;&gt;操作系统与版本信息互相矛盾&lt;a class=&#34;headerlink&#34; href=&#34;#操作系统与版本信息互相矛盾&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;检查软件名称跟平台兜不兜得起来，例如 &lt;code&gt;software_name = ooniprobe-android&lt;/code&gt; 却标成 iOS。找到 718 笔 Android 软件运作于非 Android 平台上，其中一部分追出来是 OONI 团队成员自己开发用的机器，另一部分又是前面那个中国来源的 &lt;code&gt;ooniprobe-react-os&lt;/code&gt;。他们也列出几个没见过的软件名称（Vladhog、murakami-ooniprobe、MySorgenia、Dismantle 等），逐一查证是什么来路。很多看起来可疑的数据，多半来自开发过程或第三方 fork，跟攻击无关。&lt;/p&gt; &lt;p&gt;四类发现合起来给出一个让人安心的结论：OONI 目前没有在数据里找到大量恶意污染，绝大多数异常来自 VPN、设置错误、开发机器或非官方分支。防御机制要做，但威胁目前不是迫在眉睫的大规模攻击。&lt;/p&gt; &lt;p&gt;这个结论对我们有直接意义。anoni.net 的 ASN 涵盖分析、Tor Relay 观测点都建立在 OONI 公开数据上，看到源头没有被大量污染，用起来可以比较放心。同时这四类发现也提醒我们，读 ASN 数据时 &lt;code&gt;probe_cc&lt;/code&gt; 不等于当地实际的连接状况（ground truth）。VPN 造成的地理错配、时区设错这类噪声本来就存在，做分析时要记得先滤掉。&lt;/p&gt; &lt;h2 id=&#34;三想再补上的新启发式New-heuristics&#34;&gt;三、想再补上的新启发式（New heuristics）&lt;a class=&#34;headerlink&#34; href=&#34;#三想再补上的新启发式New-heuristics&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;既有规则之外，OONI 想再加几种更高级的检测。定位一直是最大的难题，因为 GeoIP 数据库由探针自己查、又会过期。他们考虑的补强包括：向手机操作系统取得移动网络的国码与运营商代码（MCC/MNC）、询问操作系统的定位服务、或改在服务器端做 IP 到地点的对照。每种做法原文都附了限制，例如服务器端对照会被翻墙工具挡在中间、看不到真实 IP，问定位权限则可能引起用户疑虑。另外还想加上网络层与协定层的异常检测，例如从 TLS 交握的指纹认出中间人设备（像是改写流量的杀毒软件）。&lt;/p&gt; &lt;h2 id=&#34;四找到坏数据之后如何处理Strategies-for-mitigating-faulty-measurements&#34;&gt;四、找到坏数据之后如何处理（Strategies for mitigating faulty measurements）&lt;a class=&#34;headerlink&#34; href=&#34;#四找到坏数据之后如何处理Strategies-for-mitigating-faulty-measurements&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;检测只是第一步，接下来是处置。OONI 定了两条原则。第一，最终判定一笔测量是不是坏数据，要有人类审查介入，避免自动化把好数据误杀。第二，除非牵涉用户隐私，否则绝不回头修改已经送进来的数据。因为要有人类把关，处置只能在坏数据已经进入数据管线之后才做。可用的手段包括封锁行为异常的假名（pseudonym）、对投稿做限流、动态调整某地区某时段能接受的投稿量、或轮换签发密钥。这里的假名是匿名凭证系统给「同一个网络里的一台探针」的识别，同一网络内固定、跨网络无法被串连，也对应不到某个人的真实身分，第五节会说明它如何做到。文章也诚实点出两难：如果规定「只有半年以上的探针才能投稿」来挡 sybil 攻击（大量假身分灌数据），也会连带影响到正常新探针的投稿。&lt;/p&gt; &lt;h2 id=&#34;五匿名凭证系统如何运作Assessing-the-effectiveness-of-the-solution&#34;&gt;五、匿名凭证系统如何运作（Assessing the effectiveness of the solution）&lt;a class=&#34;headerlink&#34; href=&#34;#五匿名凭证系统如何运作Assessing-the-effectiveness-of-the-solution&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;匿名凭证系统是整篇的重点。先看「土法炼钢」的做法会遇到什么坑：给每个探针一个 ID、服务器端做白名单。问题是就算随机 ID，只要固定不变就足以辨识出单一探针，本身就是隐私灾难，而且探针换一个新 ID 就能绕过，变成打地鼠。如何在不长期保存个人数据的前提下，同时做到访问控制与信任评分，就成了这套系统要解决的核心矛盾。&lt;/p&gt; &lt;p&gt;这套机制用一个生活化的比喻就好懂。像酒吧门口只要你出示一张「证明我已成年」的证件，店员确认过关就好，不需要知道你叫什么、住哪里、生日是哪天。OONI 的凭证则用来证明另一组事情，这台探针的资历够老、投稿数量够多。&lt;/p&gt; &lt;p&gt;凭证由服务器签发，只存在探针本地、不存在服务器，也不会再次外传。它用密码学把探针的资历（age）与投稿数（&lt;code&gt;msm_count&lt;/code&gt;）编码进去，而且只证明落在某个「区间」，例如「投稿超过 1000 笔」、「存在超过一周」，不透露精确值。用区间而非精确数字是刻意的设计，因为精确的投稿数几乎是独一无二的指纹，会反过来让探针被认出来，粗略的区间才不会泄漏身分。&lt;/p&gt; &lt;p&gt;投稿时，探针用凭证产生一段零知识证明（一种只证明某件事为真、但不透露细节的密码学方法），服务器只看到证明本身、看不到底下的真实数值，就能判断这笔测量符不符合访问规则，例如「某个国家、某个 ASN 的探针，要投稿满 1000 笔才收」。信任分数还会锁定在特定的国码与 ASN 组合，一台探针在某个网络累积的信誉，不能跨到另一个网络使用，这正是为了防止有人在低门槛网络先养好凭证、再拿去攻击别的网络。&lt;/p&gt; &lt;p&gt;具体走一遍会像这样：一台全新的探针一开始资历浅、投稿数低，很多严格规则都还进不去，只能先老实执行测量。每投一笔，服务器在验证通过后回一张更新过的凭证，把投稿数往上加一。日子久了、量累积够了，这台探针跨过「满一周」、「满 1000 笔」的门槛，之后送的测量就能被标成 verified。整个过程里，OONI 从头到尾没取得这台探针的固定 ID，也没存下它的任何个人数据。&lt;/p&gt; &lt;p&gt;那有人会问，既然凭证只存在探针本地，拷贝一百份不就能假装成一百台各有信誉的探针？关键在前面说的网络内固定这个性质。同一个网络里，同一份凭证推导出来的假名是同一个，拷贝再多份，在同一个网络里仍然被看成同一台探针，不会变成一百个各自独立的可信身分。OONI 也很坦白，光靠凭证不能完全解决 sybil 攻击，彻底的防御要靠应用层的手段，例如限制新帐号注册速率、对每个区域的投稿量设上限。凭证的作用是提高攻击成本，逼对手先养出一批够老、送过够多测量的探针，没那么容易。&lt;/p&gt; &lt;p&gt;每笔测量最后会被标成 verified、unverified 或 failed 三种状态，数据用户可以自己决定要采信到什么程度。这套系统上线后，有些效果要长期观察才看得出来。OONI 会持续追踪 verified、unverified、failed 三类测量的比例变化，用来诊断是不是某次客户端更新让协定实现出现错误、或老探针没更新。他们也会统计各协定版本的探针数量，以及在服务器端执行一笔验证要花多少时间，及早抓出性能退化。&lt;/p&gt; &lt;p&gt;回到社区的角度，这套系统对 anoni.net 读者的价值不只在 OONI 自己。「如何在不保存个人数据的前提下做访问控制与信任评分」是很多系统都会遇到的难题，OONI 用区间揭露、凭证只存本地、放弃精准封锁来换取匿名性，这套取舍思路对关心隐私设计的人是很好的教材，也呼应我们社区个人隐私指引的主题。&lt;/p&gt; &lt;h2 id=&#34;小结这份数据能不能放心用&#34;&gt;小结：这份数据能不能放心用&lt;a class=&#34;headerlink&#34; href=&#34;#小结这份数据能不能放心用&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;OONI 的公开数据目前没有被大量恶意污染，看到的异常多半来自 VPN、时区设错、开发机器这类无心之过，可以放心继续用它来理解各地（包括你所在地区）的封锁状况。想更深入匿名凭证背后的密码学，OONI 另有两篇姊妹篇可以接着读：一篇谈这套系统的&lt;a href=&#34;https://ooni.org/post/2025-requirements-for-oonis-anonymous-credentials/&#34; target=&#34;_blank&#34;&gt;设计需求&lt;/a&gt;&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:2&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;，一篇&lt;a href=&#34;https://ooni.org/post/2025-announcing-ooni-new-anonymous-credential-system/&#34; target=&#34;_blank&#34;&gt;宣布系统上线&lt;/a&gt;&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:3&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt; &lt;h2 id=&#34;原文十个大节回顾&#34;&gt;原文十个大节回顾&lt;a class=&#34;headerlink&#34; href=&#34;#原文十个大节回顾&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;看完全文，这张表把原文十个大节的重点与关键数字收在一起，方便日后回查或跳读。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;原文大节&lt;/th&gt; &lt;th&gt;重点&lt;/th&gt; &lt;th&gt;关键数字或结论&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Existing metrics and heuristics｜Approach&lt;/td&gt; &lt;td&gt;用既有数据建立检测基准&lt;/td&gt; &lt;td&gt;四个不牺牲隐私的检查角度&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;IP geolocation mismatches&lt;/td&gt; &lt;td&gt;探针回报位置对照真实 IP&lt;/td&gt; &lt;td&gt;7.41% 对不上，多数是 VPN&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Measurement volume anomalies&lt;/td&gt; &lt;td&gt;单一探针投稿速率暴增&lt;/td&gt; &lt;td&gt;中国 &lt;code&gt;ooniprobe-react-os&lt;/code&gt; 每秒 3 笔&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Timestamp inconsistencies&lt;/td&gt; &lt;td&gt;测量时间戳前后兜不拢&lt;/td&gt; &lt;td&gt;0.82% 异常，委内瑞拉时区设错&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Probe OS, version metadata&lt;/td&gt; &lt;td&gt;软件名称与平台互相矛盾&lt;/td&gt; &lt;td&gt;718 笔，含团队开发机&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;New heuristics&lt;/td&gt; &lt;td&gt;想再补上的高级检测&lt;/td&gt; &lt;td&gt;MCC/MNC、服务器端 GeoIP、TLS 指纹&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Mitigation strategies&lt;/td&gt; &lt;td&gt;找到坏数据之后的处置&lt;/td&gt; &lt;td&gt;人类把关、不回改、限流、挡 sybil&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Naive solution&lt;/td&gt; &lt;td&gt;土法炼钢会踩的坑&lt;/td&gt; &lt;td&gt;固定 ID 就能去匿名，还会变打地鼠&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Anonymous credentials solution&lt;/td&gt; &lt;td&gt;凭证式信任评分&lt;/td&gt; &lt;td&gt;区间揭露、只存本地、没有固定 ID&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Future validation&lt;/td&gt; &lt;td&gt;长期验证指针&lt;/td&gt; &lt;td&gt;追踪 verified/unverified/failed 比例&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;h2 id=&#34;名词对照&#34;&gt;名词对照&lt;a class=&#34;headerlink&#34; href=&#34;#名词对照&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;原文用了不少 OONI 专有字段名词，这里整理一份对照，方便对照原文阅读。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;名词&lt;/th&gt; &lt;th&gt;说明&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;启发式（heuristic）&lt;/td&gt; &lt;td&gt;一组简单、成本低的判断规则，不追求完美，先把可疑的测量筛出来&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;OONI Probe&lt;/td&gt; &lt;td&gt;OONI 的手机与桌面 app，会去连一份网站清单、回报每个网站在当地连不连得上&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;probe（探针）&lt;/td&gt; &lt;td&gt;运行测量的设备或程序&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;probe_cc&lt;/code&gt;&lt;/td&gt; &lt;td&gt;探针回报的国码（country code）&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;probe_asn&lt;/code&gt;&lt;/td&gt; &lt;td&gt;探针回报的 ASN&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ASN&lt;/td&gt; &lt;td&gt;自治系统编号（Autonomous System Number），一段 IP 地址的管理单位，通常对应一家 ISP 或机构&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;msm_count&lt;/code&gt;&lt;/td&gt; &lt;td&gt;该探针累积投稿的测量数（measurement count）&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;check-in 端点&lt;/td&gt; &lt;td&gt;探针开始测量前调用的 API，会回报自己的国码与 ASN&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;web_connectivity&lt;/code&gt;&lt;/td&gt; &lt;td&gt;OONI 最常见的测试，测某个网站在当地连不连得上&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ground truth&lt;/td&gt; &lt;td&gt;当地实际的连接状况，拿来跟探针回报的数据对照的「真实答案」&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;sybil 攻击&lt;/td&gt; &lt;td&gt;用大量假身分灌数据、扭曲观测结果的攻击&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;pseudonym（假名）&lt;/td&gt; &lt;td&gt;匿名凭证下代表「同区域、同 IP」一群探针的识别，不是个人身分 ID&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;verified、unverified、failed&lt;/td&gt; &lt;td&gt;匿名凭证系统给每笔测量的三种信任标记&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;h2 id=&#34;相关阅读&#34;&gt;相关阅读&lt;a class=&#34;headerlink&#34; href=&#34;#相关阅读&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/what-is-ooni/&#34;&gt;什么是 OONI&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/ooni-asn-coverage/&#34;&gt;OONI ASN 涵盖观测（台湾案例）&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/tor-relay-watcher/&#34;&gt;Tor Relays 观测点&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../06/2026-ooni-run-v2-usage-patterns/&#34;&gt;我们普查了 336 条 OONI Run v2 清单，3 条就占了全网 72% 的检测量&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../community/privacy-guide/&#34;&gt;个人隐私指引研究专题&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;div class=&#34;footnote&#34;&gt; &lt;hr /&gt; &lt;ol&gt; &lt;li id=&#34;fn:1&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://ooni.org/post/2026-faulty-measurements/&#34; target=&#34;_blank&#34;&gt;From Heuristics to Anonymous Credentials: Assessing OONI&#39;s Approach to Bad Measurements, OONI 2026-07-06&lt;/a&gt;&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:2&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://ooni.org/post/2025-requirements-for-oonis-anonymous-credentials/&#34; target=&#34;_blank&#34;&gt;Requirements for OONI&#39;s anonymous credentials, OONI&lt;/a&gt;&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:2&#34; title=&#34;Jump back to footnote 2 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li id=&#34;fn:3&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://ooni.org/post/2025-announcing-ooni-new-anonymous-credential-system/&#34; target=&#34;_blank&#34;&gt;Announcing OONI&#39;s new anonymous credential system, OONI&lt;/a&gt;&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:3&#34; title=&#34;Jump back to footnote 3 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-ooni-faulty-measurements/</link> <pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/07/2026-ooni-faulty-measurements/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/post-update.png" type="image/png" length="81353" /> </item> <item> <title>COSCUP 2026 匿名网络社群议程轨：8/08、8/09 两天，免费入场、走进教室就能参加</title> <author>anoni.net 社区</author> <category>活动</category> <category>社区</category> <description>&lt;h1 id=&#34;COSCUP-2026-匿名网络社群议程轨808809-两天免费入场走进教室就能参加&#34;&gt;COSCUP 2026 匿名网络社群议程轨：8/08、8/09 两天，免费入场、走进教室就能参加&lt;a class=&#34;headerlink&#34; href=&#34;#COSCUP-2026-匿名网络社群议程轨808809-两天免费入场走进教室就能参加&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;&lt;img alt=&#34;COSCUP 2026 匿名网络社群议程轨主视觉&#34; src=&#34;https://assets.anoni.net/event/anoni-net-eth-taipei.webp&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;记者要保护消息来源、公民团体要守住成员名单与捐款人数据的安全、开发者想确认手上的工具真的挡得住监控，也有被诈骗短信吓过、被广告一路持续追踪而想拿回一点主导权的一般人。在审查与监控扩散的环境里，这些需求落在同一组风险上，通信可能被拦截、身份可能被追踪，一笔转账的时间与金额就足以反推出整张关系网。&lt;/p&gt; &lt;p&gt;匿名网络社群把这一年在 Tor、Tails、OONI 这些开源隐私与反审查工具，以及个人隐私、匿名支付上累积的实现经验，带进 COSCUP 2026 的开源社群现场。8/08、8/09 两天，我们在台湾科技大学开了一整条社群议程轨，从网络与审查如何运作谈起，一路到现实世界的开源隐私工具、校园 Tor 节点、浏览器追踪、健保数据库的个资权利，以及和 ETHTaipei（台北以太坊社群）合办的匿名支付场。不论你是来找马上能用的工具，还是想一起贡献开源项目，都能挑到对应的场次。&lt;/p&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;活动信息&lt;/p&gt; &lt;ul&gt; &lt;li&gt;日期：2026/08/08（六）、2026/08/09（日）&lt;/li&gt; &lt;li&gt;地点：国立台湾科技大学（NTUST），社群议程轨在 &lt;code&gt;TR-510&lt;/code&gt;，8/08 下午与 ETHTaipei 合办场在 &lt;code&gt;TR-511&lt;/code&gt;&lt;/li&gt; &lt;li&gt;入场：COSCUP 免费入场，社群议程轨不需另外报名，当天到场即可参与&lt;/li&gt; &lt;li&gt;参加方式：当天可自由选听场次、中途进出，不需全程参与。交通与教室位置以 COSCUP 官方场地信息为准，议程时间到活动前仍可能微调，以 COSCUP 官方议程为准&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;p&gt;&lt;a class=&#34;md-button md-button--primary&#34; href=&#34;../../../../activity/coscup-2026/&#34;&gt;看完整议程与各场摘要&lt;/a&gt;&lt;/p&gt; &lt;!-- more --&gt; &lt;div class=&#34;admonition tip&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;走进教室就好，可以「匿名」来参加&lt;/p&gt; &lt;p&gt;一个推广匿名的社群，参加方式本身也可以匿名，你不必为了听议程留下任何个人信息。如果你正在为隐私、匿名的需求找解法，非常欢迎直接走进 &lt;code&gt;TR-510&lt;/code&gt;（8/08 下午的匿名支付场在 &lt;code&gt;TR-511&lt;/code&gt;），从这次的议程里挑到适合自己的场次，中场也欢迎来跟讲者和社群成员聊聊。&lt;/p&gt; &lt;/div&gt; &lt;h2 id=&#34;两天议程重点&#34;&gt;两天议程重点&lt;a class=&#34;headerlink&#34; href=&#34;#两天议程重点&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;议程刻意做成从入门到协议层（偏底层的技术实现）都有，可以照自己的背景挑场次，完整的十六场议程与各场摘要都放在&lt;a href=&#34;../../../../activity/coscup-2026/&#34;&gt;活动页&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;8/08 上午，四场开源匿名网络导论（&lt;code&gt;TR-510&lt;/code&gt;）&lt;/strong&gt;。前三场由社群成员担纲，第四场是邀请议程。四场都特别适合公民团体、新闻媒体与独立记者，也适合第一次接触这些主题的人。四场从入门角度切入，扣着开源主轴，介绍匿名网络社群在做什么、如何用威胁模型（先想清楚要防的是谁）与 Metadata（谁在什么时间联系了谁的纪录）判断自己该防谁、记者与 NGO 现实中在用哪些开源工具，以及如何以开放标准的可验证凭证证明资格，而不必揭露身分。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;8/08 下午，和 ETHTaipei 合办的匿名支付场（&lt;code&gt;TR-511&lt;/code&gt;）&lt;/strong&gt;。五场议程把技术含量拉到协议层，从零知识证明结合自然人凭证、KYC 的隐私保护流程、链上隐匿地址，一路到隐私加密金流与实现工作坊。这几场偏技术，没有区块链背景的读者可以先听上午谈匿名资格验证的那场，下午前两场正好是它在协议层的实现，再决定要不要进来。上午社群导论谈「为什么要用」，下午接续展开「如何实现」，NGO 与记者能了解捐款金流的隐私风险，开发者能看到协议层的实现，欢迎在两个议程轨之间跨场。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;8/09 全天，七场录取议程（&lt;code&gt;TR-510&lt;/code&gt;）&lt;/strong&gt;。题材从网络与审查如何运作的基础，到 OpenWRT（开源路由器系统）家用网络、台师大 Tor 节点创建实务、浏览器指纹追踪、健保数据库的停止利用权（不同意个资被挪作其他用途的权利），再到涵盖个人到组织的隐私指南 2026。技术场与贴近生活的场交错，开发者、记者、公民团体都找得到适合自己的场。&lt;/p&gt; &lt;h2 id=&#34;依你的身份从这几场开始&#34;&gt;依你的身份，从这几场开始&lt;a class=&#34;headerlink&#34; href=&#34;#依你的身份从这几场开始&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;新闻媒体、独立记者&lt;/strong&gt;：先听 8/08 上午「现实世界的开源隐私工具」与「威胁模型与 Metadata 入门」，8/09 下午的「浏览器追踪技术、反追踪策略」会拆解你每天用的浏览器如何泄漏你联系过谁，可延伸看&lt;a href=&#34;../../../../scenarios/journalist/&#34;&gt;记者保护消息来源&lt;/a&gt;。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;公民团体、NGO&lt;/strong&gt;：8/08 上午四场导论最贴近组织处境，想评估匿名捐款管道，下午 ETHTaipei 合办场的「我不洗钱，为何要理解匿名支付？」是白话入门，不需要加密货币背景。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;开源、科技社群&lt;/strong&gt;：8/09 技术含量最高，OpenWRT、台师大 Tor 节点、浏览器指纹研究都能实际操作，8/08 下午的零知识证明与隐匿地址是协议层最扎实的内容。想一起贡献见&lt;a href=&#34;../../../../community/how-to-contribute/&#34;&gt;如何参与&lt;/a&gt;。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;想拿回上网主导权的一般人&lt;/strong&gt;：8/09 下午「浏览器追踪技术、反追踪策略」拆解你每天用的浏览器如何被追踪，「隐私指南 2026」给出从个人到设备的实用防护。8/09 上午「The Workings of the Internet」用寄明信片的比喻，说清楚你连上网站时路上有谁能偷看，英文进行、但不预设技术背景。&lt;/li&gt; &lt;/ul&gt; &lt;h2 id=&#34;八月台科大见&#34;&gt;八月，台科大见&lt;a class=&#34;headerlink&#34; href=&#34;#八月台科大见&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;不用等到活动当天才认识我们。想先了解社群、或想一起把 Tor、OONI、翻译与节点架设做起来，都可以先从&lt;a href=&#34;../../../../community/how-to-contribute/&#34;&gt;如何参与与认领主题&lt;/a&gt;开始。活动当天，带着同事、伙伴一起走进 &lt;code&gt;TR-510&lt;/code&gt; 就好。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../activity/coscup-2026/&#34;&gt;COSCUP 2026 匿名网络社群议程轨&lt;/a&gt;：两天完整议程、各场摘要与讲者简介&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../activity/coscup-2026-cfp/&#34;&gt;COSCUP 2026 公开征稿&lt;/a&gt;：征稿主题、跨社群合作与投稿说明&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../01/2025to2026/&#34;&gt;延续 2025，走向 2026：个人隐私指引、Tor Relay 校园创建竞赛、匿名支付探索&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../about/&#34;&gt;关于我们&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;活动更新与联系&lt;/p&gt; &lt;p&gt;议程细节与时间到活动前仍可能调整，最新时间请以 &lt;a href=&#34;https://pretalx.coscup.org/coscup-2026/&#34; target=&#34;_blank&#34;&gt;COSCUP 官方议程&lt;/a&gt; 为准。想收到社群活动通知，欢迎&lt;a href=&#34;../../../../contact/&#34;&gt;持续关注&lt;/a&gt;我们的电子报与联系管道。&lt;/p&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/07/coscup-2026-community-track/</link> <pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/07/coscup-2026-community-track/</guid> <enclosure url="https://assets.anoni.net/event/anoni-net-eth-taipei.webp" type="image/webp" length="67724" /> </item> <item> <title>出国前数字安全：把该问的问题，带回去问你自己的 AI</title> <author>anoni.net 社区</author> <category>社区</category> <category>隐私</category> <description>&lt;h1 id=&#34;出国前数字安全把该问的问题带回去问你自己的-AI&#34;&gt;出国前数字安全：把该问的问题，带回去问你自己的 AI&lt;a class=&#34;headerlink&#34; href=&#34;#出国前数字安全把该问的问题带回去问你自己的-AI&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;figure&gt; &lt;a href=&#34;https://assets.anoni.net/blog/travel-ai-briefing.png&#34; target=&#34;_blank&#34;&gt; &lt;img src=&#34;https://assets.anoni.net/blog/travel-ai-briefing.png&#34; alt=&#34;插图：左侧一个 AI 助理把散落的数据卡片（Wi-Fi、定位、锁头、SIM、QR 等）收拢，沿着虚线整理成右侧一张有盾牌外框的行前概况清单，上方有一架飞机与航线弧线&#34; title=&#34;把散落各处的情报，整理成一份有保护的行前概况&#34; class=&#34;brand-frame&#34;&gt; &lt;/a&gt; &lt;/figure&gt; &lt;p&gt;出国前大家都会查签证、插头、换汇，却很少有人查「我要去的地方，网络被怎么管？我的工作在那里合不合法？出事打给谁？」对记者、人权工作者、NGO 成员与研究者来说，这些才是真正影响安全的问题，难的是出发前你根本不知道该问什么。&lt;/p&gt; &lt;!-- more --&gt; &lt;p&gt;这些答案散在各种审查测量、各国外交部公告与新闻里，平常没人会一条一条去翻。AI 助理很适合把这种数据收拢成一份，但真正派得上用场的问题，自己不一定想得到，像是「入境时海关会不会搜你的手机、要不要你交出密码」，或「落地后哪些 VPN 还能用、Signal 连不连得上」。问错问题，AI 只会给你观光客视角的答案。&lt;/p&gt; &lt;p&gt;所以我们新做了一页，把这些「该问的问题」整理成一包可以直接复制的 prompt。你复制后带回去问你自己信任的 AI（你平常用的 ChatGPT、Claude，或自行架设的本地模型都行），让它帮你把目的地的审查、法律、SIM 与紧急联络整理成一份行前概况。&lt;/p&gt; &lt;p&gt;这样分工下，你的目的地和身分这种敏感信息不会送到我们的服务器。要问什么是公开、固定的，谁都能检查。同一包问题对任何国家都适用，换一个目的地不用重来。&lt;/p&gt; &lt;p&gt;完整的开场 prompt 与十几个调查问题都在 &lt;a href=&#34;../../../../scenarios/travel-ai-briefing/&#34;&gt;出国前数字安全：用 AI 自助生成目的地概况&lt;/a&gt;，照着复制就能开始。如果你的目的地在东亚、东南亚，我们另外整理了一份预先填好十四地的对照表 &lt;a href=&#34;../../../../scenarios/asia-travel/&#34;&gt;出差与研讨会的数字准备&lt;/a&gt;，两页可以互相对照。&lt;/p&gt; &lt;p&gt;有特定目的地的实地经验想分享，欢迎到 &lt;a href=&#34;../../../../community/tools/&#34;&gt;Matrix 公开 room&lt;/a&gt; 讨论，或匿名寄到 &lt;a href=&#34;mailto:whisper@anoni.net&#34;&gt;whisper@anoni.net&lt;/a&gt;。&lt;/p&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/06/travel-ai-briefing/</link> <pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/06/travel-ai-briefing/</guid> <enclosure url="https://assets.anoni.net/blog/travel-ai-briefing.png" type="image/png" length="84218" /> </item> <item> <title>我们普查了 336 条 OONI Run v2 清单，3 条就占了全网 72% 的检测量</title> <author>anoni.net 社区</author> <category>OONI</category> <category>技术</category> <description>&lt;h1 id=&#34;我们普查了-336-条-OONI-Run-v2-清单3-条就占了全网-72-的检测量&#34;&gt;我们普查了 336 条 OONI Run v2 清单，3 条就占了全网 72% 的检测量&lt;a class=&#34;headerlink&#34; href=&#34;#我们普查了-336-条-OONI-Run-v2-清单3-条就占了全网-72-的检测量&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;p&gt;&lt;img alt=&#34;OONI Run v2 使用样态普查&#34; src=&#34;https://assets.anoni.net/docs/ooni-run-v2-header.png&#34; style=&#34;border-radius: 10px;box-shadow:1px 1px 0.6rem #00aeff;&#34; /&gt;&lt;/p&gt; &lt;p&gt;全世界的 OONI Run v2 累积产出 1,417 万笔检测，其中 3 条清单就占了 72%。占比最高的几条清单用了同一种作法，每条只针对一个特定的审查或封锁现象，再用一个持续运行的测量后端定期运行、长期累积数据。我们对全部 Run v2 做了一次普查，量出集中的程度，也整理出这套作法对想做本地连接观测的社区有什么参考价值。&lt;/p&gt; &lt;p&gt;OONI（Open Observatory of Network Interference，开放网络干扰观测站）是一个全球的网络审查观测项目，它的手机 app OONI Probe 会去连一份网站清单，回报每个网站在当地连不连得上。OONI Run v2 则让任何人都能自己编一份想观测的网站清单、产生一条链接，别人用 OONI Probe 点开链接就能照这份清单测一轮，结果一律进到 OONI 的公开数据集。这个功能不必写程序就能定义自己的观测目标，但知道、用过的人并不多，这也是我们想盘点它实际如何被使用的原因。&lt;/p&gt; &lt;!-- more --&gt; &lt;h2 id=&#34;我们做了什么普查&#34;&gt;我们做了什么普查&lt;a class=&#34;headerlink&#34; href=&#34;#我们做了什么普查&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;我们以 2026-06-01 为快照，盘点了 OONI Run v2 上全部存活的 336 条检测链接，逐条用 OONI 的 aggregation API&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; 取得每条检测链接的生涯检测量，再依清单主题分群。下面的数字都以这个快照为准，数据源与前提整理在文末。&lt;/p&gt; &lt;h2 id=&#34;母体有多大337-条两年&#34;&gt;母体有多大：337 条，两年&lt;a class=&#34;headerlink&#34; href=&#34;#母体有多大337-条两年&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;OONI Run v2 从 2024-04-24 第一条检测链接上线到现在约 26 个月，全世界总共只创建过 337 条检测链接（其中 1 条已被删除，现存 336 条）。创建数在 2024 年 10 到 12 月冲高，之后稳定在每月 10 到 19 条之间。157 个不重复作者参与，332 条走网络连接测试（Web Connectivity），几乎清一色在测网站可达性。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;每月新建的 Run v2 检测链接数量 &lt;vegachart style=&#39;width: 100%&#39; class=&#34;vegalite&#34;&gt;{&#34;description&#34;:&#34;OONI Run v2 links created per month&#34;,&#34;data&#34;:{&#34;values&#34;:[{&#34;m&#34;:&#34;2024-04&#34;,&#34;n&#34;:4},{&#34;m&#34;:&#34;2024-06&#34;,&#34;n&#34;:1},{&#34;m&#34;:&#34;2024-07&#34;,&#34;n&#34;:1},{&#34;m&#34;:&#34;2024-09&#34;,&#34;n&#34;:3},{&#34;m&#34;:&#34;2024-10&#34;,&#34;n&#34;:23},{&#34;m&#34;:&#34;2024-11&#34;,&#34;n&#34;:54},{&#34;m&#34;:&#34;2024-12&#34;,&#34;n&#34;:28},{&#34;m&#34;:&#34;2025-01&#34;,&#34;n&#34;:14},{&#34;m&#34;:&#34;2025-02&#34;,&#34;n&#34;:9},{&#34;m&#34;:&#34;2025-03&#34;,&#34;n&#34;:19},{&#34;m&#34;:&#34;2025-04&#34;,&#34;n&#34;:16},{&#34;m&#34;:&#34;2025-05&#34;,&#34;n&#34;:11},{&#34;m&#34;:&#34;2025-06&#34;,&#34;n&#34;:9},{&#34;m&#34;:&#34;2025-07&#34;,&#34;n&#34;:18},{&#34;m&#34;:&#34;2025-08&#34;,&#34;n&#34;:14},{&#34;m&#34;:&#34;2025-09&#34;,&#34;n&#34;:17},{&#34;m&#34;:&#34;2025-10&#34;,&#34;n&#34;:8},{&#34;m&#34;:&#34;2025-11&#34;,&#34;n&#34;:8},{&#34;m&#34;:&#34;2025-12&#34;,&#34;n&#34;:19},{&#34;m&#34;:&#34;2026-01&#34;,&#34;n&#34;:10},{&#34;m&#34;:&#34;2026-02&#34;,&#34;n&#34;:12},{&#34;m&#34;:&#34;2026-03&#34;,&#34;n&#34;:14},{&#34;m&#34;:&#34;2026-04&#34;,&#34;n&#34;:10},{&#34;m&#34;:&#34;2026-05&#34;,&#34;n&#34;:14}]},&#34;mark&#34;:{&#34;type&#34;:&#34;bar&#34;,&#34;tooltip&#34;:true,&#34;color&#34;:&#34;#00aeff&#34;},&#34;encoding&#34;:{&#34;x&#34;:{&#34;field&#34;:&#34;m&#34;,&#34;type&#34;:&#34;ordinal&#34;,&#34;title&#34;:&#34;月份&#34;,&#34;axis&#34;:{&#34;labelAngle&#34;:-45}},&#34;y&#34;:{&#34;field&#34;:&#34;n&#34;,&#34;type&#34;:&#34;quantitative&#34;,&#34;title&#34;:&#34;新建检测链接数&#34;}}}&lt;/vegachart&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;对一个全球性的审查观测工具来说，两年 337 条是个不大的数字。只看创建数，很容易得到「Run v2 没什么人用」的结论，下一段的使用量数据会推翻它。&lt;/p&gt; &lt;h2 id=&#34;使用量极度集中基尼系数-0981&#34;&gt;使用量极度集中：基尼系数 0.981&lt;a class=&#34;headerlink&#34; href=&#34;#使用量极度集中基尼系数-0981&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;把 336 条检测链接的生涯检测量加起来是 14,171,627 笔。总量不算少，问题在分布极不平均。以检测量计算的基尼系数（Gini coefficient）是 0.981，几乎逼近完全不均的 1.0。&lt;/p&gt; &lt;div class=&#34;admonition note&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;为什么用基尼系数&lt;/p&gt; &lt;p&gt;基尼系数原本用来衡量所得分配的不平均，数值介于 0 到 1，把整个分布的集中程度浓缩成一个数字。0 代表完全平均，每条检测链接产出一样多的检测。1 代表完全集中，所有检测都来自同一条检测链接。&lt;/p&gt; &lt;p&gt;用在这里很合适，因为每条检测链接的检测量都是非负的数量，要回答的问题刚好是全网检测量有多集中在少数检测链接上。基尼系数在数学上等于洛伦兹曲线（Lorenz curve）与对角线之间的面积（再除以对角线下方的总面积），所以下面那张洛伦兹曲线越贴着底边，基尼系数就越接近 1。0.981 代表分布已经很接近「少数检测链接占掉几乎全部检测」的极端。&lt;/p&gt; &lt;p&gt;单一数字看不出是哪几条检测链接、长尾长什么样，所以这里同时附上洛伦兹曲线与分级分布两张图，把集中的形状也摊出来。&lt;/p&gt; &lt;/div&gt; &lt;ul&gt; &lt;li&gt;检测量的洛伦兹曲线（虚线为完全平均的对角线） &lt;vegachart style=&#39;width: 100%&#39; class=&#34;vegalite&#34;&gt;{&#34;description&#34;:&#34;Lorenz curve of measurement volume across Run v2 links&#34;,&#34;layer&#34;:[{&#34;data&#34;:{&#34;values&#34;:[{&#34;x&#34;:0,&#34;y&#34;:0},{&#34;x&#34;:100,&#34;y&#34;:100}]},&#34;mark&#34;:{&#34;type&#34;:&#34;line&#34;,&#34;color&#34;:&#34;#546e7a&#34;,&#34;strokeDash&#34;:[4,4]},&#34;encoding&#34;:{&#34;x&#34;:{&#34;field&#34;:&#34;x&#34;,&#34;type&#34;:&#34;quantitative&#34;},&#34;y&#34;:{&#34;field&#34;:&#34;y&#34;,&#34;type&#34;:&#34;quantitative&#34;}}},{&#34;data&#34;:{&#34;values&#34;:[{&#34;x&#34;:0.0,&#34;y&#34;:0.0},{&#34;x&#34;:0.3,&#34;y&#34;:0.0},{&#34;x&#34;:0.6,&#34;y&#34;:0.0},{&#34;x&#34;:0.89,&#34;y&#34;:0.0},{&#34;x&#34;:1.19,&#34;y&#34;:0.0},{&#34;x&#34;:1.49,&#34;y&#34;:0.0},{&#34;x&#34;:1.79,&#34;y&#34;:0.0},{&#34;x&#34;:2.08,&#34;y&#34;:0.0},{&#34;x&#34;:2.38,&#34;y&#34;:0.0},{&#34;x&#34;:2.68,&#34;y&#34;:0.0},{&#34;x&#34;:2.98,&#34;y&#34;:0.0},{&#34;x&#34;:3.27,&#34;y&#34;:0.0},{&#34;x&#34;:3.57,&#34;y&#34;:0.0},{&#34;x&#34;:3.87,&#34;y&#34;:0.0},{&#34;x&#34;:4.17,&#34;y&#34;:0.0},{&#34;x&#34;:4.46,&#34;y&#34;:0.0},{&#34;x&#34;:4.76,&#34;y&#34;:0.0},{&#34;x&#34;:5.06,&#34;y&#34;:0.0},{&#34;x&#34;:5.36,&#34;y&#34;:0.0},{&#34;x&#34;:5.65,&#34;y&#34;:0.0},{&#34;x&#34;:5.95,&#34;y&#34;:0.0},{&#34;x&#34;:6.25,&#34;y&#34;:0.0},{&#34;x&#34;:6.55,&#34;y&#34;:0.0},{&#34;x&#34;:6.85,&#34;y&#34;:0.0},{&#34;x&#34;:7.14,&#34;y&#34;:0.0},{&#34;x&#34;:7.44,&#34;y&#34;:0.0},{&#34;x&#34;:7.74,&#34;y&#34;:0.0},{&#34;x&#34;:8.04,&#34;y&#34;:0.0},{&#34;x&#34;:8.33,&#34;y&#34;:0.0},{&#34;x&#34;:8.63,&#34;y&#34;:0.0},{&#34;x&#34;:8.93,&#34;y&#34;:0.0},{&#34;x&#34;:9.23,&#34;y&#34;:0.0},{&#34;x&#34;:9.52,&#34;y&#34;:0.0},{&#34;x&#34;:9.82,&#34;y&#34;:0.0},{&#34;x&#34;:10.12,&#34;y&#34;:0.0},{&#34;x&#34;:10.42,&#34;y&#34;:0.0},{&#34;x&#34;:10.71,&#34;y&#34;:0.0},{&#34;x&#34;:11.01,&#34;y&#34;:0.0},{&#34;x&#34;:11.31,&#34;y&#34;:0.0},{&#34;x&#34;:11.61,&#34;y&#34;:0.0},{&#34;x&#34;:11.9,&#34;y&#34;:0.0},{&#34;x&#34;:12.2,&#34;y&#34;:0.0},{&#34;x&#34;:12.5,&#34;y&#34;:0.0},{&#34;x&#34;:12.8,&#34;y&#34;:0.0},{&#34;x&#34;:13.1,&#34;y&#34;:0.0},{&#34;x&#34;:13.39,&#34;y&#34;:0.0},{&#34;x&#34;:13.69,&#34;y&#34;:0.0},{&#34;x&#34;:13.99,&#34;y&#34;:0.0},{&#34;x&#34;:14.29,&#34;y&#34;:0.0},{&#34;x&#34;:14.58,&#34;y&#34;:0.0},{&#34;x&#34;:14.88,&#34;y&#34;:0.0},{&#34;x&#34;:15.18,&#34;y&#34;:0.0},{&#34;x&#34;:15.48,&#34;y&#34;:0.0},{&#34;x&#34;:15.77,&#34;y&#34;:0.0},{&#34;x&#34;:16.07,&#34;y&#34;:0.0},{&#34;x&#34;:16.37,&#34;y&#34;:0.0},{&#34;x&#34;:16.67,&#34;y&#34;:0.0},{&#34;x&#34;:16.96,&#34;y&#34;:0.0},{&#34;x&#34;:17.26,&#34;y&#34;:0.0},{&#34;x&#34;:17.56,&#34;y&#34;:0.0},{&#34;x&#34;:17.86,&#34;y&#34;:0.0},{&#34;x&#34;:18.15,&#34;y&#34;:0.0},{&#34;x&#34;:18.45,&#34;y&#34;:0.0},{&#34;x&#34;:18.75,&#34;y&#34;:0.0},{&#34;x&#34;:19.05,&#34;y&#34;:0.0},{&#34;x&#34;:19.35,&#34;y&#34;:0.0},{&#34;x&#34;:19.64,&#34;y&#34;:0.0},{&#34;x&#34;:19.94,&#34;y&#34;:0.0},{&#34;x&#34;:20.24,&#34;y&#34;:0.0},{&#34;x&#34;:20.54,&#34;y&#34;:0.0},{&#34;x&#34;:20.83,&#34;y&#34;:0.0},{&#34;x&#34;:21.13,&#34;y&#34;:0.0},{&#34;x&#34;:21.43,&#34;y&#34;:0.0},{&#34;x&#34;:21.73,&#34;y&#34;:0.0},{&#34;x&#34;:22.02,&#34;y&#34;:0.0},{&#34;x&#34;:22.32,&#34;y&#34;:0.0},{&#34;x&#34;:22.62,&#34;y&#34;:0.0},{&#34;x&#34;:22.92,&#34;y&#34;:0.0},{&#34;x&#34;:23.21,&#34;y&#34;:0.0},{&#34;x&#34;:23.51,&#34;y&#34;:0.0},{&#34;x&#34;:23.81,&#34;y&#34;:0.0},{&#34;x&#34;:24.11,&#34;y&#34;:0.0},{&#34;x&#34;:24.4,&#34;y&#34;:0.0},{&#34;x&#34;:24.7,&#34;y&#34;:0.0},{&#34;x&#34;:25.0,&#34;y&#34;:0.0},{&#34;x&#34;:25.3,&#34;y&#34;:0.0},{&#34;x&#34;:25.6,&#34;y&#34;:0.0},{&#34;x&#34;:25.89,&#34;y&#34;:0.0},{&#34;x&#34;:26.19,&#34;y&#34;:0.0},{&#34;x&#34;:26.49,&#34;y&#34;:0.0},{&#34;x&#34;:26.79,&#34;y&#34;:0.0},{&#34;x&#34;:27.08,&#34;y&#34;:0.0},{&#34;x&#34;:27.38,&#34;y&#34;:0.0},{&#34;x&#34;:27.68,&#34;y&#34;:0.0},{&#34;x&#34;:27.98,&#34;y&#34;:0.0},{&#34;x&#34;:28.27,&#34;y&#34;:0.0},{&#34;x&#34;:28.57,&#34;y&#34;:0.0},{&#34;x&#34;:28.87,&#34;y&#34;:0.0},{&#34;x&#34;:29.17,&#34;y&#34;:0.0},{&#34;x&#34;:29.46,&#34;y&#34;:0.0},{&#34;x&#34;:29.76,&#34;y&#34;:0.0},{&#34;x&#34;:30.06,&#34;y&#34;:0.0},{&#34;x&#34;:30.36,&#34;y&#34;:0.0},{&#34;x&#34;:30.65,&#34;y&#34;:0.0},{&#34;x&#34;:30.95,&#34;y&#34;:0.0},{&#34;x&#34;:31.25,&#34;y&#34;:0.0},{&#34;x&#34;:31.55,&#34;y&#34;:0.0},{&#34;x&#34;:31.85,&#34;y&#34;:0.0},{&#34;x&#34;:32.14,&#34;y&#34;:0.0},{&#34;x&#34;:32.44,&#34;y&#34;:0.0},{&#34;x&#34;:32.74,&#34;y&#34;:0.0},{&#34;x&#34;:33.04,&#34;y&#34;:0.0},{&#34;x&#34;:33.33,&#34;y&#34;:0.0},{&#34;x&#34;:33.63,&#34;y&#34;:0.0},{&#34;x&#34;:33.93,&#34;y&#34;:0.0},{&#34;x&#34;:34.23,&#34;y&#34;:0.0},{&#34;x&#34;:34.52,&#34;y&#34;:0.0},{&#34;x&#34;:34.82,&#34;y&#34;:0.0},{&#34;x&#34;:35.12,&#34;y&#34;:0.0},{&#34;x&#34;:35.42,&#34;y&#34;:0.0},{&#34;x&#34;:35.71,&#34;y&#34;:0.0},{&#34;x&#34;:36.01,&#34;y&#34;:0.0},{&#34;x&#34;:36.31,&#34;y&#34;:0.0},{&#34;x&#34;:36.61,&#34;y&#34;:0.0},{&#34;x&#34;:36.9,&#34;y&#34;:0.0},{&#34;x&#34;:37.2,&#34;y&#34;:0.0},{&#34;x&#34;:37.5,&#34;y&#34;:0.0},{&#34;x&#34;:37.8,&#34;y&#34;:0.0},{&#34;x&#34;:38.1,&#34;y&#34;:0.0},{&#34;x&#34;:38.39,&#34;y&#34;:0.0},{&#34;x&#34;:38.69,&#34;y&#34;:0.0},{&#34;x&#34;:38.99,&#34;y&#34;:0.0},{&#34;x&#34;:39.29,&#34;y&#34;:0.0},{&#34;x&#34;:39.58,&#34;y&#34;:0.0},{&#34;x&#34;:39.88,&#34;y&#34;:0.0},{&#34;x&#34;:40.18,&#34;y&#34;:0.0},{&#34;x&#34;:40.48,&#34;y&#34;:0.0},{&#34;x&#34;:40.77,&#34;y&#34;:0.0},{&#34;x&#34;:41.07,&#34;y&#34;:0.0},{&#34;x&#34;:41.37,&#34;y&#34;:0.0},{&#34;x&#34;:41.67,&#34;y&#34;:0.0},{&#34;x&#34;:41.96,&#34;y&#34;:0.0},{&#34;x&#34;:42.26,&#34;y&#34;:0.001},{&#34;x&#34;:42.56,&#34;y&#34;:0.001},{&#34;x&#34;:42.86,&#34;y&#34;:0.001},{&#34;x&#34;:43.15,&#34;y&#34;:0.001},{&#34;x&#34;:43.45,&#34;y&#34;:0.001},{&#34;x&#34;:43.75,&#34;y&#34;:0.001},{&#34;x&#34;:44.05,&#34;y&#34;:0.001},{&#34;x&#34;:44.35,&#34;y&#34;:0.001},{&#34;x&#34;:44.64,&#34;y&#34;:0.001},{&#34;x&#34;:44.94,&#34;y&#34;:0.001},{&#34;x&#34;:45.24,&#34;y&#34;:0.001},{&#34;x&#34;:45.54,&#34;y&#34;:0.001},{&#34;x&#34;:45.83,&#34;y&#34;:0.001},{&#34;x&#34;:46.13,&#34;y&#34;:0.001},{&#34;x&#34;:46.43,&#34;y&#34;:0.002},{&#34;x&#34;:46.73,&#34;y&#34;:0.002},{&#34;x&#34;:47.02,&#34;y&#34;:0.002},{&#34;x&#34;:47.32,&#34;y&#34;:0.002},{&#34;x&#34;:47.62,&#34;y&#34;:0.002},{&#34;x&#34;:47.92,&#34;y&#34;:0.002},{&#34;x&#34;:48.21,&#34;y&#34;:0.002},{&#34;x&#34;:48.51,&#34;y&#34;:0.003},{&#34;x&#34;:48.81,&#34;y&#34;:0.003},{&#34;x&#34;:49.11,&#34;y&#34;:0.003},{&#34;x&#34;:49.4,&#34;y&#34;:0.003},{&#34;x&#34;:49.7,&#34;y&#34;:0.003},{&#34;x&#34;:50.0,&#34;y&#34;:0.003},{&#34;x&#34;:50.3,&#34;y&#34;:0.004},{&#34;x&#34;:50.6,&#34;y&#34;:0.004},{&#34;x&#34;:50.89,&#34;y&#34;:0.004},{&#34;x&#34;:51.19,&#34;y&#34;:0.004},{&#34;x&#34;:51.49,&#34;y&#34;:0.004},{&#34;x&#34;:51.79,&#34;y&#34;:0.005},{&#34;x&#34;:52.08,&#34;y&#34;:0.005},{&#34;x&#34;:52.38,&#34;y&#34;:0.005},{&#34;x&#34;:52.68,&#34;y&#34;:0.006},{&#34;x&#34;:52.98,&#34;y&#34;:0.006},{&#34;x&#34;:53.27,&#34;y&#34;:0.006},{&#34;x&#34;:53.57,&#34;y&#34;:0.007},{&#34;x&#34;:53.87,&#34;y&#34;:0.007},{&#34;x&#34;:54.17,&#34;y&#34;:0.007},{&#34;x&#34;:54.46,&#34;y&#34;:0.008},{&#34;x&#34;:54.76,&#34;y&#34;:0.008},{&#34;x&#34;:55.06,&#34;y&#34;:0.009},{&#34;x&#34;:55.36,&#34;y&#34;:0.009},{&#34;x&#34;:55.65,&#34;y&#34;:0.01},{&#34;x&#34;:55.95,&#34;y&#34;:0.01},{&#34;x&#34;:56.25,&#34;y&#34;:0.011},{&#34;x&#34;:56.55,&#34;y&#34;:0.011},{&#34;x&#34;:56.85,&#34;y&#34;:0.012},{&#34;x&#34;:57.14,&#34;y&#34;:0.013},{&#34;x&#34;:57.44,&#34;y&#34;:0.013},{&#34;x&#34;:57.74,&#34;y&#34;:0.014},{&#34;x&#34;:58.04,&#34;y&#34;:0.015},{&#34;x&#34;:58.33,&#34;y&#34;:0.016},{&#34;x&#34;:58.63,&#34;y&#34;:0.016},{&#34;x&#34;:58.93,&#34;y&#34;:0.017},{&#34;x&#34;:59.23,&#34;y&#34;:0.018},{&#34;x&#34;:59.52,&#34;y&#34;:0.019},{&#34;x&#34;:59.82,&#34;y&#34;:0.02},{&#34;x&#34;:60.12,&#34;y&#34;:0.021},{&#34;x&#34;:60.42,&#34;y&#34;:0.022},{&#34;x&#34;:60.71,&#34;y&#34;:0.024},{&#34;x&#34;:61.01,&#34;y&#34;:0.025},{&#34;x&#34;:61.31,&#34;y&#34;:0.026},{&#34;x&#34;:61.61,&#34;y&#34;:0.027},{&#34;x&#34;:61.9,&#34;y&#34;:0.028},{&#34;x&#34;:62.2,&#34;y&#34;:0.03},{&#34;x&#34;:62.5,&#34;y&#34;:0.031},{&#34;x&#34;:62.8,&#34;y&#34;:0.033},{&#34;x&#34;:63.1,&#34;y&#34;:0.034},{&#34;x&#34;:63.39,&#34;y&#34;:0.036},{&#34;x&#34;:63.69,&#34;y&#34;:0.038},{&#34;x&#34;:63.99,&#34;y&#34;:0.04},{&#34;x&#34;:64.29,&#34;y&#34;:0.042},{&#34;x&#34;:64.58,&#34;y&#34;:0.044},{&#34;x&#34;:64.88,&#34;y&#34;:0.046},{&#34;x&#34;:65.18,&#34;y&#34;:0.048},{&#34;x&#34;:65.48,&#34;y&#34;:0.05},{&#34;x&#34;:65.77,&#34;y&#34;:0.052},{&#34;x&#34;:66.07,&#34;y&#34;:0.054},{&#34;x&#34;:66.37,&#34;y&#34;:0.057},{&#34;x&#34;:66.67,&#34;y&#34;:0.059},{&#34;x&#34;:66.96,&#34;y&#34;:0.061},{&#34;x&#34;:67.26,&#34;y&#34;:0.064},{&#34;x&#34;:67.56,&#34;y&#34;:0.066},{&#34;x&#34;:67.86,&#34;y&#34;:0.069},{&#34;x&#34;:68.15,&#34;y&#34;:0.071},{&#34;x&#34;:68.45,&#34;y&#34;:0.074},{&#34;x&#34;:68.75,&#34;y&#34;:0.077},{&#34;x&#34;:69.05,&#34;y&#34;:0.079},{&#34;x&#34;:69.35,&#34;y&#34;:0.082},{&#34;x&#34;:69.64,&#34;y&#34;:0.085},{&#34;x&#34;:69.94,&#34;y&#34;:0.089},{&#34;x&#34;:70.24,&#34;y&#34;:0.092},{&#34;x&#34;:70.54,&#34;y&#34;:0.095},{&#34;x&#34;:70.83,&#34;y&#34;:0.099},{&#34;x&#34;:71.13,&#34;y&#34;:0.102},{&#34;x&#34;:71.43,&#34;y&#34;:0.106},{&#34;x&#34;:71.73,&#34;y&#34;:0.109},{&#34;x&#34;:72.02,&#34;y&#34;:0.113},{&#34;x&#34;:72.32,&#34;y&#34;:0.116},{&#34;x&#34;:72.62,&#34;y&#34;:0.12},{&#34;x&#34;:72.92,&#34;y&#34;:0.123},{&#34;x&#34;:73.21,&#34;y&#34;:0.127},{&#34;x&#34;:73.51,&#34;y&#34;:0.13},{&#34;x&#34;:73.81,&#34;y&#34;:0.134},{&#34;x&#34;:74.11,&#34;y&#34;:0.138},{&#34;x&#34;:74.4,&#34;y&#34;:0.142},{&#34;x&#34;:74.7,&#34;y&#34;:0.146},{&#34;x&#34;:75.0,&#34;y&#34;:0.15},{&#34;x&#34;:75.3,&#34;y&#34;:0.155},{&#34;x&#34;:75.6,&#34;y&#34;:0.159},{&#34;x&#34;:75.89,&#34;y&#34;:0.164},{&#34;x&#34;:76.19,&#34;y&#34;:0.168},{&#34;x&#34;:76.49,&#34;y&#34;:0.173},{&#34;x&#34;:76.79,&#34;y&#34;:0.178},{&#34;x&#34;:77.08,&#34;y&#34;:0.183},{&#34;x&#34;:77.38,&#34;y&#34;:0.189},{&#34;x&#34;:77.68,&#34;y&#34;:0.194},{&#34;x&#34;:77.98,&#34;y&#34;:0.2},{&#34;x&#34;:78.27,&#34;y&#34;:0.206},{&#34;x&#34;:78.57,&#34;y&#34;:0.212},{&#34;x&#34;:78.87,&#34;y&#34;:0.218},{&#34;x&#34;:79.17,&#34;y&#34;:0.225},{&#34;x&#34;:79.46,&#34;y&#34;:0.232},{&#34;x&#34;:79.76,&#34;y&#34;:0.239},{&#34;x&#34;:80.06,&#34;y&#34;:0.247},{&#34;x&#34;:80.36,&#34;y&#34;:0.255},{&#34;x&#34;:80.65,&#34;y&#34;:0.263},{&#34;x&#34;:80.95,&#34;y&#34;:0.27},{&#34;x&#34;:81.25,&#34;y&#34;:0.279},{&#34;x&#34;:81.55,&#34;y&#34;:0.287},{&#34;x&#34;:81.85,&#34;y&#34;:0.297},{&#34;x&#34;:82.14,&#34;y&#34;:0.307},{&#34;x&#34;:82.44,&#34;y&#34;:0.318},{&#34;x&#34;:82.74,&#34;y&#34;:0.33},{&#34;x&#34;:83.04,&#34;y&#34;:0.342},{&#34;x&#34;:83.33,&#34;y&#34;:0.355},{&#34;x&#34;:83.63,&#34;y&#34;:0.369},{&#34;x&#34;:83.93,&#34;y&#34;:0.384},{&#34;x&#34;:84.23,&#34;y&#34;:0.4},{&#34;x&#34;:84.52,&#34;y&#34;:0.415},{&#34;x&#34;:84.82,&#34;y&#34;:0.432},{&#34;x&#34;:85.12,&#34;y&#34;:0.449},{&#34;x&#34;:85.42,&#34;y&#34;:0.466},{&#34;x&#34;:85.71,&#34;y&#34;:0.484},{&#34;x&#34;:86.01,&#34;y&#34;:0.501},{&#34;x&#34;:86.31,&#34;y&#34;:0.526},{&#34;x&#34;:86.61,&#34;y&#34;:0.551},{&#34;x&#34;:86.9,&#34;y&#34;:0.577},{&#34;x&#34;:87.2,&#34;y&#34;:0.603},{&#34;x&#34;:87.5,&#34;y&#34;:0.631},{&#34;x&#34;:87.8,&#34;y&#34;:0.659},{&#34;x&#34;:88.1,&#34;y&#34;:0.688},{&#34;x&#34;:88.39,&#34;y&#34;:0.718},{&#34;x&#34;:88.69,&#34;y&#34;:0.751},{&#34;x&#34;:88.99,&#34;y&#34;:0.787},{&#34;x&#34;:89.29,&#34;y&#34;:0.831},{&#34;x&#34;:89.58,&#34;y&#34;:0.88},{&#34;x&#34;:89.88,&#34;y&#34;:0.929},{&#34;x&#34;:90.18,&#34;y&#34;:0.979},{&#34;x&#34;:90.48,&#34;y&#34;:1.031},{&#34;x&#34;:90.77,&#34;y&#34;:1.084},{&#34;x&#34;:91.07,&#34;y&#34;:1.139},{&#34;x&#34;:91.37,&#34;y&#34;:1.205},{&#34;x&#34;:91.67,&#34;y&#34;:1.277},{&#34;x&#34;:91.96,&#34;y&#34;:1.348},{&#34;x&#34;:92.26,&#34;y&#34;:1.428},{&#34;x&#34;:92.56,&#34;y&#34;:1.512},{&#34;x&#34;:92.86,&#34;y&#34;:1.602},{&#34;x&#34;:93.15,&#34;y&#34;:1.701},{&#34;x&#34;:93.45,&#34;y&#34;:1.808},{&#34;x&#34;:93.75,&#34;y&#34;:1.93},{&#34;x&#34;:94.05,&#34;y&#34;:2.061},{&#34;x&#34;:94.35,&#34;y&#34;:2.194},{&#34;x&#34;:94.64,&#34;y&#34;:2.357},{&#34;x&#34;:94.94,&#34;y&#34;:2.584},{&#34;x&#34;:95.24,&#34;y&#34;:2.845},{&#34;x&#34;:95.54,&#34;y&#34;:3.226},{&#34;x&#34;:95.83,&#34;y&#34;:3.625},{&#34;x&#34;:96.13,&#34;y&#34;:4.345},{&#34;x&#34;:96.43,&#34;y&#34;:5.089},{&#34;x&#34;:96.73,&#34;y&#34;:5.86},{&#34;x&#34;:97.02,&#34;y&#34;:6.696},{&#34;x&#34;:97.32,&#34;y&#34;:7.642},{&#34;x&#34;:97.62,&#34;y&#34;:9.124},{&#34;x&#34;:97.92,&#34;y&#34;:10.954},{&#34;x&#34;:98.21,&#34;y&#34;:13.384},{&#34;x&#34;:98.51,&#34;y&#34;:16.34},{&#34;x&#34;:98.81,&#34;y&#34;:20.45},{&#34;x&#34;:99.11,&#34;y&#34;:25.634},{&#34;x&#34;:99.4,&#34;y&#34;:31.675},{&#34;x&#34;:99.7,&#34;y&#34;:53.505},{&#34;x&#34;:100.0,&#34;y&#34;:100.0}]},&#34;mark&#34;:{&#34;type&#34;:&#34;line&#34;,&#34;color&#34;:&#34;#00aeff&#34;,&#34;tooltip&#34;:true},&#34;encoding&#34;:{&#34;x&#34;:{&#34;field&#34;:&#34;x&#34;,&#34;type&#34;:&#34;quantitative&#34;,&#34;title&#34;:&#34;累积检测链接百分比（由检测量最少排到最多）&#34;,&#34;scale&#34;:{&#34;domain&#34;:[0,100]}},&#34;y&#34;:{&#34;field&#34;:&#34;y&#34;,&#34;type&#34;:&#34;quantitative&#34;,&#34;title&#34;:&#34;累积检测量百分比&#34;,&#34;scale&#34;:{&#34;domain&#34;:[0,100]}}}}]}&lt;/vegachart&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;洛伦兹曲线几乎贴着底边走，到最后一段才垂直拉起。检测量最少的 90% 检测链接加起来只占全网的 0.93%，最少的 99% 也只占 20.45%。排在最前面的 4 条检测链接就占约 79.5%，单单第一名（DW 的 Global media，编号 &lt;code&gt;10006&lt;/code&gt;）占 46.5%。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;每条检测链接的生涯检测量落在哪个级距 &lt;vegachart style=&#39;width: 100%&#39; class=&#34;vegalite&#34;&gt;{&#34;description&#34;:&#34;Distribution of lifetime measurement counts per link&#34;,&#34;data&#34;:{&#34;values&#34;:[{&#34;bucket&#34;:&#34;= 0&#34;,&#34;links&#34;:112,&#34;share&#34;:0.0,&#34;order&#34;:0},{&#34;bucket&#34;:&#34;1–99&#34;,&#34;links&#34;:81,&#34;share&#34;:0.0,&#34;order&#34;:1},{&#34;bucket&#34;:&#34;100–999&#34;,&#34;links&#34;:73,&#34;share&#34;:0.2,&#34;order&#34;:2},{&#34;bucket&#34;:&#34;1k–9999&#34;,&#34;links&#34;:41,&#34;share&#34;:1.0,&#34;order&#34;:3},{&#34;bucket&#34;:&#34;1万–9.9万&#34;,&#34;links&#34;:15,&#34;share&#34;:2.4,&#34;order&#34;:4},{&#34;bucket&#34;:&#34;10万–99万&#34;,&#34;links&#34;:12,&#34;share&#34;:28.0,&#34;order&#34;:5},{&#34;bucket&#34;:&#34;100万+&#34;,&#34;links&#34;:2,&#34;share&#34;:68.3,&#34;order&#34;:6}]},&#34;mark&#34;:{&#34;type&#34;:&#34;bar&#34;,&#34;tooltip&#34;:true,&#34;color&#34;:&#34;#0089bf&#34;},&#34;encoding&#34;:{&#34;x&#34;:{&#34;field&#34;:&#34;bucket&#34;,&#34;type&#34;:&#34;ordinal&#34;,&#34;sort&#34;:{&#34;field&#34;:&#34;order&#34;},&#34;title&#34;:&#34;生涯检测量级距&#34;,&#34;axis&#34;:{&#34;labelAngle&#34;:-30}},&#34;y&#34;:{&#34;field&#34;:&#34;links&#34;,&#34;type&#34;:&#34;quantitative&#34;,&#34;title&#34;:&#34;检测链接数&#34;},&#34;tooltip&#34;:[{&#34;field&#34;:&#34;bucket&#34;,&#34;title&#34;:&#34;级距&#34;},{&#34;field&#34;:&#34;links&#34;,&#34;title&#34;:&#34;检测链接数&#34;},{&#34;field&#34;:&#34;share&#34;,&#34;title&#34;:&#34;占总检测量 %&#34;}]}}&lt;/vegachart&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;长尾的另一头，336 条检测链接里有 112 条（33%）生涯检测量是 0，建好后几乎没被执行过。有 193 条（57%）不到 100 笔，整体中位数只有 27 笔。多数 Run v2 检测链接被建出来、执行几次就停下。&lt;/p&gt; &lt;h2 id=&#34;数据集中在哪些使用情境&#34;&gt;数据集中在哪些使用情境&lt;a class=&#34;headerlink&#34; href=&#34;#数据集中在哪些使用情境&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;上一段的集中只描述了分布的形状，还没说明数据实际落在哪些用途上。把检测链接按清单主题分群后，观测最密集的几群呈现出一个共通的使用方式。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;各使用情境占全网检测量的比重（橘色为 anoni.net 社区） &lt;vegachart style=&#39;width: 100%&#39; class=&#34;vegalite&#34;&gt;{&#34;description&#34;:&#34;Share of all measurements by use-case cohort&#34;,&#34;data&#34;:{&#34;values&#34;:[{&#34;group&#34;:&#34;DW 国际媒体监测&#34;,&#34;share&#34;:72.4,&#34;links&#34;:3,&#34;measurements&#34;:10265315},{&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;,&#34;share&#34;:10.8,&#34;links&#34;:13,&#34;measurements&#34;:1529544},{&#34;group&#34;:&#34;委内瑞拉 VSF 封锁观测&#34;,&#34;share&#34;:6.5,&#34;links&#34;:4,&#34;measurements&#34;:925351},{&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;,&#34;share&#34;:6.1,&#34;links&#34;:49,&#34;measurements&#34;:863016},{&#34;group&#34;:&#34;其他长尾&#34;,&#34;share&#34;:2.1,&#34;links&#34;:199,&#34;measurements&#34;:300815},{&#34;group&#34;:&#34;泰国政府网站监测&#34;,&#34;share&#34;:1.7,&#34;links&#34;:2,&#34;measurements&#34;:239430},{&#34;group&#34;:&#34;OONI 官方&#34;,&#34;share&#34;:0.3,&#34;links&#34;:59,&#34;measurements&#34;:43385},{&#34;group&#34;:&#34;anoni.net 台湾&#34;,&#34;share&#34;:0.0,&#34;links&#34;:7,&#34;measurements&#34;:4771}]},&#34;mark&#34;:{&#34;type&#34;:&#34;bar&#34;,&#34;tooltip&#34;:true},&#34;encoding&#34;:{&#34;y&#34;:{&#34;field&#34;:&#34;group&#34;,&#34;type&#34;:&#34;nominal&#34;,&#34;sort&#34;:&#34;-x&#34;,&#34;title&#34;:null},&#34;x&#34;:{&#34;field&#34;:&#34;share&#34;,&#34;type&#34;:&#34;quantitative&#34;,&#34;title&#34;:&#34;占全网检测量百分比&#34;},&#34;color&#34;:{&#34;condition&#34;:{&#34;test&#34;:&#34;datum.group == &#39;anoni.net 台湾&#39;&#34;,&#34;value&#34;:&#34;#ef6c00&#34;},&#34;value&#34;:&#34;#00aeff&#34;},&#34;tooltip&#34;:[{&#34;field&#34;:&#34;group&#34;,&#34;title&#34;:&#34;使用情境&#34;},{&#34;field&#34;:&#34;links&#34;,&#34;title&#34;:&#34;检测链接数&#34;},{&#34;field&#34;:&#34;measurements&#34;,&#34;title&#34;:&#34;检测量&#34;},{&#34;field&#34;:&#34;share&#34;,&#34;title&#34;:&#34;占比 %&#34;}]}}&lt;/vegachart&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;德国之声（DW）用 3 条清单长期监测国际媒体在各地的可达性，占 72.4%。西班牙的 conexionsegura 用 13 条清单观测 LaLiga 足球联盟发动的盗版封锁，占 10.8%。委内瑞拉的 vesinfiltro 用 4 条清单追踪当地的封锁，占 6.5%。再加上乌拉圭 UCU 研究团队与一个长期测泰国政府网站的观测者。观测最密集的几群共同点很清楚，每条清单针对一个明确的审查或封锁现象，再配一个持续运行的测量后端，日复一日盯着它。被低估的用法就是如此。&lt;/p&gt; &lt;p&gt;把检测量前 15 名的检测链接列出来，同一种样态看得更具体。&lt;/p&gt; &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;检测链接 id&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;生涯检测量&lt;/th&gt; &lt;th style=&#34;text-align: right;&#34;&gt;清单大小&lt;/th&gt; &lt;th&gt;创建日&lt;/th&gt; &lt;th&gt;作者&lt;/th&gt; &lt;th&gt;清单名称&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10006&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;6,589,070&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;223&lt;/td&gt; &lt;td&gt;2024-07-03&lt;/td&gt; &lt;td&gt;dw.com&lt;/td&gt; &lt;td&gt;Global media&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10005&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;3,093,765&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;91&lt;/td&gt; &lt;td&gt;2024-06-13&lt;/td&gt; &lt;td&gt;dw.com&lt;/td&gt; &lt;td&gt;Selected (inter)national media&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10236&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;856,036&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;167&lt;/td&gt; &lt;td&gt;2026-05-14&lt;/td&gt; &lt;td&gt;conexionsegura&lt;/td&gt; &lt;td&gt;La Liga bloqueos.es&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10158&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;734,627&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;4635&lt;/td&gt; &lt;td&gt;2025-04-03&lt;/td&gt; &lt;td&gt;ucu (UY)&lt;/td&gt; &lt;td&gt;lista global final&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10004&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;582,480&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;15&lt;/td&gt; &lt;td&gt;2024-12-11&lt;/td&gt; &lt;td&gt;dw.com&lt;/td&gt; &lt;td&gt;Trusted International Media&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10154&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;418,978&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;131&lt;/td&gt; &lt;td&gt;2025-03-26&lt;/td&gt; &lt;td&gt;vesinfiltro&lt;/td&gt; &lt;td&gt;MagisTV y FlujoTV&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10135&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;344,268&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;819&lt;/td&gt; &lt;td&gt;2025-04-16&lt;/td&gt; &lt;td&gt;conexionsegura&lt;/td&gt; &lt;td&gt;Test Bloqueos LaLiga&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10153&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;259,331&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;102&lt;/td&gt; &lt;td&gt;2025-03-24&lt;/td&gt; &lt;td&gt;vesinfiltro&lt;/td&gt; &lt;td&gt;PriorityList&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10143&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;210,078&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;134&lt;/td&gt; &lt;td&gt;2025-03-05&lt;/td&gt; &lt;td&gt;vesinfiltro&lt;/td&gt; &lt;td&gt;VSF News y otros&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10298&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;133,991&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;72&lt;/td&gt; &lt;td&gt;2026-05-04&lt;/td&gt; &lt;td&gt;泰国观测者&lt;/td&gt; &lt;td&gt;Test Thai gov websites&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10226&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;118,509&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;170&lt;/td&gt; &lt;td&gt;2025-09-15&lt;/td&gt; &lt;td&gt;conexionsegura&lt;/td&gt; &lt;td&gt;Bloqueos LaLiga - Dominios&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10235&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;109,276&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;293&lt;/td&gt; &lt;td&gt;2025-09-20&lt;/td&gt; &lt;td&gt;conexionsegura&lt;/td&gt; &lt;td&gt;VE media http+https check&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10214&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;105,439&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;67&lt;/td&gt; &lt;td&gt;2025-10-04&lt;/td&gt; &lt;td&gt;泰国观测者&lt;/td&gt; &lt;td&gt;Test Thai gov websites&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10114&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;102,096&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;256&lt;/td&gt; &lt;td&gt;2026-05-05&lt;/td&gt; &lt;td&gt;jiyul.org&lt;/td&gt; &lt;td&gt;revi&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;code&gt;10118&lt;/code&gt;&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;56,541&lt;/td&gt; &lt;td style=&#34;text-align: right;&#34;&gt;3044&lt;/td&gt; &lt;td&gt;2025-03-26&lt;/td&gt; &lt;td&gt;ucu (UY)&lt;/td&gt; &lt;td&gt;LISTA GLOBAL&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;h2 id=&#34;长期观测靠的是持续运行的后端清单大小几乎无关&#34;&gt;长期观测靠的是持续运行的后端，清单大小几乎无关&lt;a class=&#34;headerlink&#34; href=&#34;#长期观测靠的是持续运行的后端清单大小几乎无关&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;一个直觉的猜测是，清单收越多网站、产出的数据就越多。数据不支持这个猜测。把每条检测链接的清单大小（input 数）对生涯检测量画成散点图，两者几乎没有关系。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;清单大小与生涯检测量（橘色为 anoni.net 的两条检测链接，2 条 input 为 0 的检测链接因 log 轴略去） &lt;vegachart style=&#39;width: 100%&#39; class=&#34;vegalite&#34;&gt;{&#34;description&#34;:&#34;List size (inputs) vs lifetime measurements per link&#34;,&#34;data&#34;:{&#34;values&#34;:[{&#34;id&#34;:10000,&#34;inputs&#34;:3,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10001,&#34;inputs&#34;:3,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10002,&#34;inputs&#34;:3,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10003,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10004,&#34;inputs&#34;:15,&#34;measurements&#34;:582480,&#34;group&#34;:&#34;DW 国际媒体监测&#34;},{&#34;id&#34;:10005,&#34;inputs&#34;:91,&#34;measurements&#34;:3093765,&#34;group&#34;:&#34;DW 国际媒体监测&#34;},{&#34;id&#34;:10006,&#34;inputs&#34;:223,&#34;measurements&#34;:6589070,&#34;group&#34;:&#34;DW 国际媒体监测&#34;},{&#34;id&#34;:10007,&#34;inputs&#34;:10,&#34;measurements&#34;:32,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10008,&#34;inputs&#34;:1,&#34;measurements&#34;:2,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10010,&#34;inputs&#34;:3332,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10012,&#34;inputs&#34;:3,&#34;measurements&#34;:6,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10013,&#34;inputs&#34;:6,&#34;measurements&#34;:333,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10014,&#34;inputs&#34;:5,&#34;measurements&#34;:79,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10015,&#34;inputs&#34;:5,&#34;measurements&#34;:230,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10016,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10017,&#34;inputs&#34;:3,&#34;measurements&#34;:150,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10018,&#34;inputs&#34;:8,&#34;measurements&#34;:16,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10019,&#34;inputs&#34;:6,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10020,&#34;inputs&#34;:46,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10021,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;anoni.net 台湾&#34;},{&#34;id&#34;:10022,&#34;inputs&#34;:3,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10023,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10024,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10025,&#34;inputs&#34;:1,&#34;measurements&#34;:71,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10026,&#34;inputs&#34;:28,&#34;measurements&#34;:2520,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10027,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10028,&#34;inputs&#34;:27,&#34;measurements&#34;:180,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10029,&#34;inputs&#34;:4,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10030,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10031,&#34;inputs&#34;:5,&#34;measurements&#34;:495,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10032,&#34;inputs&#34;:4,&#34;measurements&#34;:296,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10033,&#34;inputs&#34;:1,&#34;measurements&#34;:15,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10034,&#34;inputs&#34;:7,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10035,&#34;inputs&#34;:7,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10036,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10037,&#34;inputs&#34;:1,&#34;measurements&#34;:4,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10038,&#34;inputs&#34;:10,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10039,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10040,&#34;inputs&#34;:10,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10041,&#34;inputs&#34;:50,&#34;measurements&#34;:4214,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10042,&#34;inputs&#34;:13,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10043,&#34;inputs&#34;:45,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10044,&#34;inputs&#34;:7,&#34;measurements&#34;:464,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10045,&#34;inputs&#34;:549,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10046,&#34;inputs&#34;:56,&#34;measurements&#34;:56,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10047,&#34;inputs&#34;:7,&#34;measurements&#34;:154,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10048,&#34;inputs&#34;:7,&#34;measurements&#34;:21,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10049,&#34;inputs&#34;:3338,&#34;measurements&#34;:14058,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10050,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10051,&#34;inputs&#34;:18,&#34;measurements&#34;:3861,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10052,&#34;inputs&#34;:48,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10053,&#34;inputs&#34;:21,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10054,&#34;inputs&#34;:28,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10055,&#34;inputs&#34;:27,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10056,&#34;inputs&#34;:20,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10057,&#34;inputs&#34;:26,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10058,&#34;inputs&#34;:4,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10059,&#34;inputs&#34;:38,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10060,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10061,&#34;inputs&#34;:204,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10062,&#34;inputs&#34;:204,&#34;measurements&#34;:204,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10063,&#34;inputs&#34;:1264,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10064,&#34;inputs&#34;:1250,&#34;measurements&#34;:1264,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10065,&#34;inputs&#34;:1063,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10066,&#34;inputs&#34;:638,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10067,&#34;inputs&#34;:618,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10068,&#34;inputs&#34;:2,&#34;measurements&#34;:54,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10069,&#34;inputs&#34;:3,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10070,&#34;inputs&#34;:3,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10071,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10072,&#34;inputs&#34;:1,&#34;measurements&#34;:2,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10073,&#34;inputs&#34;:1098,&#34;measurements&#34;:1098,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10074,&#34;inputs&#34;:611,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10075,&#34;inputs&#34;:390,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10076,&#34;inputs&#34;:1410,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10077,&#34;inputs&#34;:441,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10078,&#34;inputs&#34;:473,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10079,&#34;inputs&#34;:829,&#34;measurements&#34;:507,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10080,&#34;inputs&#34;:6,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10081,&#34;inputs&#34;:1069,&#34;measurements&#34;:1150,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10082,&#34;inputs&#34;:640,&#34;measurements&#34;:640,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10083,&#34;inputs&#34;:833,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10084,&#34;inputs&#34;:670,&#34;measurements&#34;:670,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10085,&#34;inputs&#34;:425,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10086,&#34;inputs&#34;:316,&#34;measurements&#34;:632,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10087,&#34;inputs&#34;:370,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10088,&#34;inputs&#34;:171,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10089,&#34;inputs&#34;:831,&#34;measurements&#34;:1662,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10090,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10091,&#34;inputs&#34;:1433,&#34;measurements&#34;:7039,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10092,&#34;inputs&#34;:2217,&#34;measurements&#34;:10137,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10093,&#34;inputs&#34;:1062,&#34;measurements&#34;:1062,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10094,&#34;inputs&#34;:1686,&#34;measurements&#34;:32171,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10095,&#34;inputs&#34;:780,&#34;measurements&#34;:780,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10096,&#34;inputs&#34;:992,&#34;measurements&#34;:3561,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10097,&#34;inputs&#34;:433,&#34;measurements&#34;:0,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10098,&#34;inputs&#34;:412,&#34;measurements&#34;:441,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10099,&#34;inputs&#34;:838,&#34;measurements&#34;:1676,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10100,&#34;inputs&#34;:4,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10101,&#34;inputs&#34;:1,&#34;measurements&#34;:130,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10102,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10103,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10104,&#34;inputs&#34;:821,&#34;measurements&#34;:821,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10105,&#34;inputs&#34;:7,&#34;measurements&#34;:98,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10106,&#34;inputs&#34;:1,&#34;measurements&#34;:1,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10107,&#34;inputs&#34;:3,&#34;measurements&#34;:1305,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10108,&#34;inputs&#34;:5,&#34;measurements&#34;:13,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10109,&#34;inputs&#34;:9,&#34;measurements&#34;:9,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10110,&#34;inputs&#34;:4,&#34;measurements&#34;:6,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10111,&#34;inputs&#34;:2,&#34;measurements&#34;:2,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10112,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10113,&#34;inputs&#34;:1,&#34;measurements&#34;:1,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10114,&#34;inputs&#34;:256,&#34;measurements&#34;:102096,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10115,&#34;inputs&#34;:2,&#34;measurements&#34;:1,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10116,&#34;inputs&#34;:1,&#34;measurements&#34;:103,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10117,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10118,&#34;inputs&#34;:3044,&#34;measurements&#34;:56541,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10119,&#34;inputs&#34;:24,&#34;measurements&#34;:2424,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10120,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10121,&#34;inputs&#34;:4,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10122,&#34;inputs&#34;:14,&#34;measurements&#34;:36964,&#34;group&#34;:&#34;委内瑞拉 VSF 封锁观测&#34;},{&#34;id&#34;:10123,&#34;inputs&#34;:5,&#34;measurements&#34;:5,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10124,&#34;inputs&#34;:3,&#34;measurements&#34;:129,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10125,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10126,&#34;inputs&#34;:1,&#34;measurements&#34;:1,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10127,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10128,&#34;inputs&#34;:4,&#34;measurements&#34;:20,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10129,&#34;inputs&#34;:1,&#34;measurements&#34;:1,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10130,&#34;inputs&#34;:1,&#34;measurements&#34;:1,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10131,&#34;inputs&#34;:42,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10132,&#34;inputs&#34;:3,&#34;measurements&#34;:3,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10133,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10134,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10135,&#34;inputs&#34;:819,&#34;measurements&#34;:344268,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10136,&#34;inputs&#34;:9,&#34;measurements&#34;:9,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10137,&#34;inputs&#34;:5,&#34;measurements&#34;:185,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10138,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10139,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10140,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10141,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10142,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10143,&#34;inputs&#34;:134,&#34;measurements&#34;:210078,&#34;group&#34;:&#34;委内瑞拉 VSF 封锁观测&#34;},{&#34;id&#34;:10144,&#34;inputs&#34;:4,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10145,&#34;inputs&#34;:2,&#34;measurements&#34;:6,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10146,&#34;inputs&#34;:2,&#34;measurements&#34;:2,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10147,&#34;inputs&#34;:25,&#34;measurements&#34;:1029,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10148,&#34;inputs&#34;:23,&#34;measurements&#34;:6182,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10149,&#34;inputs&#34;:5,&#34;measurements&#34;:110,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10150,&#34;inputs&#34;:1,&#34;measurements&#34;:7,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10151,&#34;inputs&#34;:14,&#34;measurements&#34;:27,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10152,&#34;inputs&#34;:1,&#34;measurements&#34;:8,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10153,&#34;inputs&#34;:102,&#34;measurements&#34;:259331,&#34;group&#34;:&#34;委内瑞拉 VSF 封锁观测&#34;},{&#34;id&#34;:10154,&#34;inputs&#34;:131,&#34;measurements&#34;:418978,&#34;group&#34;:&#34;委内瑞拉 VSF 封锁观测&#34;},{&#34;id&#34;:10155,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10156,&#34;inputs&#34;:4,&#34;measurements&#34;:316,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10157,&#34;inputs&#34;:1,&#34;measurements&#34;:1,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10158,&#34;inputs&#34;:4635,&#34;measurements&#34;:734627,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10159,&#34;inputs&#34;:3,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10160,&#34;inputs&#34;:500,&#34;measurements&#34;:1501,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10161,&#34;inputs&#34;:500,&#34;measurements&#34;:505,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10162,&#34;inputs&#34;:500,&#34;measurements&#34;:501,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10163,&#34;inputs&#34;:500,&#34;measurements&#34;:502,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10164,&#34;inputs&#34;:500,&#34;measurements&#34;:500,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10165,&#34;inputs&#34;:500,&#34;measurements&#34;:502,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10166,&#34;inputs&#34;:500,&#34;measurements&#34;:506,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10167,&#34;inputs&#34;:500,&#34;measurements&#34;:505,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10168,&#34;inputs&#34;:500,&#34;measurements&#34;:500,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10169,&#34;inputs&#34;:134,&#34;measurements&#34;:268,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10170,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10171,&#34;inputs&#34;:22,&#34;measurements&#34;:44,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10172,&#34;inputs&#34;:11,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10173,&#34;inputs&#34;:3,&#34;measurements&#34;:7379,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10174,&#34;inputs&#34;:2,&#34;measurements&#34;:4,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10175,&#34;inputs&#34;:15,&#34;measurements&#34;:700,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10176,&#34;inputs&#34;:214,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10177,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10178,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10179,&#34;inputs&#34;:3,&#34;measurements&#34;:75,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10180,&#34;inputs&#34;:3,&#34;measurements&#34;:246,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10181,&#34;inputs&#34;:20,&#34;measurements&#34;:2240,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10182,&#34;inputs&#34;:3,&#34;measurements&#34;:60,&#34;group&#34;:&#34;anoni.net 台湾&#34;},{&#34;id&#34;:10183,&#34;inputs&#34;:166,&#34;measurements&#34;:333,&#34;group&#34;:&#34;乌拉圭 UCU 研究团队&#34;},{&#34;id&#34;:10184,&#34;inputs&#34;:2,&#34;measurements&#34;:4,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10185,&#34;inputs&#34;:22,&#34;measurements&#34;:20,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10186,&#34;inputs&#34;:2,&#34;measurements&#34;:2,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10187,&#34;inputs&#34;:2,&#34;measurements&#34;:2,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10188,&#34;inputs&#34;:2,&#34;measurements&#34;:2,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10189,&#34;inputs&#34;:4,&#34;measurements&#34;:17,&#34;group&#34;:&#34;anoni.net 台湾&#34;},{&#34;id&#34;:10190,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10191,&#34;inputs&#34;:3,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10192,&#34;inputs&#34;:13,&#34;measurements&#34;:82,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10193,&#34;inputs&#34;:3,&#34;measurements&#34;:3,&#34;group&#34;:&#34;anoni.net 台湾&#34;},{&#34;id&#34;:10194,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10195,&#34;inputs&#34;:5,&#34;measurements&#34;:27,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10196,&#34;inputs&#34;:610,&#34;measurements&#34;:610,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10197,&#34;inputs&#34;:490,&#34;measurements&#34;:490,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10198,&#34;inputs&#34;:673,&#34;measurements&#34;:673,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10199,&#34;inputs&#34;:1363,&#34;measurements&#34;:2036,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10200,&#34;inputs&#34;:1,&#34;measurements&#34;:141,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10201,&#34;inputs&#34;:298,&#34;measurements&#34;:298,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10202,&#34;inputs&#34;:1124,&#34;measurements&#34;:267,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10203,&#34;inputs&#34;:974,&#34;measurements&#34;:974,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10204,&#34;inputs&#34;:303,&#34;measurements&#34;:303,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10205,&#34;inputs&#34;:600,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10206,&#34;inputs&#34;:600,&#34;measurements&#34;:600,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10207,&#34;inputs&#34;:199,&#34;measurements&#34;:398,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10208,&#34;inputs&#34;:654,&#34;measurements&#34;:654,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10209,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10210,&#34;inputs&#34;:30,&#34;measurements&#34;:30,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10211,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10212,&#34;inputs&#34;:30,&#34;measurements&#34;:150,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10213,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10214,&#34;inputs&#34;:67,&#34;measurements&#34;:105439,&#34;group&#34;:&#34;泰国政府网站监测&#34;},{&#34;id&#34;:10215,&#34;inputs&#34;:41,&#34;measurements&#34;:2378,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10216,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10217,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10218,&#34;inputs&#34;:1,&#34;measurements&#34;:4,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10219,&#34;inputs&#34;:2,&#34;measurements&#34;:2,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10220,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10221,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10222,&#34;inputs&#34;:1,&#34;measurements&#34;:9,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10223,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10224,&#34;inputs&#34;:7,&#34;measurements&#34;:364,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10225,&#34;inputs&#34;:30,&#34;measurements&#34;:349,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10226,&#34;inputs&#34;:170,&#34;measurements&#34;:118509,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10227,&#34;inputs&#34;:35,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10228,&#34;inputs&#34;:1,&#34;measurements&#34;:4,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10229,&#34;inputs&#34;:2,&#34;measurements&#34;:60,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10230,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10231,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10232,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10233,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10234,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10235,&#34;inputs&#34;:293,&#34;measurements&#34;:109276,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10236,&#34;inputs&#34;:167,&#34;measurements&#34;:856036,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10237,&#34;inputs&#34;:9,&#34;measurements&#34;:18,&#34;group&#34;:&#34;anoni.net 台湾&#34;},{&#34;id&#34;:10238,&#34;inputs&#34;:7,&#34;measurements&#34;:14,&#34;group&#34;:&#34;anoni.net 台湾&#34;},{&#34;id&#34;:10239,&#34;inputs&#34;:20,&#34;measurements&#34;:11260,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10240,&#34;inputs&#34;:5,&#34;measurements&#34;:80,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10241,&#34;inputs&#34;:5,&#34;measurements&#34;:50,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10242,&#34;inputs&#34;:5,&#34;measurements&#34;:10,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10243,&#34;inputs&#34;:5,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10244,&#34;inputs&#34;:1,&#34;measurements&#34;:42,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10245,&#34;inputs&#34;:10,&#34;measurements&#34;:18577,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10246,&#34;inputs&#34;:4,&#34;measurements&#34;:1820,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10247,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10248,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10249,&#34;inputs&#34;:33,&#34;measurements&#34;:99,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10250,&#34;inputs&#34;:24,&#34;measurements&#34;:9464,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10251,&#34;inputs&#34;:269,&#34;measurements&#34;:18828,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10252,&#34;inputs&#34;:8,&#34;measurements&#34;:17288,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10253,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10254,&#34;inputs&#34;:2,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10255,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10256,&#34;inputs&#34;:10,&#34;measurements&#34;:8,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10257,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10258,&#34;inputs&#34;:12,&#34;measurements&#34;:420,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10259,&#34;inputs&#34;:4,&#34;measurements&#34;:1550,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10260,&#34;inputs&#34;:104,&#34;measurements&#34;:15120,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10261,&#34;inputs&#34;:4,&#34;measurements&#34;:258,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10262,&#34;inputs&#34;:66,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10263,&#34;inputs&#34;:1,&#34;measurements&#34;:37,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10264,&#34;inputs&#34;:22,&#34;measurements&#34;:2127,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10265,&#34;inputs&#34;:7,&#34;measurements&#34;:5226,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10266,&#34;inputs&#34;:214,&#34;measurements&#34;:7672,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10267,&#34;inputs&#34;:1,&#34;measurements&#34;:35,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10268,&#34;inputs&#34;:3,&#34;measurements&#34;:3,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10269,&#34;inputs&#34;:1,&#34;measurements&#34;:34,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10270,&#34;inputs&#34;:214,&#34;measurements&#34;:7082,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10271,&#34;inputs&#34;:214,&#34;measurements&#34;:3671,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10272,&#34;inputs&#34;:16,&#34;measurements&#34;:353,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10273,&#34;inputs&#34;:10,&#34;measurements&#34;:200,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10274,&#34;inputs&#34;:19,&#34;measurements&#34;:380,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10275,&#34;inputs&#34;:1,&#34;measurements&#34;:20,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10276,&#34;inputs&#34;:20,&#34;measurements&#34;:384,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10277,&#34;inputs&#34;:36,&#34;measurements&#34;:756,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10278,&#34;inputs&#34;:55,&#34;measurements&#34;:1107,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10280,&#34;inputs&#34;:37,&#34;measurements&#34;:789,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10281,&#34;inputs&#34;:42,&#34;measurements&#34;:1051,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10282,&#34;inputs&#34;:38,&#34;measurements&#34;:883,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10283,&#34;inputs&#34;:27,&#34;measurements&#34;:567,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10284,&#34;inputs&#34;:6,&#34;measurements&#34;:10104,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10285,&#34;inputs&#34;:22,&#34;measurements&#34;:54022,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10286,&#34;inputs&#34;:31,&#34;measurements&#34;:746,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10287,&#34;inputs&#34;:3,&#34;measurements&#34;:2358,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10288,&#34;inputs&#34;:20,&#34;measurements&#34;:473,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10289,&#34;inputs&#34;:1,&#34;measurements&#34;:1,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10290,&#34;inputs&#34;:1,&#34;measurements&#34;:24,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10291,&#34;inputs&#34;:61,&#34;measurements&#34;:2501,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10292,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10293,&#34;inputs&#34;:154,&#34;measurements&#34;:11938,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10294,&#34;inputs&#34;:3,&#34;measurements&#34;:72,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10295,&#34;inputs&#34;:1,&#34;measurements&#34;:24,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10296,&#34;inputs&#34;:17,&#34;measurements&#34;:459,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10297,&#34;inputs&#34;:22,&#34;measurements&#34;:4122,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10298,&#34;inputs&#34;:72,&#34;measurements&#34;:133991,&#34;group&#34;:&#34;泰国政府网站监测&#34;},{&#34;id&#34;:10299,&#34;inputs&#34;:9,&#34;measurements&#34;:216,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10300,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10301,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10302,&#34;inputs&#34;:1,&#34;measurements&#34;:24,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10303,&#34;inputs&#34;:53,&#34;measurements&#34;:318,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10304,&#34;inputs&#34;:756,&#34;measurements&#34;:23102,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10305,&#34;inputs&#34;:54,&#34;measurements&#34;:2215,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10306,&#34;inputs&#34;:8,&#34;measurements&#34;:304,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10307,&#34;inputs&#34;:4,&#34;measurements&#34;:148,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10308,&#34;inputs&#34;:3,&#34;measurements&#34;:105,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10309,&#34;inputs&#34;:8,&#34;measurements&#34;:327,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10310,&#34;inputs&#34;:14,&#34;measurements&#34;:3988,&#34;group&#34;:&#34;OONI 官方&#34;},{&#34;id&#34;:10311,&#34;inputs&#34;:47,&#34;measurements&#34;:6887,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10312,&#34;inputs&#34;:25,&#34;measurements&#34;:7523,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10313,&#34;inputs&#34;:1082,&#34;measurements&#34;:3729,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10314,&#34;inputs&#34;:1,&#34;measurements&#34;:2,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10315,&#34;inputs&#34;:1,&#34;measurements&#34;:8,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10316,&#34;inputs&#34;:4,&#34;measurements&#34;:128,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10317,&#34;inputs&#34;:1,&#34;measurements&#34;:16,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10318,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10319,&#34;inputs&#34;:12,&#34;measurements&#34;:870,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10320,&#34;inputs&#34;:1,&#34;measurements&#34;:2,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10321,&#34;inputs&#34;:1,&#34;measurements&#34;:2,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10322,&#34;inputs&#34;:3,&#34;measurements&#34;:166,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10323,&#34;inputs&#34;:5,&#34;measurements&#34;:33,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10324,&#34;inputs&#34;:1082,&#34;measurements&#34;:31,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10325,&#34;inputs&#34;:2,&#34;measurements&#34;:51,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10326,&#34;inputs&#34;:3,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10327,&#34;inputs&#34;:25,&#34;measurements&#34;:3510,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10328,&#34;inputs&#34;:10,&#34;measurements&#34;:4659,&#34;group&#34;:&#34;anoni.net 台湾&#34;},{&#34;id&#34;:10329,&#34;inputs&#34;:12,&#34;measurements&#34;:76,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10330,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10331,&#34;inputs&#34;:2,&#34;measurements&#34;:24,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10332,&#34;inputs&#34;:2,&#34;measurements&#34;:270,&#34;group&#34;:&#34;西班牙 LaLiga 封锁观测&#34;},{&#34;id&#34;:10333,&#34;inputs&#34;:1,&#34;measurements&#34;:0,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10334,&#34;inputs&#34;:33,&#34;measurements&#34;:12759,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10335,&#34;inputs&#34;:3,&#34;measurements&#34;:18,&#34;group&#34;:&#34;其他长尾&#34;},{&#34;id&#34;:10336,&#34;inputs&#34;:29,&#34;measurements&#34;:1110,&#34;group&#34;:&#34;其他长尾&#34;}]},&#34;mark&#34;:{&#34;type&#34;:&#34;point&#34;,&#34;filled&#34;:true,&#34;opacity&#34;:0.55,&#34;tooltip&#34;:true},&#34;encoding&#34;:{&#34;x&#34;:{&#34;field&#34;:&#34;inputs&#34;,&#34;type&#34;:&#34;quantitative&#34;,&#34;scale&#34;:{&#34;type&#34;:&#34;log&#34;},&#34;title&#34;:&#34;清单大小（input 数，log 轴）&#34;},&#34;y&#34;:{&#34;field&#34;:&#34;measurements&#34;,&#34;type&#34;:&#34;quantitative&#34;,&#34;scale&#34;:{&#34;type&#34;:&#34;symlog&#34;},&#34;title&#34;:&#34;生涯检测量（symlog 轴，含 0）&#34;},&#34;color&#34;:{&#34;condition&#34;:{&#34;test&#34;:&#34;datum.id == 10238 || datum.id == 10328&#34;,&#34;value&#34;:&#34;#ef6c00&#34;},&#34;value&#34;:&#34;#80d1ff&#34;},&#34;size&#34;:{&#34;condition&#34;:{&#34;test&#34;:&#34;datum.id == 10238 || datum.id == 10328&#34;,&#34;value&#34;:120},&#34;value&#34;:45},&#34;tooltip&#34;:[{&#34;field&#34;:&#34;id&#34;,&#34;title&#34;:&#34;检测链接 id&#34;},{&#34;field&#34;:&#34;inputs&#34;,&#34;title&#34;:&#34;清单大小&#34;},{&#34;field&#34;:&#34;measurements&#34;,&#34;title&#34;:&#34;检测量&#34;},{&#34;field&#34;:&#34;group&#34;,&#34;title&#34;:&#34;使用情境&#34;}]}}&lt;/vegachart&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;两个极端的对照最清楚。UCU 的编号 &lt;code&gt;10158&lt;/code&gt; 清单塞了 4,635 个 input（全网最大），生涯 734,627 笔。DW 的编号 &lt;code&gt;10004&lt;/code&gt; 只有 15 个 input，却有 582,480 笔。清单堆得再大，没有持续运行的后端去执行，检测量一样趋近 0，等于没在观测。真正让观测累积下来的是有没有一个每天把清单执行起来的测量基础设施，收多少网站反而是其次。&lt;/p&gt; &lt;h2 id=&#34;anoninet-的座标社区自己就是一组对照实验&#34;&gt;anoni.net 的座标：社区自己就是一组对照实验&lt;a class=&#34;headerlink&#34; href=&#34;#anoninet-的座标社区自己就是一组对照实验&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;anoni.net 社区先后建了两条 Run v2 检测链接，刚好示范前面提到的两种样态，两条都摊开，不只挑表现好的那条。&lt;/p&gt; &lt;p&gt;第一条编号 &lt;code&gt;10238&lt;/code&gt;，建于 2025-09-15，收了 7 个 input（anoni.net 与 im、matrix、form、pad、search、cinny 等自家服务），生涯只累积 14 笔。它落在「建了没持续运作」的多数人那一类。 第二条编号 &lt;code&gt;10328&lt;/code&gt;，建于 2026-05-15，清单扩成 10 个 input，这次配上自营节点持续运作。半个月就累积 4,659 笔，在 336 条检测链接里排到第 39 名，进到前 12%。&lt;/p&gt; &lt;p&gt;同一个社区、同一份 anoni.net 自家服务清单雏形，两条检测链接的差别只在有没有持续运行的后端。另一面同样不回避，&lt;code&gt;10328&lt;/code&gt; 占全网比重仍然趋近 0%。在如此长尾的分布里，光是持续运作半个月就赢过 297 条检测链接，可见「持续运行」这个门槛被多数人错过。从 &lt;code&gt;10238&lt;/code&gt; 到 &lt;code&gt;10328&lt;/code&gt;，就是社区自己跨过门槛的纪录。&lt;/p&gt; &lt;h2 id=&#34;对社区与-OONI-的意义&#34;&gt;对社区与 OONI 的意义&lt;a class=&#34;headerlink&#34; href=&#34;#对社区与-OONI-的意义&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;对想做本地连接观测的社区，普查结果指出一个明确方向。Run v2 的价值来自「一份针对特定现象的策展清单，加上一个持续运行的测量后端」，两者缺一就会掉进长尾。多开几条检测链接本身不会带来数据。&lt;/p&gt; &lt;p&gt;同一套模式可以套用在很多题目上。文章前面的 DW、conexionsegura、vesinfiltro，分别是国际媒体可达性、体育盗版封锁、本地封锁三种已经在运转的例子。想开始的人可以从几个方向发想。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;选举观察&lt;/strong&gt;：从选前到选后，持续追踪新闻媒体、候选人与选务机关网站在特定地区的可达性，把投票期间的封锁或干扰记录下来，给选举观察员与研究者一份可佐证的时间串行。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;重大事件实时观测&lt;/strong&gt;：抗议、罢工、灾害或断网期间，持续测独立媒体、实时通信服务（Signal、Telegram）与求助信息网站，第一时间看出哪些被挡、什么时候被挡。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;特定族群与议题&lt;/strong&gt;：LGBTQ+、宗教少数、女性权益、人权组织这类在某些地区容易被封锁的网站，做长期纵贯观测，累积可被研究引用的证据。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;规避工具可用性&lt;/strong&gt;：追踪 VPN、Tor、桥接与其他 circumvention 工具的官网与下载点，在某地是否还连得上、何时开始被挡，对协助当地人维持连接的团体特别实用。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;跨境媒体与离散社区&lt;/strong&gt;：离散社区依赖的境外媒体（中文读者熟悉的例如 RFA、端传媒），观测它们在不同 ASN 的可达性差异与长期变化。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;平台级封锁事件&lt;/strong&gt;：某个 app 或服务在某国突然被挡时，快速建一条清单跨 ASN 观测，量出封锁的范围与起讫时间，把单一事件变成可分析的数据。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;挑一个你最关心的题目，列出十来个相关网站，再让一个节点每天执行，几周后就有自己的可达性时间串行可以分析。 对 OONI 与做数据分析的伙伴，aggregation API 支持用 &lt;code&gt;ooni_run_link_id&lt;/code&gt; 筛选，针对 Run v2 生态本身做 meta 分析因此变得可行，本篇报告即依此产出。 anoni.net 社区把这套做法整理在 &lt;a href=&#34;https://github.com/anoni-net/docs/issues/78&#34; target=&#34;_blank&#34;&gt;issue #78&lt;/a&gt; 的测量模式提案里，征询仍然开放，欢迎社区与 OONI 团队一起讨论。&lt;/p&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;issue #78 的测量模式提案摘要&lt;/p&gt; &lt;p&gt;issue #78 提出一套 civic-internet-watch 测量模式，把系统拆成两层。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;名单治理&lt;/strong&gt;：社区自己维护一份公民团体网站名单，single source of truth 放在社区的 git repo，收录标准、征询状态与敏感分级都由社区依本地脉络决定，git 历史本身就是清单治理纪录。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;测量与数据&lt;/strong&gt;：用标准网络连接测试方法，从名单产生一条 OONI Run v2 链接来检测。志工手机与自营节点消费同一条链接、带同一个 Run Link ID，结果全部进 OONI 公开数据集，可用 OONI API 与 Explorer 查找、研究员可引用，没有数据锁定。&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;名单治理不去更动共享的 Citizen Lab &lt;code&gt;tw.csv&lt;/code&gt;，避免反复改动造成长期测量时间串行断层。&lt;code&gt;tw.csv&lt;/code&gt; 从必要路径降为可选的 additive 回馈，成熟非敏感的组织才以只添加的方式回馈换取全平台基线，敏感组织只留在社区自管名单与 Run v2，不进公开的 PR。&lt;/p&gt; &lt;/div&gt; &lt;h2 id=&#34;数据与前提&#34;&gt;数据与前提&lt;a class=&#34;headerlink&#34; href=&#34;#数据与前提&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;本篇数据以 2026-06-01 为快照，逐条取自 OONI 公开的 aggregation API&lt;sup id=&#34;fnref2:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;（以 &lt;code&gt;ooni_run_link_id&lt;/code&gt; 筛选）。检测量会随时间继续累积，之后重查会得到略高的数字，集中的形状则稳定。解读前有几个前提要先说明。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;检测量来自 aggregation API 的 &lt;code&gt;measurement_count&lt;/code&gt;，是 2026-06-01 当下的查找结果，之后还会继续长。&lt;/li&gt; &lt;li&gt;生涯查找涵盖 &lt;code&gt;2024-01-01&lt;/code&gt; 到 &lt;code&gt;2026-06-30&lt;/code&gt;，跨过 Run v2 的整段历史。&lt;/li&gt; &lt;li&gt;检测量为 0 的检测链接可能是测试或草稿用途，不全等于「失败」。&lt;/li&gt; &lt;li&gt;一条检测链接可以被任何国家的 probe 执行，使用情境分群按清单主题推断，不是 OONI 的官方标注。&lt;/li&gt; &lt;li&gt;完整揭露：社区自己的两条检测链接（&lt;code&gt;10238&lt;/code&gt;、&lt;code&gt;10328&lt;/code&gt;）都列进分析与讨论，没有只挑表现好的 &lt;code&gt;10328&lt;/code&gt;。&lt;/li&gt; &lt;/ul&gt; &lt;h2 id=&#34;相关阅读&#34;&gt;相关阅读&lt;a class=&#34;headerlink&#34; href=&#34;#相关阅读&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/ooni-run-v2/&#34;&gt;OONI Run v2 操作说明&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/ooni-asn-coverage/&#34;&gt;台湾 ASN 观测数据分析&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/tor-relay-watcher/&#34;&gt;Tor Relays 观测点&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../05/2026-onionoo-mcp-public/&#34;&gt;onionoo MCP 上线：用一句中文问 Tor 中继节点现况&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;script src=&#34;https://cdn.jsdelivr.net/npm/vega@5&#34;&gt;&lt;/script&gt; &lt;script src=&#34;https://cdn.jsdelivr.net/npm/vega-lite@5&#34;&gt;&lt;/script&gt; &lt;script src=&#34;https://cdn.jsdelivr.net/npm/vega-embed@6/build/vega-embed.min.js&#34;&gt;&lt;/script&gt; &lt;div class=&#34;footnote&#34;&gt; &lt;hr /&gt; &lt;ol&gt; &lt;li id=&#34;fn:1&#34;&gt; &lt;p&gt;&lt;a href=&#34;https://api.ooni.org/&#34; target=&#34;_blank&#34;&gt;OONI API（aggregation 端点）&lt;/a&gt; - OONI&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref2:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/06/2026-ooni-run-v2-usage-patterns/</link> <pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/06/2026-ooni-run-v2-usage-patterns/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/social/blog/2026/06/2026-ooni-run-v2-usage-patterns.png" type="image/png" length="75906" /> </item> <item> <title>Unredacted 如何帮受审查地区的人连上开放网络</title> <author>anoni.net 社区</author> <category>Tor</category> <category>更新</category> <category>翻译文章</category> <description>&lt;h1 id=&#34;Unredacted-如何帮受审查地区的人连上开放网络&#34;&gt;Unredacted 如何帮受审查地区的人连上开放网络&lt;a class=&#34;headerlink&#34; href=&#34;#Unredacted-如何帮受审查地区的人连上开放网络&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h1&gt; &lt;div class=&#34;admonition info&#34;&gt; &lt;p&gt;以下是 Unredacted 在 Tor Blog 的客座文章全文翻译，文中的「我们」都指 Unredacted：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;https://blog.torproject.org/keeping-the-doors-open-unredacted/&#34; target=&#34;_blank&#34;&gt;Keeping the doors open, Tor Blog, by Unredacted.org, 2026-05-15&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;文末附三段来自 anoni.net 社群的补充（台湾的对照、GreenWare 在自由连接地区的可行性、你能做什么）。&lt;/p&gt; &lt;/div&gt; &lt;p&gt;&lt;img alt=&#34;Keeping the doors open&#34; src=&#34;../../../assets/images/tor.webp&#34; style=&#34;border-radius: 10px;&#34; /&gt;&lt;/p&gt; &lt;p&gt;这篇客座文章是「捍卫自由网络的组织」系列报导的一篇。&lt;/p&gt; &lt;p&gt;有位中国用户曾经这样描述我们的工作：&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;「你们帮了很多很多人翻过防火长城。如果没有你们的帮助，我会被困在完全的黑暗里，被洗脑。」&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;我们很少听到使用我们服务的人发声。他们大多没有办法、或不觉得自己能安全地传消息出来。每当有一条消息穿越过来，就提醒我们这件事真正关系到什么。&lt;/p&gt; &lt;!-- more --&gt; &lt;p&gt;我们是 Unredacted，一个注册在美国的 501(c)(3) 非营利组织（美国的免税公益组织）。我们建造并运维网络基础设施，协助大家连上开放的网络、捍卫使用网络的隐私权。具体做法是在全球运行一个超过 300 台服务器的网络。当前门被锁住时，我们是另一条穿越的路径。当公共广场不再安全时，我们是还能说话的地方。&lt;/p&gt; &lt;p&gt;这份工作大部分都是看不见的，包括数据中心作业、硬件、自动化、开源软件、带宽、滥用通报处理、监控警报，以及为了让这一切持续运作而熬过的深夜。&lt;/p&gt; &lt;p&gt;我们做的事情分成三个方向。&lt;strong&gt;Censorship Evasion&lt;/strong&gt;（绕过审查）这一块是 Unredacted Door，我们把所有用来绕过封锁的服务都收在这个名字底下。&lt;strong&gt;Secure Infrastructure&lt;/strong&gt;（安全基础设施）承载的是像 &lt;a href=&#34;https://xmpp.is/&#34; target=&#34;_blank&#34;&gt;XMPP.is&lt;/a&gt;、自家的 Matrix 家用服务器，还有其他以安全与隐私为前提的免费服务。&lt;strong&gt;Unredacted Education&lt;/strong&gt; 是写作与文件的部分，给想理解这份工作、想自己复制一遍的人读的指南与说明。在这三块之外，&lt;strong&gt;Unredacted Labs&lt;/strong&gt; 是实验区，运作还没到正式上线等级的基础设施想法。GreenWare 就是其中一项，目的是用不太耗电的硬件扛起真实的网络容量。&lt;/p&gt; &lt;h2 id=&#34;Unredacted-Door&#34;&gt;Unredacted Door&lt;a class=&#34;headerlink&#34; href=&#34;#Unredacted-Door&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;名字就是字面的意思。当通往开放网络的入口被墙封起来，人们就需要另一条进入的路径。&lt;/p&gt; &lt;p&gt;Unredacted Door 把好几项绕行审查的服务收在一起：FreeSocks、Signal 与 Telegram 的消息代理、Tor bridges、Snowflake 代理。在最近的 30 天里，这些服务替数万名在自己国家绕行审查的用户承载了将近 300 TiB 的流量，大约相当于播好几万小时 4K 视频所需的带宽。需求没有减缓，我们得持续架更多。每一条新过滤规则、每一条新法律、每一波打着「为了你的安全」名号的措施，都会把更多人推向尚未被审查者发现的路。&lt;/p&gt; &lt;p&gt;Unredacted Door 里最大的一块是 FreeSocks，给审查严重地区的用户用的免费代理。如果你没接触过，代理就是一个转接点：你的应用程序连的是这台转接的服务器，由它把连接带过你跟外面网络之间那层过滤，再接到你真正想连的被封锁服务。&lt;/p&gt; &lt;p&gt;FreeSocks 的设计重点是让这个转接点看起来低调无奇，这恰好是一般 VPN 缺乏的特质。VPN 在连接上很显眼，有清楚的端点、清楚的握手、在线路上看得出来的数据包形状。审查者非常擅长阻挡他们认得出来的东西。&lt;/p&gt; &lt;p&gt;没有单一工具能涵盖所有情境。Tor Browser 提供强度足够的浏览隐私与匿名性。Snowflake 在 Tor 网络本身被封时，帮用户绕回 Tor 上。FreeSocks 代理则把特定流量推上一条较难被察觉的路径。住在审查环境里的人通常手边得备上好几种工具，因为没有任何一扇门能一直开着。&lt;/p&gt; &lt;p&gt;这也是我们为什么把心力投在 FreeSocks 第二版（v2）的开发上。它使用 Xray，一个强大且弹性的流量路由引擎，可以把代理流量做得更像一般网页流量。&lt;/p&gt; &lt;div class=&#34;admonition note&#34;&gt; &lt;p class=&#34;admonition-title&#34;&gt;什么是 Xray&lt;/p&gt; &lt;p&gt;Xray 是一个流量路由与伪装工具，源自 V2Ray 项目，被中国、伊朗等审查严重地区的用户广泛采用。它提供 VLESS、Trojan、Reality 等协议，把代理流量伪装成一般 HTTPS / TLS 流量，让系统难以从连接特征认出它是代理。传统 VPN 一眼能认出的握手与数据包样态，Xray 把这些指纹抹平，是抗审查工具圈里近年的主力选择。详细可参考 &lt;a href=&#34;https://github.com/XTLS/Xray-core&#34; target=&#34;_blank&#34;&gt;Xray-core 项目&lt;/a&gt;。&lt;/p&gt; &lt;/div&gt; &lt;p&gt;我们把 Xray 与自家的开源控制平面绑在一起，这样当审查者找到并封锁某台服务器时，系统就能自动轮替端点。用户已经在压力底下了，能少花一分力气去调设置就少一分风险。&lt;/p&gt; &lt;h2 id=&#34;GreenWare用更省电的硬件撑起-Tor-容量&#34;&gt;GreenWare：用更省电的硬件撑起 Tor 容量&lt;a class=&#34;headerlink&#34; href=&#34;#GreenWare用更省电的硬件撑起-Tor-容量&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Tor 中继、桥接、代理等等，这些都运作于数据中心的硬件上，而硬件有实际的成本，财务、运营、环境都有。如果我们希望隐私基础设施能长期撑下去，就得问什么样的运维才是真的可持续。&lt;/p&gt; &lt;p&gt;GreenWare 是我们试着缩小这个成本、同时保住承载量的尝试。大多数 Tor 中继的流量，并不需要一台耗电像暖风机的服务器。一台中继需要的是稳定的网络、可预测的 CPU，以及足够存放状态的内存。这种规模的工作量，一台单板电脑就能处理，前提是外壳够扎实。&lt;/p&gt; &lt;p&gt;我们从 Raspberry Pi 5 主板开始，通过 PoE（网络供电）让电与数据都靠一条网线喂进去。这个想法行得通。数据中心的典型服务器吃的电大约相当于一台小型暖风机，而一台 Pi 连一颗灯泡都不到。但是第一代有它的天花板，密度不够，部分配套元件也撑不了我们的长时间使用。&lt;/p&gt; &lt;p&gt;所以我们现在同时采用两种部署方式。第一种是一个 1U 机箱里塞 20 个 ComputeBlade 模组，全部 20 个都部署在我们的数据中心，把一部分 Tor exit relays 搬到上面运作。这个机箱在满载时大约吃 100W 多一点，大约等于一颗旧式白炽灯泡。第二种是我们自己设计的定制 Raspberry Pi 机箱。会做这个，是因为 ComputeBlade 的经验让我们更清楚现场到底需要什么。两种都已经上线，截至撰文时，我们全部 123 个 Tor exit relay 都运作于这套合并后的基础设施上，总耗电大约 400W。随着时间推进，等项目更成熟，我们会再分享更多机箱设计与整体进展。&lt;/p&gt; &lt;p&gt;Tor 网络靠愿意替它运维基础设施的人与组织撑起。Exit 是这份工作里最难的一块，需要带宽、维护、处理滥用通报、法律上的承担，还需要钱。如果我们能把产出有意义的 exit 容量所需的成本与电力都压低，就有更多人能扛起其中一块，让网络的节点更多元、规模更大。&lt;/p&gt; &lt;p&gt;更长远的目标是继续推动高效硬件、碳排追踪，乃至于以再生能源驱动的小型节点。我们很乐意跟想看到这件事持续做大的组织与公司合作。&lt;/p&gt; &lt;p&gt;开放的网络之所以保持开放，是因为有许多人与组织投入心力、时间与精神。包括测量审查的研究者、提供带宽的中继运维者，以及不肯把彼此丢下的社群。Unredacted 负责的这一块，就是建造与维护那些路径，在那些明显好走的路被切断时，给人们另一条能走的路。&lt;/p&gt; &lt;hr /&gt; &lt;h2 id=&#34;来自-anoninet-社群台湾的对照&#34;&gt;来自 anoni.net 社群：台湾的对照&lt;a class=&#34;headerlink&#34; href=&#34;#来自-anoninet-社群台湾的对照&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Unredacted 文章里那位中国用户的话格外少见，因为身处审查环境的人多半没有管道、也难以安全地对外发声。anoni.net 是一个台湾的匿名网络社群，写这篇补充的视角来自这里。台湾的网络环境相对自由，没有 GFW、没有强制 VPN 注册、ISP 也没有国家审查命令。也因为如此，台湾这类对外连接自由的地区，有条件替被封锁地区架设 Tor 中继与桥接，分担一部分抗审查基础建设的工作。在中国大陆、伊朗这类重度审查地区的人，正是这些基础设施服务的对象。在新加坡、马来西亚、海外华人所在地这些对外连接同样自由的地方，也都适合成为架设来源地。&lt;/p&gt; &lt;p&gt;匿名网络社群 anoni.net 一直通过 &lt;a href=&#34;https://anoni.net/api/readme&#34; target=&#34;_blank&#34;&gt;Pulse 即时观测&lt;/a&gt; 追踪台湾 Tor 中继节点的数量与分布。截至 2026-05-31，台湾境内 Onionoo（Tor 官方的中继数据查询服务）看得到的、运作中的中继节点是 12 个，其中具有 Exit 旗标的只有 3 个（initramfs、GuruKopi、jerryrelay）。对照 Unredacted 一个组织就执行 123 个 exit relay、30 天承载近 300 TiB 流量，台湾的全国 exit 规模还不到他们的 3%。我们在 &lt;a href=&#34;../../../../taiwan/tor-relay-watcher/&#34;&gt;Tor Relays 观测点&lt;/a&gt; 持续更新这个数字，并在 &lt;a href=&#34;../../../../taiwan/ooni-asn-coverage/&#34;&gt;ASN 观测数据分析&lt;/a&gt; 补上 OONI 对台湾与邻近地区的审查观测。&lt;/p&gt; &lt;p&gt;香港、澳门以及使用中文的东南亚华语用户，在 2020 年后实际的翻墙需求增加，而简体与正体中文的抗审查资源相对稀缺。anoni.net 的工作之一是把这套中文资源补起来，包括 &lt;a href=&#34;../../../../tools/what-is-tor/&#34;&gt;什么是 Tor&lt;/a&gt;、&lt;a href=&#34;../../../../tools/tor-snowflake/&#34;&gt;Tor Snowflake 桥接点&lt;/a&gt;、&lt;a href=&#34;../../../../tools/what-is-ooni/&#34;&gt;什么是 OONI&lt;/a&gt; 等基础文件，跟 Unredacted 的 Unredacted Education 走在同一条路上。&lt;/p&gt; &lt;h2 id=&#34;来自-anoninet-社群GreenWare-在自由连接地区的可行性&#34;&gt;来自 anoni.net 社群：GreenWare 在自由连接地区的可行性&lt;a class=&#34;headerlink&#34; href=&#34;#来自-anoninet-社群GreenWare-在自由连接地区的可行性&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Unredacted 把 123 个 exit relays 运作于 400W 上，这个数字换算成运营成本相当友好。以台湾一般工商业用电费约 NT$ 3.5 至 6 / 度（约人民币 0.8 至 1.4 元 / 度）估算&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a class=&#34;footnote-ref&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;，400W 全年运转约 3,500 度电，一年大约 NT$ 12,000 至 21,000，对学校信息中心或社群协作空间而言是可以负担的运营成本。读者在其他地区可以换算当地电价，量级通常落在同一个区间。&lt;/p&gt; &lt;p&gt;关键在硬件规模化的设计。Raspberry Pi 5 对各地 maker 社群都不陌生，PoE+ HAT 与 PoE 交换机在常见零售管道都能买到（台湾如 Cytron、群创、PChome，其他地区可循当地电子零售管道）。ComputeBlade（20 模组 1U 机箱）目前零售管道较少，可以通过官方海外订购或社群代购取得。机构机房比家用网络更适合做这件事，原因有三：固定 IP、机构网络带宽、有人巡检机器。&lt;/p&gt; &lt;p&gt;Tor Relay 校园建立是 anoni.net 2026 的三大主题之一，社群正在把校园架设的经验整理成一份 SOP（见 &lt;a href=&#34;../../../../community/relay-on-campus/&#34;&gt;Tor Relay 校园建立研究专题&lt;/a&gt; 与 &lt;a href=&#34;../../../2025/12/ntnu-nz/&#34;&gt;在台师大架设 Tor Relay：一段与学校沟通、留下可能性的实现经验&lt;/a&gt;）。Unredacted 在 GreenWare 上的工程做法，可以做为下一所学校评估架设方案时的参考点，先用 PoE 喂电的 Raspberry Pi 5 试做一台 middle relay，等运作稳定后再考虑 exit 与机箱密度。&lt;/p&gt; &lt;p&gt;对想参与的个人或小团体，从 Snowflake proxy 开始（浏览器扩展或 Docker）几乎没有电费负担，是进入抗审查基础建设最低门槛的入口（见 &lt;a href=&#34;../../../../tools/tor-snowflake/&#34;&gt;Tor Snowflake 桥接点&lt;/a&gt;）。&lt;/p&gt; &lt;h2 id=&#34;你能做什么&#34;&gt;你能做什么&lt;a class=&#34;headerlink&#34; href=&#34;#你能做什么&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;读完 Unredacted 的工作，如果你也想替审查地区的人多撑住一条连外的路，这里有几个入口：&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;了解 Unredacted&lt;/strong&gt;：到 &lt;a href=&#34;https://unredacted.org/&#34; target=&#34;_blank&#34;&gt;unredacted.org&lt;/a&gt; 看他们的服务与透明度信息，再决定是否通过官方管道支持服务器、带宽与人力成本。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;自架 Snowflake&lt;/strong&gt;：最低门槛的抗审查贡献，用浏览器扩展或 Docker 就能执行（见 &lt;a href=&#34;../../../../tools/tor-snowflake/&#34;&gt;Tor Snowflake 桥接点&lt;/a&gt;）。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;架设 Tor relay 或 bridge&lt;/strong&gt;：需要稳定网络与一点运维心力，社群整理了 &lt;a href=&#34;../../../../community/setup-tor-relay/&#34;&gt;如何搭建 Tor Relay&lt;/a&gt; 的步骤与经验。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;校园 Tor Relay&lt;/strong&gt;：在大专院校工作或就读的人，可以从 &lt;a href=&#34;../../../../community/relay-on-campus/&#34;&gt;Tor Relay 校园建立研究专题&lt;/a&gt; 开始评估。&lt;/li&gt; &lt;li&gt;&lt;strong&gt;加入 anoni.net 社群讨论&lt;/strong&gt;：通过 Matrix 跟其他社群成员交换经验，入口在 &lt;a href=&#34;../../../../community/&#34;&gt;社群参与&lt;/a&gt;。&lt;/li&gt; &lt;/ul&gt; &lt;h2 id=&#34;延伸阅读&#34;&gt;延伸阅读&lt;a class=&#34;headerlink&#34; href=&#34;#延伸阅读&#34; title=&#34;Permanent link&#34;&gt;&amp;para;&lt;/a&gt;&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/what-is-tor/&#34;&gt;什么是 Tor&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/tor-snowflake/&#34;&gt;Tor Snowflake 桥接点&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../tools/what-is-ooni/&#34;&gt;什么是 OONI&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../community/relay-on-campus/&#34;&gt;Tor Relay 校园建立研究专题&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/tor-relay-watcher/&#34;&gt;Tor Relays 观测点&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;../../../../taiwan/ooni-asn-coverage/&#34;&gt;ASN 观测数据分析&lt;/a&gt;&lt;/li&gt; &lt;li&gt;同系列：&lt;a href=&#34;https://blog.torproject.org/Defending-the-right-to-know/&#34; target=&#34;_blank&#34;&gt;Defending the public&#39;s right to know（OONI）&lt;/a&gt;、&lt;a href=&#34;https://blog.torproject.org/preserving-evidence-openarchive-fosters-accountability-media-sovereignty/&#34; target=&#34;_blank&#34;&gt;Preserving evidence: How OpenArchive fosters accountability and media sovereignty&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;div class=&#34;footnote&#34;&gt; &lt;hr /&gt; &lt;ol&gt; &lt;li id=&#34;fn:1&#34;&gt; &lt;p&gt;台电 2026 年平均电价为每度 NT$ 3.7823（经济部 2026-03-27 电价审议会决议，4–9 月维持平均电价），实际每度单价依用电种类与时间电价（尖峰、离峰）而有差异。数据来源：&lt;a href=&#34;https://www.taipower.com.tw/2289/2290/46940/&#34; target=&#34;_blank&#34;&gt;台湾电力公司电价表&lt;/a&gt;。&amp;#160;&lt;a class=&#34;footnote-backref&#34; href=&#34;#fnref:1&#34; title=&#34;Jump back to footnote 1 in the text&#34;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/div&gt;</description> <link>https://ipfs.anoni.net/zh-cn/blog/2026/06/keeping-the-doors-open/</link> <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate> <source url="https://ipfs.anoni.net/zh-cn/feed_rss_created.xml">匿名网络社群 anoni.net/Docs</source><guid isPermaLink="true">https://ipfs.anoni.net/zh-cn/blog/2026/06/keeping-the-doors-open/</guid> <enclosure url="https://ipfs.anoni.net/zh-cn/assets/images/tor.webp" type="image/webp" length="13344" /> </item> </channel> </rss>