Skip to content

Ssummer520/dingdong-grabber

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

叮咚抢菜(dingdong-grapper)

叮咚抢菜(dingdong-grapper)为了解决在微信叮咚小程序因疫情原因在上海抢菜难的问题,本人也是苦于实在抢不到菜,无奈只有发挥程序员的主观能动性开发抢菜软件,只是为了能吃上饭。

经过本人和身边朋友亲测,事先(最好在凌晨12点左右)将菜品放入购物车,在6:00前或者8:30前运行程序是可以抢到的。

4-24 抢菜更新

@cpuztt 通过签名后的程序抢到了菜,但是我本人失败了(:尴尬)。 详情: ahutsunshine#13

重大更新!重大更新!重大更新!

增加了签名算法,防止请求被风控返回抱歉人多拥挤,请稍后再试错误

签名问题

叮咚现在启用了签名认证,所有POST请求携带的请求参数都需要和签名narssesi对应,否则就会一直有抱歉人多拥挤,请稍后再试的错误,当务之急就是研究出叮咚的签名算法, 否则所有模拟叮咚请求的抢菜软件/插件都会失效。

签名非法返回的错误:

{
    "msg": "抱歉人多拥挤,请稍后再试",
    "code": -3000,
    "timestamp": "2022-04-22 22:31:02",
    "success": false,
    "exec_time": null
}

问题issue或者需求

大家如果遇到问题或者有更合适的需求的话,可直接在Github的Issues提问或者给出建议,我每隔1h左右会看一眼,可以一起商量讨论,我会尽量解决和满足合理的需求。

4-21 抢菜更新

居然在凌晨12点多预抢到了,叮咚不是只在6:00和8:30开始预约吗? 这挺奇怪的,不过好在有捡漏模式监测到了。正在提供捡漏模式监控捡漏,后续更新捡漏模式代码,可以实时监测。

4-20 抢菜更新

事实证明确实可以帮助身边的朋友抢到菜,挺开心的

运行策略

本程序暂时只提供两种策略。

  1. 人工策略: 程序运行即开始抢菜,此策略下程序默认出于保护只会跑2分钟,如果没有商品库存,则会立即停止
  2. 定时策略: 定时抢菜,事先订好时间,叮咚默认是早上5:59:50和8:29:50开始抢菜,这种策略要避免启动过早导致用户登录信息过期。

使用教程

程序基于用户提供的用户数据运行,并不是直接根据手机号登录即可抢菜(这个需要开发小程序配合,后续会继续开发,这样用户只需要输入手机号和验证码即可开始抢菜了), 所以第一步用户提供的数据获取至关重要,也是最难的一步。

1. 获取用户参数

2. 填写用户参数

  • 请求头部的Cookie:填入main.go cookie参数中

3. 运行

IDE直接运行

可以使用Goland 或者VS Code 等IDE运行。填写完用户参数后,直接运行main.go, 默认在5:59:50和08:29:50开始抢菜,长时间运行一定要注意用户登录信息过期

  • 如果没有安装Golang环境,请根据教程/安装Go环境安装
  • 定时策略: 默认即为定时策略
  • 人工策略: 运行此策略需要在main.go修改strategy字段值0,此策略下程序默认出于保护只会跑2分钟,如果没有商品库存,则会立即停止。

Docker运行

Docker运行隔离了对Go等其他环境的依赖,可以直接运行

  • 后续将更新上传docker image

注意!注意!注意!

  1. 一定要设置买菜地址为默认地址,否则程序无法正常工作

About

叮咚多策略抢菜,亲测有效

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 58.1%
  • JavaScript 39.6%
  • Makefile 2.3%