30行Python快速上手:Telegram-Trilateration API方法获取附近用户(Telethon完整教程)

📅 发布时间:2026/8/28 23:17:52
30行Python快速上手:Telegram-Trilateration API方法获取附近用户(Telethon完整教程) 30行Python快速上手Telegram-Trilateration API方法获取附近用户Telethon完整教程【免费下载链接】Telegram-TrilaterationProof of concept for abusing Telegrams People Near Me feature and tracking peoples location项目地址: https://gitcode.com/gh_mirrors/te/Telegram-TrilaterationTelegram-Trilateration是一个用 Python 验证 Telegram「People Near Me附近的人」功能隐私风险的开源项目。本文带你用不到 30 行 Python 代码基于Telethon库调用 Telegram 的API 方法无需模拟器、无需 GPS 伪造直接传入坐标即可获取附近的用户与群组并用三边测量法Trilateration推算出目标的大致位置。上图就是 Telegram 开启「附近的人」时的提示——你的资料将被附近用户看到。这个提示看起来人畜无害但项目作者发现只要开启该功能陌生人就能看到与你精确到米的距离。这就是整个项目的起点。为什么 API 方法是最优解 项目最初用「屏幕截图 OCR 识别」的方式抓取附近列表见 Scraping/ 目录又重又不稳定。后来作者发现Telegram 官方 API 本身就提供了contacts.GetLocatedRequest接口——直接传经纬度就能拿到附近用户和距离根本不需要伪造 GPS 或操作界面。整套核心逻辑被压缩进了 API/nearby.py 一个文件依赖只有两个见 API/requirements.txtTelethonPython 版 Telegram 客户端库numpy用于三边测量计算的数值库快速开始5 步装好 Telegram-Trilateration API1️⃣ 准备 API 密钥注册一个 Telegram 账号并在官方开发者页面申请api_id和api_hash。2️⃣ 克隆仓库或直接下载本项目git clone https://gitcode.com/gh_mirrors/te/Telegram-Trilateration3️⃣ 安装依赖推荐先建虚拟环境cd Telegram-Trilateration/API python -m venv venv python -m pip install -r requirements.txt4️⃣ 修改配置把config_default.json复制为config.json填入你的api_id、api_hash并在points数组里填入 3 个以上采样点的经纬度点与点之间建议间隔 5~6 公里。5️⃣ 运行python nearby.py⚠️首次运行程序会要求输入手机号、Telegram 密码和 2FA 验证码完成登录凭证会保存在trilat.session中之后自动记住。核心代码解析30 行搞定全部 打开API/nearby.py剔除打印和存储逻辑后真正干活的代码只有这么几行from telethon import TelegramClient, functions, types client TelegramClient(trilat, api_id, api_hash) async def find(lat, lon): # 传入坐标请求附近的用户和群组 data await client( functions.contacts.GetLocatedRequest( geo_pointtypes.InputGeoPoint(latlat, longlon) ) ) for p in data.updates[0].peers: print(p.peer, p.distance) # 返回目标ID 精确距离(米)整个流程分三步走步骤说明关键代码① 建客户端创建 Telethon 会话并登录TelegramClient(...)client.start()② 拉取附近对每个采样点发起 API 请求GetLocatedRequest③ 解算位置用多组「坐标距离」做三边测量utils/trilaterate.py对每个采样点脚本会把发现的用户user_id和群组channel_id分别记录并收集「我所在的坐标 → 目标的距离」组成一个个圆。三边测量3 个圆如何锁定一个人 Trilateration三边测量的原理非常直观你在位置 A 请求 API得知目标距你 2.3 km → 目标在以 A 为圆心、2.3 km 为半径的圆上换到 5~6 公里外的位置 B、C 再各测一次得到两个新圆三个圆的交点附近就是目标的实际位置。计算逻辑封装在 API/utils/trilaterate.py它把经纬度换算成三维笛卡尔坐标利用 numpy 求解三个球面的交点。实测中只要采样点分布合理交点就能把目标缩小到街道级别上图紫色圆点即实验朋友的真实位置圆圈几乎压在了他头上。结果可视化用 Webview 渲染定位地图 ️数据跑完后所有结果会保存为data/文件夹下的时间戳.json文件。这些文件可以直接加载进项目的Webview可视化工具见 Webview/index.html在浏览器中渲染出交互式地图蓝色/橙色标记代表用户与群组点击标记还能显示对应的三边测量圆圈。 除了个人用户群组同样会被按位置索引而且群内容无需加入即可预览——这一点项目文档里专门做了警示使用时请务必注意合法合规。避坑指南新手最容易踩的 3 个坑 ⚡频率限制Rate Limit同一个端点连续请求约3 次就会触发限流需要等待~15 分钟。采样点之间也要留足冷却时间config.json里的 points 不要贪多。至少 3 个采样点少于 3 组「坐标距离」无法解算位置Webview 中会显示为无法定位。兼容性问题作者在 Windows 7 上遇到 Telethon 客户端无法启动的问题Windows 10 则一切正常建议直接用较新的系统或虚拟环境运行。写在最后通过这个教程你应该已经掌握了用Telethon 30 行 Python完成「API 拉取附近用户 → 三边测量定位 → JSON 导出可视化」的完整链路。Telegram-Trilateration 最大的价值在于它证明了精确到米的距离数据本身就是隐私泄露——这也是作者反复呼吁平台把距离四舍五入到整公里的原因。免责声明本项目仅用于安全研究与隐私风险验证。未经授权追踪他人位置在多数地区属于违法行为请务必遵守当地法律法规切勿用于任何非法用途。相关模块路径速查API 方法入口脚本API/nearby.py配置文件模板API/config_default.json三边测量算法API/utils/trilaterate.py项目说明文档API/README.md、README.MD【免费下载链接】Telegram-TrilaterationProof of concept for abusing Telegrams People Near Me feature and tracking peoples location项目地址: https://gitcode.com/gh_mirrors/te/Telegram-Trilateration创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考