您的位置:首页 > 健康 > 养生 > app开发定做_证书查询网免费查询_北京优化核酸检测_网络推广的工作好做吗

app开发定做_证书查询网免费查询_北京优化核酸检测_网络推广的工作好做吗

2025/4/6 5:25:51 来源:https://blog.csdn.net/lovelyelfpop/article/details/146909366  浏览:    关键词:app开发定做_证书查询网免费查询_北京优化核酸检测_网络推广的工作好做吗
app开发定做_证书查询网免费查询_北京优化核酸检测_网络推广的工作好做吗

成品使用教程

自制的定位标签有几个特点:

  • 无蜂鸣器
  • 隐匿性。苹果手机不会弹通知"发现正在跟随您移动的物品"

先决条件

  • Linux 服务器(任意Linux均可,比如nas、树莓派、云服务器,能运行docker即可)。
  • 已启用 2FA (双重认证)的 Apple ID
    强烈建议不要使用个人常用的 Apple ID,而是注册一个新的 Apple ID 用于实验目的。
    没有 Apple ID 的 可以找朋友借用一下苹果设备(iPad、Macbook、iPhone),注册一个。
    • 仅支持短信方式作为双重认证!
    • 如果有苹果设备登录着该 Apple ID,最好退出,否则有可能收不到短信验证码。
    • 您需要在苹果设备上登录过该帐户才可以(获得了 iCloud 的 5G 免费空间或登录过 Apple Music 才是有效的 Apple ID)。仅在 iCloud 网页上注册的 Apple ID 权限不足。
  • Linux 已安装 Docker。
  • 如果你有 Home Assistant 集成的需求(不知道是啥的就不用看这段了),还要满足以下条件
    • Home Assistant 安装有 mqtt 和 mqtt broker(比如 Mosquitto broker)。
    • Linux 已安装 Python3 和 pip3
    • 下载或克隆 本仓库 到 Linux 的 ~/macless-haystack/ (~ 代表 home 目录),并执行 pip3 install -r requirements.txt 命令用于安装依赖包。
    • 创建 keys/ 目录
      mkdir ~/macless-haystack/keys/
      
      然后把 XXXXXX.keys 文件放到此目录下

服务器设置

  1. 在终端中执行以下命令,创建一个新的docker网络
docker network create mh-network
  1. 安装 Anisette Server:
docker run -d --restart always --name anisette -p 6969:6969 --volume anisette-v3_data:/home/Alcoholic/.config/anisette-v3/ --network mh-network dadoum/anisette-v3-server

注意:首次执行该命令会自动从 docker 官方仓库拉取镜像,因国内网络环境的原因,需要设置镜像仓库。如下修改 docker 的配置文件/etc/docker/daemon.json(不存在就新建),增加 registry-mirrors

{"registry-mirrors": ["https://docker.hpcloud.cloud","https://docker.m.daocloud.io","https://docker.unsee.tech","https://docker.1panel.live","http://mirrors.ustc.edu.cn","https://docker.chenby.cn","http://mirror.azure.cn","https://dockerpull.org","https://dockerhub.icu","https://hub.rat.dev"]
}

之后运行如下命令重启 docker 服务:

systemctl restart docker
# 或者
service docker restart

此时,镜像源应该生效了。可以用 docker info 命令验证,如果输出末尾有如下Registry Mirrors,说明镜像源配置成功了:

Registry Mirrors:https://docker.hpcloud.cloud/https://docker.m.daocloud.io/https://docker.unsee.tech/......

如果配置未生效,拉取docker镜像还是出错,可能的原因:
1、Ubuntu 可能是因为你的docker是snap安装的,解决方法请移步 https://blog.csdn.net/lovelyelfpop/article/details/146802408
2、群晖 配置方法请移步 https://post.smzdm.com/p/ag82opxd/ 或 https://blog.csdn.net/Falleaves_Yu/article/details/120316411 或 https://wiki.slarker.me/basic/docker_mirrors.html

镜像源配置生效后,继续执行上面安装 Anisette Server 的命令。

要检测 Anisette 是否正常运行,可以浏览器打开 http://服务器ip:6969,如果能访问就说明正常;或者执行命令 curl http://服务器ip:6969,如果有输出{"X-Apple-I-Client-Time":"202......则正常。

如果你没有在安卓手机或网页端查看 Tag 标签定位的需求,就不用看下面的3、4步骤了。

  1. 启动 Macless Haystack 服务

运行下面命令启动 macless-haystack 服务:

docker run -it --restart unless-stopped --name macless-haystack-gitee -p 6176:6176 --volume mh_data:/app/endpoint/data --network mh-network lovelyelfpop/macless-haystack-gitee

