跳转至

小工具

站上的文章说明怎么保护自己,小工具区放的是可以直接按的东西。共同的规则有四条:

  • 全部在你的浏览器里运算,不送出任何数据
  • 存进设备之后没有网络也能用,断网可用本身就是「没有偷送东西」的证明
  • 源代码在 anoni-net/docs,看得懂的人可以自己验
  • 都需要浏览器开着 JavaScript,因为运算是在你的设备上做的

用 Tor Browser 的话有一个冲突要知道

Tor Browser 的安全等级调到 Safest 会把 JavaScript 全部关掉,小工具区的工具就整页不动。

冲突在于,安全等级页的指引写的是在「来路不明的钓鱼链接、不熟悉的域名」时把等级调高,而收到可疑链接正是最需要用隐形字符检测QR code 读取器查一下的时候。

处理方式是把两件事分开。可疑的网站用高安全等级去开,把要查的文字或图片复制出来之后切回 Standard,查完再调回去。小工具区的工具不连外,在 Standard 等级下打开它们不会增加你在该可疑网站上的暴露。

目前有的

  • 威胁模型清单

    把「要保护什么、要防谁、愿意付出多少」三题答成一份可复制的清单,并标出答案里的错配。答案不存起来,刷新就没了。

  • 密语与密码生成器

    用 asian-diceware 的 7776 字词表抽密语,或从你选的字符集抽随机密码。随机数来自浏览器的 crypto.getRandomValues,并且会显示生成出来的密码熵有多少。

  • QR code 生成器

    把 onion 网址、Tor bridge 等很长又容易打错的字符串变成 QR code,让眼前的人用相机读走,中间不经过任何服务器。可以下载成 SVG 印出来。

  • QR code 读取器

    读出图片里 QR code 的内容,图片不离开设备。解出来是网址时把主机独立标出来,并且不提供打开按钮。

  • 文件 metadata 清除器

    拿掉照片、视频与 PDF 里的 EXIF、GPS、设备型号、制作软件与注释字段,全程在本机处理。照片与视频的压缩数据一个比特都没动,每一段的去留都列给你看。

  • 网址清理器

    把网址里的追踪参数挑出来并移除,每一个都说明是谁在追。顺便拆掉 Google 与 Facebook 的转址包装。

  • 隐形字符检测

    找出文字里看不见的零宽字符、方向控制、标签字符与同形字,标出位置并说明每一类是什么。文件外流追踪、钓鱼网址,还有藏给 AI 读的指令,都会利用看不见的字符。

  • 你的浏览器透露了什么

    列出任何网站不必问你就拿得到的信息,并标出 Tor Browser 会把哪些统一掉。换个浏览器再看一次,就知道 Tor Browser 实际上防住了什么。

要离线带着走

工具的程序与数据会跟页面一起存下来。在离线阅读的清单里勾起小工具区的页面,之后没有网络也打得开。

用了谁的程序

小工具区大部分的程序是自己写的,放在 anoni-net/docs 底下。有四样东西来自别人,原封不动放进来,不做任何修改:

组件 用在 授权 授权文字在哪
qrcode-generator 1.4.4 QR code 生成器 MIT 文件开头的标头
jsQR 1.4.0 QR code 读取器 Apache-2.0 jsQR-LICENSE.txt
pdf-lib 1.17.1 文件 metadata 清除器的 PDF 部分 MIT pdf-lib-LICENSE.txt
asian-diceware 的 7776 字词表 密语与密码生成器 词表数据 CC-BY-4.0,程序 MIT 上游的 repo

pdf-lib.min.js 里面还打包了微软的 tslib(Apache-2.0),它的版权信息跟着留在文件里,没有被压缩工具剥掉。

不做修改是刻意的。改过就失去可对照上游版本的可审性,读者要验的时候只能相信我们的说法。文件都在 utils/vendor/ 底下,可以自己跟上游的版本比对。

为什么有四样不自己写,各页最后一节都有说明。共通的理由是外部函数库写错不会崩溃,只会产生看起来正常但实际上错的结果,比坏掉更难发现,QR code 生成器那一页就记了一次实际遇到的例子。

没有收进来的东西

需要连到外部服务才能运作的功能不会收进小工具区,因为连接本身就违反「离线可用」与「不送出数据」两条规则。网络测量请用 OONI Probe,它是设计来做网络测量的工具,数据的处理方式也公开。