[ rusttv.org · 网站与 chrome 扩展 ]
隐私政策
本译文仅供参考。如有任何出入,以本政策的俄文版本为准。
RustTV.org 是一个查看 Rust 游戏服务器的工具:清档时间表、实时在线人数和延迟。项目由网站 rusttv.org 和一个 Chrome 扩展组成。我们不收集个人数据,不投放任何广告或分析跟踪器,也从不向任何人出售或转让用户数据。
简要说明
- 收藏和设置留在你的浏览器里: 它们保存在你自己配置文件中的 chrome.storage 内,绝不会发送到我们的服务器。
- 直接测量延迟需要你主动开启: 它从你的设备直接连到游戏服务器,测量结果只留在你自己的机器上。
- 我们的 API 会看到你的 IP 地址。 浏览器连接的任何网站都是如此。它只在处理请求的过程中被使用,之后仅出现在普通的 Web 服务器日志里。
- 没有分析统计,没有广告,不出售数据,也没有远程代码。
1. 扩展做什么
扩展在浏览器工具栏中显示一份 Rust 服务器列表,数据来自我们的公开 API:名称、在线人数、地图、服务器网络,以及上次和下次清档的时间。延迟由扩展自己测量,并且需要你的同意——见第 3 节。你可以给服务器加上星标收藏,并在它清档前不久收到通知(如果愿意,也可以在清档刚结束时再收到一次)。工具栏图标会显示距离收藏中最近一次清档的倒计时。
扩展不向网页注入任何内容脚本,也从不读取你的浏览历史、标签页、剪贴板或页面内容。它只与自己的弹窗、自己的设置页面以及我们的 API 打交道。
2. 扩展存储哪些数据
扩展的全部数据都存放在你的配置文件内的浏览器存储(chrome.storage)中。那是它们唯一存在的地方——我们的服务器上没有任何副本。
chrome.storage.sync
- 收藏的服务器: 一份来自我们目录的服务器标识列表(最多 50 个)。
- 设置: 清档前提前多久提醒你、是否在清档之后也发送通知,以及默认的地区筛选。
如果你已登录 Google 账号并开启了同步,sync 存储区会由 Chrome 自己在你自己的设备之间同步。这一传输发生在你和 Google 之间;我们无从访问,也从不接收其中的内容。你可以在 Chrome 设置中关闭同步。
chrome.storage.local
- 数据缓存: 最近一次获取的收藏服务器和即将到来的清档的快照,让弹窗能够立刻打开,并在 API 无法访问时依然可用。
- 通知的记录状态: 记录哪一次清档已经通知过,以免同一条提醒出现两次。
- 延迟缓存: 实测值、按距离得出的估算值,以及到 API 的基准延迟;这些条目 5 分钟后过期,占用的容量也有上限。
- 你的大致坐标: /api/v1/geo 的返回结果(城市/地区级别),保留几个小时,这样弹窗不必每次打开都重新请求;它只用于按距离估算延迟。
- 一个“已经问过”的标记: 用于那个可选权限的申请提示,以免反复向你询问。
以上内容都不会离开浏览器。卸载扩展,它的存储也会随之一起删除。
3. 直接测量延迟(需你主动开启)
Manifest V3 不给扩展提供原始套接字,而 Rust 服务器使用 UDP 通信,因此在浏览器里无法测出真正的游戏内延迟。扩展只能近似地测:它向游戏服务器的 IP:port 打开一个普通的网络连接,并计时到收到应答为止(通常是一次连接拒绝)。这个往返时间就是延迟的估算值。
- 该功能默认关闭。 它需要一项可选的主机权限,这项权限通过 Chrome 的标准对话框(chrome.permissions.request)申请。
- 连接从你的设备直接发出: 目标是游戏服务器的 IP 地址。和你的计算机发出的任何网络连接一样,它们对你的互联网服务提供商和服务器运营者是可见的。
- 过程中不传输任何数据:请求以 no-cors 模式发出,不带 cookie,也不带凭据,响应内容从不被读取——被读取的只有耗时。
- 测量结果留在你的浏览器里: 会缓存 5 分钟,并且绝不会发送给我们。
- 该权限可以随时撤销: 可以在扩展的设置页面(“撤销访问权限”)撤销,也可以通过 Chrome 自身撤销。
没有这项权限时,扩展完全不会向游戏服务器打开任何连接:它只测量自己到我们 API 的往返时间,并把这个数字显示在列表底部,而延迟一列则退回到按距离得出的估算值,并以“≈”标记。rusttv.org 网站用同样的方式估算延迟,而且这一计算完全在你的浏览器中完成(见第 4 节)。
4. 对 rusttv.org API 的请求
网站和扩展都从 https://rusttv.org/api/v1 上的公开 API 读取数据。该 API 只提供读取(GET),完全匿名,没有身份验证,也不使用 cookie。
和任何 HTTPS 请求一样,我们的服务器会看到请求来自哪个 IP 地址,以及浏览器的标准请求头(User-Agent、语言)。我们这样使用它们:
- 请求频率限制: 按 IP 统计请求次数(每分钟 60 次;延迟探测点为 300 次),以免 API 被大量请求打垮下线。计数器保存在内存中,会自行过期。
- 按地理位置估算延迟: 网站和扩展会请求 /api/v1/geo 接口,它借助本地离线的 DB-IP 数据库把你的 IP 解析成大致坐标(城市/地区级别),并带着 Cache-Control: no-store 立即返回给你。这个结果不会被写到任何地方;距离以及延迟估算本身都在你的浏览器中计算。过程中不会请求任何第三方地理定位服务。
- Web 服务器日志: 一份标准的 nginx 访问日志(IP、时间戳、路径、状态码、User-Agent),用于排查故障和防范滥用,并按服务器常规的日志轮转清理。它不用于画像,也不会与任何身份关联。
这里没有用户画像,没有用户标识,没有 cookie,也没有跨站跟踪。你的收藏和设置从不会发送给 API:目录请求对所有人都是一样的。
5. 通知
清档通知在你的设备上通过 chrome.notifications 生成:一个闹钟(chrome.alarms)会刷新你收藏的数据,并把下次清档的时间与你的设置作比较。其中不涉及任何推送服务,也不会向任何第三方发送任何东西。
6. 扩展的权限及其用途
- storage
- 在浏览器中保存收藏和设置,以及目录缓存和延迟缓存。
- alarms
- 定期刷新收藏的数据,并在清档时刻准时触发:MV3 的 service worker 会被卸载,其中的定时器无法在卸载后继续存活。
- notifications
- 为收藏的服务器显示“即将清档”的提醒,以及(如果你愿意)“清档已完成”的提醒。
- offscreen
- 在一个隐藏文档中执行一连串往返时间测量:service worker 会在一轮测量结束之前就被关闭。
- https://rusttv.org/*
- 从我们的 API 读取服务器目录和清档时间表。这是扩展唯一会自行访问的远程地址。
- *://*/* (可选)
- 仅用于直接测量延迟:游戏服务器的地址由服主自行决定,事先无从得知,而且会随时间变化,因此无法在清单文件中声明一份固定的主机列表。它只会在你明确同意后才申请,只用于向目录中某台服务器的 IP:port 打开连接,不向任何页面注入脚本,也不读取任何网站的内容。可在设置页面撤销。
7. 我们不做的事
- 我们不收集姓名、电子邮件地址、电话号码、通信地址、支付信息或任何其他个人信息。
- 我们不嵌入任何分析工具、计数器、广告网络或跟踪器。
- 我们不向第三方出售或转让用户数据,也不把它用于与扩展这套功能无关的目的。
- 我们不加载也不执行远程代码:扩展的全部代码都包含在已发布的安装包中。
- 我们不把数据用于信用评估或放贷用途,也不把它提供给数据经纪商。
8. 如何删除你的数据
在 chrome://extensions 中删除扩展,它的两个存储区也会随之一起消失。你也可以通过取消星标来清空收藏,并在设置页面撤销延迟测量的权限。我们这边不会留下任何关于你的数据,因为我们从来就没有保存过。
9. 儿童
本服务并非面向 13 岁以下的儿童,而且我们不会有意收集任何人的数据,儿童也不例外。
10. 本政策的变更
如果本政策发生变更,我们会更新页面顶部的生效日期。重大变更也会体现在扩展在 Chrome Web Store 的商店页面上。