nginx 直出
官网六个页面与 /v1/ 接口都是磁盘上的静态文件,no-store 保证后台一改、手机与网页同时见效。
一开始只是想解决一个很小的问题:在手头的设备上查自己的题库,不想在应用之间来回切,也不想让那一层内容出现在抓图里。做着做着就变成了这个项目。
隐身这件事有三种常见做法,前两种都被排除了。FLAG_SECURE 会让抓出来的画面是一块黑,MIUI 还会弹「不允许截屏」;把透明度设成 0 是连你自己也看不见。剩下的路只有让系统合成快照时主动跳过这一层——那是厂商私有的图层属性,不公开、不保证存在。
第二条取舍是不碰系统。不 root、不装 Xposed / LSPosed、不改框架,解锁隐藏接口只在 App 进程内完成。代价是能力完全取决于厂商肯不肯留这个属性,所以非小米机型只能降级处理。
第三条是把数据留在本机。检索是字符串匹配,不需要服务器;服务器只负责发公告和发题库,删掉它 App 照样能用。
把「用到网络的地方」一条条列出来。
导入的题库与纠错结果写在应用私有目录,卸载即清除——这也是升级要先卸载、需要自己导出 CSV 的原因。不读你手机上的其他文件。
/v1/notice.json、/v1/banks.json、你点下载的那份 CSV。请求里不含本地题库、不含搜索词。服务端 nginx 会按常规记录访问日志(时间、路径、来源 IP)。
需要你在设置里自己填接口地址与 Key。启用后题目文本会发往那个接口,数据去向与留存由它决定,与本站无关。
无广告 SDK、无埋点、无第三方统计脚本,官网也一样——整站零外链资源,字体与图标全部用系统和本地文件。
不注册、不登录、不绑定手机号。
官网和 App 用的接口在同一台机器上,共用一份 nginx 配置。
官网六个页面与 /v1/ 接口都是磁盘上的静态文件,no-store 保证后台一改、手机与网页同时见效。
发布题库与公告走一个只监听本机的零依赖 Python 服务,由 systemd 托管,公网只暴露反代出来的两个路径。数据真源只有一份,改完重新编译成对外文件。
域名 xunmo.online 已通过 ICP 备案,证书由 Let’s Encrypt 自动续期,与 App 的 /v1/ 接口共用同一台国内 ECS。
题目修订、机型反馈、想上架云端题库,都可以找过来。
把题号或截图发过来,云端题库修订后重新发布,你在 App 里重新下载即可。
附上设置页里的兼容性报告与机型系统版本,可以判断它走了哪条分支。
这一栏在正式上线前填上实际联系方式。站点的联系区块是独立文件段落,改起来只动一处。
目前请通过分发安装包给你的渠道反馈。