隐私政策 · Privacy Policy
XVPN · 最后更新:2026-09-12
摘要
XVPN 不收集、不上传、不共享你的任何个人数据。 它没有账号体系、没有 分析统计、没有广告 SDK、没有崩溃上报。你的配置文件与连接记录只保存在你自己的 设备上。
以下逐项说明它到底碰了哪些数据,以及为什么。我们宁可写得啰嗦,也不写 「我们重视您的隐私」这种无法验证的话。
一、我们不收集什么
明确的否定清单,因为这些是同类应用常见的收集项:
| 项目 | 情况 |
|---|---|
| 账号、邮箱、手机号 | 不收集。应用没有登录,也不需要注册 |
| 设备标识(IMEI / Android ID / 广告 ID) | 不收集、不读取 |
| 位置信息 | 不收集。应用不申请任何定位权限 |
| 通讯录、短信、照片、文件列表 | 不读取。只读取你主动选择的那一个配置文件 |
| 连接历史、浏览记录 | 不上传。连接记录只存在设备内存中 |
| 分析统计 / 埋点 | 没有。未集成任何分析 SDK |
| 崩溃上报 | 没有。未集成任何崩溃收集 SDK |
| 广告 | 没有。未集成任何广告 SDK |
| 第三方追踪 | 没有。未集成任何追踪 SDK |
本应用没有自建或第三方的服务器来接收你的数据。我们不运营任何后端。
二、本地保存的数据
以下数据保存在设备上应用的私有目录中。不会离开设备。
| 平台 | 存放位置 |
|---|---|
| Android | 应用私有 filesDir(系统按应用隔离) |
| Windows | %LOCALAPPDATA%\XVPN |
| Linux | $XDG_DATA_HOME/XVPN;未设置该变量时为 ~/.local/share/XVPN |
Linux 上内核生成的运行期文件(config.json、core.pid)另放在
$XDG_RUNTIME_DIR/XVPN;该目录是登录期的临时文件系统,注销即清空,因此
上次意外退出留下的进程记录不会跨会话存活。
| 数据 | 内容 | 用途 |
|---|---|---|
| 配置原文 | 你导入的 .conf / .ovpn 文件全文 |
重新生成内核配置 |
| 配置名称 | 文件名 | 在列表中区分 |
| 账号密码 | 仅在你导入的配置要求 auth-user-pass 时 |
连接时提交给你自己的服务器 |
| 当前配置、连接意图 | 哪个配置是当前项、上次是否处于连接状态 | 重开应用时恢复 |
| 设置项 | 主题、分流模式、是否记录日志等 | 记住你的选择 |
| 自动纠正规则 | 被程序自动改为走隧道的域名,及判断依据 | 见下文「自动纠正」 |
三点需要你知情
1. 配置原文中的密钥与密码以明文存储。 WireGuard 的私钥、OpenVPN 的客户端证书与私钥、Hysteria2 的认证密码与混淆密码 都在配置原文里。内核必须读取可用的原文件,因此这些内容在三个平台都以 明文存放在上表的私有目录中——这与所有同类客户端一致。请知悉:设备的 磁盘加密是这些凭据的主要保护。应用不额外加密配置原文,因为解密密钥也只能 存在同一台设备上,那只是把锁和钥匙放在一起。
2. auth-user-pass 的账号密码按平台尽力加密。
它与配置原文分开单独落盘,并按当前平台选择保护方式:
| 平台 | 保护方式 | 何时退回明文 |
|---|---|---|
| Windows | DPAPI(系统 CryptProtectData),密钥由当前 Windows 账户派生 |
仅在系统缺少 crypt32 等极少数环境;界面会如实提示 |
| Linux | 系统钥匙串(Secret Service / libsecret,经 secret-tool),落盘的是不透明 key,密码本体在钥匙串里 |
未安装 secret-tool、或钥匙串守护进程不可达时;界面提示「未加密」 |
| Android | 尚未接入系统 Keystore | 目前始终为明文(接入 Keystore 后会自动升级,旧数据仍可读) |
DPAPI 密文与 Linux 钥匙串条目都绑定当前用户:换个 Windows 账户、换台机器 或换一个 Linux 用户就解不开。这是保护本身的特性,不是缺陷——此时应用会让你 重新填一次密码,而不是把无法解密的凭据当成明文使用。
3. 应用私有目录受系统沙箱保护。 其他应用无法读取(Android 由系统沙箱强制,桌面端由文件权限与用户账户隔离)。 卸载应用会一并删除这些数据,删除后需要重新导入配置。
三、分流记录与失败记录
应用会在内存中保留最近若干条分流判定与连接失败记录,用于: 显示「最近分流」列表、统计分流比例、诊断「网站为什么打不开」。
- 记录内容:域名或 IP、端口、走的是直连还是隧道、命中了哪条规则、 失败原因。不记录任何请求内容(不记录 URL 路径、不记录传输的数据、 不记录 Cookie 或表单内容)。
- 不落盘:这些记录只存在内存里,关闭应用即消失,不被写入磁盘。
- 可在设置页关闭「记录分流日志」,关闭后不再产生任何记录。
四、应用会发起的网络连接
这是本节最重要的一段:应用确实会主动联网,但目标与内容都非常有限。 逐项列出,便于网络管理员或安全审计核对。
| 目标 | 何时 | 发送什么 | 为什么 |
|---|---|---|---|
127.0.0.1:2081(Clash API) |
连接期间每秒 | 读取连接列表与流量计数 | 显示分流记录与实时速率。仅回环地址,不出设备 |
| 内核单线程,经你自己的隧道 | 连接期间 | 你的全部隧道流量 | 这就是 VPN 本身的工作方式 |
www.gstatic.com/generate_204(可配置) |
连接期间每 15 秒 | 一次 HTTPS 请求 | 测量隧道延迟与连通性。这是「延迟 xx ms」的来源 |
223.5.5.5、119.29.29.29(阿里/腾讯公共 DNS) |
连接期间约每 45 秒 | 对固定探测域名的 DNS A 查询 | DNS 健康监测:判断国内解析器是否变慢或被劫持 |
cdn.jsdelivr.net |
仅当你点击「检查更新」 | 下载规则库 .srs 文件 |
更新分流规则库。不点击则不会发生 |
补充说明:
- 内核不自带任何服务器。 它连接的服务器地址来自你导入的配置, 数据直接在你的设备与你自己的服务器之间传输,不经过我们。
- DNS 探测查询的是固定的探测域名(用于测量解析器健康状况), 不是你访问的网站。它们走系统网络直接发出,不经过隧道。
- 应用的诊断功能不会把你的域名清单、流量或配置发送给任何第三方。
- 没有遥测:上述请求都不带设备标识,也不上报结果到任何服务器。
五、自动纠正:本地运行的自动化判断
应用有一项「自动纠正」功能:当某个域名连续多次「判为直连却连接失败」时, 它会把这个域名加入一份本地列表,改为走隧道。判断依据是本机观测到的 连接失败日志与 DNS 比较结果。
- 这份列表只保存在设备上,不上传;
- 它只包含域名,不包含你访问的内容;
- 你可以在设置页查看每条规则的证据、逐条撤销或全部清除。
六、权限说明
Android 端申请的权限及用途:
| 权限 | 用途 |
|---|---|
INTERNET |
建立隧道、访问你配置的服务器 |
ACCESS_NETWORK_STATE |
判断网络是否可用,以决定是否重连 |
FOREGROUND_SERVICE |
隧道必须在后台前台服务中运行,否则系统会杀掉连接 |
FOREGROUND_SERVICE_SPECIAL_USE |
Android 14+ 要求声明前台服务类型,本应用为 VPN 隧道 |
POST_NOTIFICATIONS |
显示「VPN 运行中」的常驻通知(系统要求前台服务必须有通知) |
BIND_VPN_SERVICE(声明于服务,非申请) |
只有系统能绑定该服务,应用自身无法启动它 |
不申请定位、相机、麦克风、通讯录、存储等任何与功能无关的权限。
七、VpnService 用途声明
本应用使用 Android VpnService 的唯一目的是提供核心 VPN 功能:
在设备上建立一条加密隧道,并按用户配置的分流规则决定哪些流量走隧道、
哪些直连。
- 本应用不通过
VpnService收集个人或敏感数据; - 本应用不为任何变现目的重定向或操纵其它应用的流量;
- 本应用不在未经用户明确操作的情况下启动隧道(首次连接由用户点击触发, 并由系统弹出 VPN 授权对话框确认)。
依据 Google Play 的 VpnService 政策,本应用属于「核心 VPN 功能」类别。
八、儿童
本应用不面向儿童,也不收集任何年龄相关信息。由于不收集任何个人数据, 不存在针对儿童的专项数据处理。
九、数据删除
- 分流记录与失败记录:设置页「清空」,或关闭应用即消失。
- 自动纠正规则:设置页可逐条撤销或全部清除。
- 全部本地数据(含配置、凭据、设置):在系统设置中清除应用数据, 或卸载应用。
由于我们不持有你的任何数据,无需也无法向我们提出数据删除请求。
十、开源与可验证性
本应用是开源软件(GPL-3.0-or-later)。上述所有声明都可以在 源码仓库 中核对—— 例如「不集成任何分析 SDK」体现为依赖清单里确实没有这类包。
我们欢迎对这份隐私政策与实现是否一致的审查。若你发现任何不符, 请提 issue。
十一、政策变更
本政策的变更会随源码一起提交,因此每一次修改都有公开记录可查。 重大变更会在应用的更新说明中提示。
十二、联系方式
问题、疑虑或发现不符之处,请在 项目仓库 提 issue。 这是唯一且公开的联系渠道。
本文件同时作为 Google Play 与 App Store 所需的隐私政策页面。 若要通过 GitHub Pages 发布,启用 Pages 后指向本文件即可。