sinret/whatsapp

Yii2扩展,用于WhatsApp插件

安装: 725

依赖: 2

建议者: 0

安全: 0

星标: 0

关注者: 3

Forks: 2,135

开放问题: 0

类型:yii2-extension

dev-master 2015-03-06 14:16 UTC

This package is not auto-updated.

Last update: 2024-09-18 08:57:39 UTC


README

WhatsApp消息应用接口

更新日期:2014年3月15日

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

备注:2013年7月30日

新政策

我不再为尝试使用此API发送大量消息的用户提供支持(即大量消息,而不是内置的大量消息功能)。 在WhatsApp上发送广告直接违反其EULA,我无法确定用户是否尝试发送垃圾邮件、广告或向“已同意的用户”发送大量消息。 我也不想浪费我那少得可怜的空闲时间,试图找到让这个美丽无广告平台WhatsApp变得糟糕的方法,那就是通过让用户发送垃圾邮件。 每个人都可以免费使用此API,但之后将不再有关于向随机用户发送消息后被封的问题报告。

以下引用自希斯·莱杰扮演小丑的经典台词(被我完全脱离了上下文)

这不是关于钱,这是关于传递信息。

- 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消息应用是一款跨平台移动通讯工具,可以替代短信,并通过设备现有的互联网数据套餐运行。WhatsApp支持iPhone、BlackBerry、Android、Windows Phone、Nokia Symbian60和S40手机。因为WhatsApp消息应用使用与您用于电子邮件和网页浏览相同的互联网数据套餐,所以发信息和与朋友保持联系不需要额外费用。”

2011年底数据:每天1亿条消息,约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](https://github.com/shirioko/WhatsAPI/wiki/WhatsApi-events)

常见问题解答

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

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

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

    我们没有。

  • 它能在网页上运行吗?

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

  • 我能接收聊天吗?

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

  • 我觉得代码很乱。

    它在工作。

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

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

注意

  • 这个概念验证可以扩展以包含所有功能,使客户端成为一个功能齐全的客户,类似于官方客户端,实际上可能更好。

  • 在分析服务机制的两周内,我们发现了一些严重的设计和安全漏洞(他们自2011年以来修复了一些)。对于这样一个拥有庞大用户群体的公司,我们期望更好的实践和工程。

许可证

MIT - 请参阅源代码中的额外行。

毒液

巴林开发者团队。

Ahmed Moh'd ([https://#/ahmed.mhd](https://#/ahmed.mhd))和Ali Hubail ([https://twitter.com/hubail](https://twitter.com/hubail))为这次发布做出了贡献。