启动服务时,系统会要求您输入 Apple ID、密码和两步验证短信验证码(注意如果 AppleID 是大陆手机号,前面要加上 +86)。
如果您看到命令行显示 serving at port 6176 over HTTP 则所有设置均正确。

要检测 Macless Haystack 服务是否正常运行,可以浏览器打开 http://服务器ip:6176,如果页面显示Nothing to see here就说明正常;或者执行命令 curl http://服务器ip:6176,如果有输出Nothing to see here则正常。

  1. 立即开启另一个终端,执行下面命令重新启动服务器
docker restart macless-haystack-gitee

前端应用程序

如果你没有在安卓手机或网页上查看 Tag 标签定位的需求,就不用看本节内容了。

您可以使用 Atomgit 提供的前端 web 网站,也可以自己托管网站服务器;也可以使用 Android app。
另外,请自己去高德开放平台申请 web 服务 key(key 类型一定要是 Web服务,申请是免费的),在 app/web 网站的设置中需要填入。不填也可以用,但是只会显示位置坐标,不会显示中文地址描述。

  • 安装/打开前端应用
    • 安卓设备请安装 apk
    • 非安卓的设备(iOS/鸿蒙/PC)可使用浏览器打开网站(任选其一)
      • Atomgit Page(http)
      • Atomgit Page(https)
        注意:
        1、因浏览器限制,https 的网站只能访问 https 的后台服务。所以如果你选择使用 Atomgit Page(https),那么必须将 macless_haystack 服务部署为 https(需要 SSL 证书)。可以使用 nginx 等工具进行反代,也可以使用服务内置支持的 SSL 使用方法
        2、访问 http 的地址,浏览器可能会自作主张转向 https 的地址,可以地址栏改成 http 再回车
    • 可选: 如果需要iOS、Linux 或 Windows 客户端,可以自己打包(本项目前端基于 Flutter)
  • 点击前端应用程序(app 或 网站)右上角齿轮图标进入设置,填写 高德web 服务 keymacless haystack 服务 url 地址。其它设置项默认或按需设置。
  • 回主界面,点"+“图标,选择"导入 json 文件”,将 XXXXXX_devices.json 文件导入前端应用程序内。
  • 注意:
    • 1、“高德web 服务 key” 如果不填,位置只会显示成经纬度,而不显示中文地址描述。
    • 2、“macless haystack 服务 url 地址” 形如 http://服务器ip:6176。若要在公网使用,需将 macless haystack 服务公开到公网,可以用 路由器端口映射 或 内网穿透 的方式实现。具体操作不属于本文范畴,请自行搜索。
    • 3、如果 app 获取位置报告时报错未获取到位置。AppleID登录失效,请移除 auth.json 并重启 macless-haystack 服务,请移步 FAQ#重新注册/更改账户

Home Assistant 集成

如果你没有 Home Assistant 集成的需求(或者不知道是啥的),就不用看本节内容了。

此处利用了 OwnTracks 这个官方集成。
本服务的 request_reports.py 脚本运行之后,会通过 HA 的 mqtt 向 OwnTracks 发布消息。OwnTracks 收到消息之后会自动生成 device_tracker。

  • Home Assistant 中添加集成 OwnTracks
    集成安装后,要在 /homeassistant/configuration.yaml 增加如下配置:
    # Example configuration.yaml entry
    owntracks:max_gps_accuracy: 200waypoints: truemqtt_topic: "owntracks/#"events_only: false
    
  • 编辑本仓库的 settings.toml 文件,填入你自己的 mqtt地址、用户名、密码 和 Tag 标签等信息(文件内有说明)
  • 执行 request_reports.py 脚本。会要求你输入 Apple-ID、密码和两步验证短信验证码。
python3 ./request_reports.py
# 或者 仅获取过去12小时位置报告
python3 ./request_reports.py --hours 12

去 Home Assistant “设备与服务-实体”(或 OwnTracks 集成)中,应该可以看到 tag 开头的 device_tracker 了。
在这里插入图片描述
可以在墨澜地图中查看
在这里插入图片描述

  • 最后,需要设置定时任务(比如Linux的cron),比如每隔15分钟(建议不要太频繁)执行一次上面的 python3 ./request_reports.py --hours 2,这样位置才会定时更新。
  • 注意
    • 1:如果获取不到位置报告,建议拿着定位标签去人多的地方逛逛。
    • 2:执行 request_reports.py 时如果报错 401,说明 keys/auth.json 登录失效,请删除该文件后重新执行,重新输入 AppleID 和密码即可
    • 3: 以定时任务执行时,如果 auth.json 失效,希望能第一时间知晓,可以配置 settings.toml 文件内的"通知功能"部分,支持钉钉、企业微信等通知方式

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com