功能概述
line-client 是一个基于 LINE Chrome 扩展网关的非官方 Python SDK,通过 line-chrome-gw.line-apps.com 提供完整的 LINE 消息客户端能力。该方案绕过了官方 LINE API 的开发者认证门槛,利用浏览器扩展的通信通道实现 JSON API 访问。
核心能力
消息与社交
- 完整消息生命周期:发送、撤回、回复、已读回执、表情回应(6种类型)
- 多格式支持:文本消息、Postback 交互、聊天归档
- 群组管理:创建/加入/退出群聊、成员邀请与移除、设置修改
联系人体系
- 好友搜索:通过 LINE ID、手机号、MID 查找
- 批量操作:获取全部联系人、屏蔽/解除屏蔽、收藏管理
- 官方账号:获取机器人/服务号详情
实时事件
- 长轮询机制:
poll()生成器持续 yield 新事件 - 线程化监听:
on_message()自动后台轮询并回调处理 - 操作类型覆盖:发送消息(26)、接收消息(27)等
技术实现
认证机制
采用 QR 码 + PIN 码的双因素流程,通过 Curve25519 密钥交换建立会话,HMAC 签名所有请求。令牌有效期约 7 天,需定期重新授权。
安全签名
- WASM 模块 (
lstm.wasm) 执行专有密钥派生 - Node.js 签名服务(端口 18944)提供 ~13ms 的低延迟签名
- 降级方案:子进程模式(~2s/签名)
显著优势
1. 功能完整:覆盖官方 Messaging API 未开放的群聊管理、消息撤回、表情回应等能力
2. 无官方认证:无需 LINE Business ID 或频道创建
3. Python 原生:同步/异步友好,适合集成到现有工作流
4. 实时性:支持长连接事件推送,非纯轮询
局限与风险
稳定性风险
- 依赖未公开的 Chrome 扩展网关接口,LINE 可随时变更或封锁
- WASM 签名模块为闭源二进制,存在不可审计性
- 令牌 7 天过期,生产环境需设计自动重认证流程
安全与合规
- 用户数据通过第三方中继(
line-chrome-gw.line-apps.com),虽使用官方域名但非官方 SDK 路径 - HMAC 密钥派生逻辑不透明,存在潜在密钥泄露风险
- PIN 码 60 秒超时要求极高实时性,自动化场景易失败
功能边界
- 不支持官方 Bot 的 rich menu、flex message 等高级消息格式
- 文件/图片上传未在文档中明确支持
- 无多设备同步状态的官方保证
适用场景
- 个人自动化:消息备份、关键词通知、自动回复
- 小规模客服:非企业账号的轻量级客服系统
- 群聊管理:自动欢迎、成员统计、消息归档
- 数据同步:跨平台消息桥接(需配合其他协议)
风险提示
⚠️ 账号安全:使用非官方登录流程可能导致账号风控或封禁
⚠️ 隐私合规:自动化处理他人消息涉及数据保护法规(GDPR/CCPA 等)
⚠️ 依赖风险:WASM 模块与签名服务为黑盒组件,建议隔离运行环境
该技能适合技术用户探索 LINE 自动化,但生产部署需评估账号安全与长期维护成本。