隐私政策 · 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.jsoncore.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 由系统沙箱强制,桌面端由文件权限与用户账户隔离)。 卸载应用会一并删除这些数据,删除后需要重新导入配置。


三、分流记录与失败记录

应用会在内存中保留最近若干条分流判定与连接失败记录,用于: 显示「最近分流」列表、统计分流比例、诊断「网站为什么打不开」。


四、应用会发起的网络连接

这是本节最重要的一段:应用确实会主动联网,但目标与内容都非常有限。 逐项列出,便于网络管理员或安全审计核对。

目标 何时 发送什么 为什么
127.0.0.1:2081(Clash API) 连接期间每秒 读取连接列表与流量计数 显示分流记录与实时速率。仅回环地址,不出设备
内核单线程,经你自己的隧道 连接期间 你的全部隧道流量 这就是 VPN 本身的工作方式
www.gstatic.com/generate_204(可配置) 连接期间每 15 秒 一次 HTTPS 请求 测量隧道延迟与连通性。这是「延迟 xx ms」的来源
223.5.5.5119.29.29.29(阿里/腾讯公共 DNS) 连接期间约每 45 秒 固定探测域名的 DNS A 查询 DNS 健康监测:判断国内解析器是否变慢或被劫持
cdn.jsdelivr.net 仅当你点击「检查更新」 下载规则库 .srs 文件 更新分流规则库。不点击则不会发生

补充说明:


五、自动纠正:本地运行的自动化判断

应用有一项「自动纠正」功能:当某个域名连续多次「判为直连却连接失败」时, 它会把这个域名加入一份本地列表,改为走隧道。判断依据是本机观测到的 连接失败日志与 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 功能: 在设备上建立一条加密隧道,并按用户配置的分流规则决定哪些流量走隧道、 哪些直连。

依据 Google Play 的 VpnService 政策,本应用属于「核心 VPN 功能」类别。


八、儿童

本应用不面向儿童,也不收集任何年龄相关信息。由于不收集任何个人数据, 不存在针对儿童的专项数据处理。


九、数据删除

由于我们不持有你的任何数据,无需也无法向我们提出数据删除请求。


十、开源与可验证性

本应用是开源软件(GPL-3.0-or-later)。上述所有声明都可以在 源码仓库 中核对—— 例如「不集成任何分析 SDK」体现为依赖清单里确实没有这类包。

我们欢迎对这份隐私政策与实现是否一致的审查。若你发现任何不符, 请提 issue。


十一、政策变更

本政策的变更会随源码一起提交,因此每一次修改都有公开记录可查。 重大变更会在应用的更新说明中提示。


十二、联系方式

问题、疑虑或发现不符之处,请在 项目仓库 提 issue。 这是唯一且公开的联系渠道。


本文件同时作为 Google Play 与 App Store 所需的隐私政策页面。 若要通过 GitHub Pages 发布,启用 Pages 后指向本文件即可。