ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

weathr 会泄露位置吗?外部 API 调用全景剖析与完全关闭自动定位指南

weathr 会泄露位置吗?外部 API 调用全景剖析与完全关闭自动定位指南 weathr 会泄露位置吗外部 API 调用全景剖析与完全关闭自动定位指南【免费下载链接】weathra terminal weather app with ascii animation项目地址: https://gitcode.com/gh_mirrors/wea/weathrweathr是一款终端天气应用用 ASCII 动画呈现实时天气雨、雪、雷暴、日月同辉。新手最关心的问题它会不会偷偷获取并上传我的位置答案是位置信息只发往天气数据接口用于查天气可通过配置一键关闭自动定位。本文带你完整看懂 weathr 的全部外部 API 调用并给出彻底关闭自动定位的配置方法。一、先看结论weathr 到底调了哪些外部 API我们通读了源码核心位于 src/geolocation.rs 和 src/weather/provider/weathr 运行时会涉及以下 4 类外部请求外部服务用途触发条件是否可关闭ipinfo.io根据 IP 反查大致坐标仅当auto true或--auto-location✅ 可关闭nominatim.openstreetmap.org坐标反查城市名HUD 显示用显示模式为city/mixed且未手动指定城市✅ 可关闭api.open-meteo.com获取当前天气数据正常查看天气核心功能核心功能替代为模拟模式aa.usno.navy.mil补充天文数据月相、日落使用 Met Office 数据源时随数据源切换关键源码依据IP 定位请求硬编码在 src/geolocation.rs#L6https://ipinfo.io/json只返回loc坐标和city城市两个字段没有用户身份、没有设备指纹反向地理编码在 src/geolocation.rs#L7https://nominatim.openstreetmap.org/reverse天气数据请求在 src/weather/provider/open_meteo.rs#L13天文补充数据在 src/weather/provider/supplementary/aad.rs#L20位置数据会泄露吗从隐私角度看有两点值得注意IP 定位是粗定位ipinfo.io基于 IP 反查精度通常是城市级且请求里不含任何个人信息——服务端只能看到你的 IP这和访问任何网站都一样。坐标本身会出现在天气请求的 URL 中Open-Meteo 的请求形如?latitudexxlongitudexx见 src/weather/provider/open_meteo.rs#L101-L111。也就是说即使你手动配置了坐标天气接口也能看到你所在位置的经纬度。这是获取精确天气数据所必需的但如果你介意可以把坐标改成你想展示的城市而非真实位置。另外所有定位结果都会写入本地缓存src/cache.rs位置缓存有效期 1 天86400 秒、天气缓存仅 5 分钟缓存文件只存在本机不会上传。二、完全关闭自动定位三步配置指南weathr 的配置文件路径因平台而异Linux~/.config/weathr/config.tomlmacOS~/Library/Application Support/weathr/config.tomlWindows~/AppData/Roaming/weathr/config.toml第 1 步关闭 auto 开关在配置文件中找到[location]段把auto设为false相关逻辑见 src/config.rs。这样程序就不会再请求ipinfo.io[location] auto false # 关键关闭 IP 自动定位 latitude 52.5200 # 手动指定经纬度 longitude 13.4050 注意若配置文件不存在weathr 会回退到默认配置且默认开启自动定位见 src/main.rs#L104-L109 的提示逻辑所以务必手动创建配置文件。第 2 步跳过城市名反查nominatim.openstreetmap.org只在需要显示城市名时调用src/main.rs#L154-L166。两种办法可完全避开手动写city Berlin注释示例见 README.md设置后会完全跳过反向地理编码或把显示模式改为纯坐标不展示城市名[location] display coordinates # 只显示坐标不请求城市名第 3 步可选隐藏界面上的位置显示如果只是想界面不出现位置而非断网可以用命令行参数weathr --hide-location # 隐藏位置坐标显示对应实现见 src/main.rs#L84-L86。验证是否彻底关闭关闭后再次运行时观察终端输出正常情况下会打印Auto-detecting location...src/main.rs#L123这条提示不再出现即说明 IP 定位请求已停止。你也可以在防火墙或代理日志里确认不再访问ipinfo.io。三、零网络替代方案模拟天气模式如果追求完全零外部请求weathr 内置了--simulate模拟模式直接用内置数据驱动 ASCII 动画不请求任何天气 APIweathr --simulate rain --night # 模拟夜间下雨 weathr --simulate thunderstorm # 模拟雷暴支持的天气类型完整列表见 README.md#L282-L287。此时唯一可能触发的网络请求只剩城市名反查——按第二节第 2 步配置即可全部消除实现真正的离线运行。四、FAQ新手常见疑问Q--auto-location参数会覆盖配置吗会。CLI 参数优先级高于配置文件src/main.rs#L81-L83所以关闭自动定位时不要再传--auto-location。QMet Office 数据源会不会多出请求会。英国 Met Office 接口src/weather/provider/met_office.rs不含天文数据weathr 会额外调用aa.usno.navy.mil补充月相和日落时间详见 PROVIDERS.md。Q缓存会不会残留位置信息缓存位于系统缓存目录的weathr子目录src/cache.rs#L24-L26含location.json、geocode.json、weather.json均在 1 天或 5 分钟内过期删除该目录即可彻底清除。总结weathr 的外部调用透明、可审计、可关闭自动定位只是可选功能auto false 手动坐标 display coordinates三行配置即可将 IP 定位请求降为零配合--simulate甚至能完全离线使用。对于关心隐私的新手这套终端天气应用既好看也放心。️【免费下载链接】weathra terminal weather app with ascii animation项目地址: https://gitcode.com/gh_mirrors/wea/weathr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表