taniele/whatsapi

WhatsApp 消息服务器的 PHP 接口

dev-master 2014-12-22 11:54 UTC

This package is not auto-updated.

Last update: 2024-09-10 03:04:55 UTC


README

WhatsApp 消息服务器接口

在打开新问题之前请阅读 wiki 和以前的问题!也许你的问题已经被解答。

WhatsApp 收到更新日志

特别感谢

我想感谢所有让这个项目不断前进的人。首先我要感谢 @shirioko(别名 hero),当我加入项目时,我对什么都不懂,是他介绍我进入了项目。他长期以来一直负责 API,他一直是个英雄!现在轮到我了,我希望我能做得尽可能好,让这个 API 更好。

我还想感谢所有与我合作并做出如此出色工作的用户

Paypal

比特币: 15NejBDahfe1eLAPSJh4iMfYLHYuKDrwJ2

2014年10月7日更新

这将成为 WhatsAPI 的官方仓库。我们不支持垃圾邮件,也不会回答诸如“拦截”或“发送大量消息”的问题。

最新更新

  • 自动令牌更新器:它使用私有服务器生成令牌。当执行 API 时,它将始终检查最新令牌、用户代理和版本。
  • 身份生成已更改:现在使用 random_pseudo_bytes,在 WhatsApp 对象中,你设置的 identity 值是身份将要保存的文件名。我建议将你的手机号码作为 identity 设置。

2014年3月15日更新

由于 DCMA 下架 导致短暂的停机后,源代码已恢复。

2013年7月30日备注

新政策

我不再为试图使用此 API 发送大量消息的用户提供支持(即大量消息,而不是内置的大规模消息功能)。 在 WhatsApp 上发送广告直接违反他们的 EULA,我无法确定用户是否试图发送垃圾邮件、广告或向“自愿用户”发送大量消息。 我也不想浪费我那一点点的空闲时间,试图找出方法来破坏这个名为 WhatsApp 的美丽无广告平台,通过允许人们发送垃圾邮件。 每个人都可以使用此 API,但将不再有关于向半随机用户发送消息后被拦截的问题报告。

以下是我从 Heath Ledger 饰演小丑(完全脱离上下文)的名言

这不是关于钱,这是关于发送消息。

- shirioko

2013年7月14日备注

事件重命名

  • 在事件处理系统中,许多事件已被重命名,以更好地匹配最近的方法名称。
  • 所有事件名称和参数均已列在 EVENTS.md 文件中

2013年7月10日备注

代码的重大重写

  • 大多数方法重命名!旧遗产代码将损坏,我们很抱歉,但这是为了提供一个更清晰的接口。请检查新代码。
  • 方法重命名以使 API 感觉更一致 - 所有方法现在都是 camelCase,请注意拼写错误!
  • 开始将代码与PSR-2(《http://www.php-fig.org/psr/2/》)对齐
  • 此代码中绝对不需要/输入MAC地址或IMEI。不要尝试!
  • 使用了新的Android令牌,因为WP7令牌似乎不再有效。WP7令牌永垂不朽?

2013年6月18日备注

代码进行了大规模重写。感谢以下人员

- shirioko

什么是WhatsApp?

根据公司

“WhatsApp Messenger是一款跨平台手机即时通讯工具,可以取代短信,并通过设备现有的互联网数据计划进行工作。WhatsApp适用于iPhone、BlackBerry、Android、Windows Phone、Nokia Symbian60 & S40手机。因为WhatsApp Messenger使用的是您用于电子邮件和网页浏览的相同互联网数据计划,所以发送消息和与朋友保持联系不会产生费用。”

2011年底的数据:每天发送10亿条消息,约2000万用户。

修改后的XMPP

WhatsApp使用某种自定义XMPP服务器,内部称为FunXMPP,基本上是一个扩展的专有版本。

登录过程

与XMPP类似,WhatsApp使用JID(jabber id)和密码成功登录服务。密码由服务器生成,并在注册时接收。

JID是您的国家代码和手机号码的组合。

初始登录使用摘要访问认证。

消息发送

消息基本上以TCP数据包的形式发送,遵循WhatsApp自己的格式(与XMPP RFCs中定义的不同)。

消息使用RC4密钥流进行应用程序级加密

多媒体消息发送

与WhatsApp联系人共享的照片、视频和音频文件在发送给收件人之前,会通过HTTP上传到服务器,同时附带媒体文件的Base64缩略图(如果适用)以及生成的HTTP链接作为消息正文。

事件系统

WhatsApi使用事件管理器(由facine创建),允许您响应某些事件。

事件列表和绑定事件处理器的示例代码:https://github.com/shirioko/WhatsAPI/wiki/WhatsApi-events

常见问题解答

  • 代码中到处都是十六进制字符是什么意思?

    主要是WhatsApp的专有控制字符/命令,或根据其服务器规格进行格式化的数据,存储在客户端预定义的字典中。

  • 您的未来开发计划是什么?

    我们没有任何计划。

  • 它能在网络上运行吗?

    我们在Tornado Web Server上测试了一个稍微修改过的版本,效果非常好,但是构建聊天客户端有点棘手,请进行研究。

  • 我能接收聊天吗?

    当然,使用相同的套接字接收机制。但是您必须解析传入的数据。解析函数不包括在本版本中,也许在下一个版本中?

  • 我认为代码很乱。

    它正在工作。

  • 我怎样才能获得我的密码?

    使用WhatsAPI注册一个数字或使用MissVenom拦截您的手机密码

注意事项

  • 这个概念验证程序可以扩展,包含所有使客户端完善的功能,类似于官方客户端,实际上甚至可能更好。

  • 在分析服务机制的两周时间里,我们发现了一些严重的设计和安全隐患(他们从2011年起修复了一些)。对于一个拥有如此庞大用户群体的公司,我们期望看到更好的实践和工程。

许可证

MIT - 请参考源代码以获取额外的一行。

有毒

巴林开发者团队。

Ahmed Moh'd (fb.com/ahmed.mhd) 和 Ali Hubail (@hubail) 对这个版本做出了贡献。