京东自动签到实现教程

前段时间在某论坛上看到关于京东签到脚本的实现方式,于是就进行了记录部署过程

任何脚本都是有风险的,实践之前请注意,京东 cokies 代表的即是你本人,不要轻易将你的 cokies 交给其他人,下面示例中使用的是 Githubzero205搬运的代码,内置了该搬运工的助力码,也就是使用改代码必会帮他助力(不过人家不能用爱发电 hhh,更新速度也很快)

该教程仅供学习使用,请于 24 小时内删除该代码!

有两种部署方式,如果你有自己的服务器建议使用第二种部署方式,第一种部署方式可能会产生部分费用但是相对第二种部署方式较为简单

部署方式 1:利用腾讯云或阿里云函数实现

如果你没有服务器,并且也不想折腾的很麻烦,建议使用此方式进行部署

首先我们先来了解什么是:Github Action

Github Action

Github Action

Github Actions 是由 Github 创建的 CI/CD 服务。 它的目的是使所有软件开发工作流程的自动化变得容易。 直接从 GitHub 构建,测试和部署代码。CI(持续集成)由很多操作组成,比如代码合并、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions。

很多操作在不同项目里面是类似的,完全可以共享。GitHub 允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用。

如果你需要某个 action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。这就是 GitHub Actions 最特别的地方。

GitHub 做了一个GitHub Marketplace ,可以搜索到他人提交的 actions。另外,还有一个Awesome Actions的仓库,也可以找到不少 action。

基础概念

GitHub Actions 有一些自己的术语。

  • workflow (工作流程):持续集成一次运行的过程。
  • job (任务):一个 workflow 由一个或多个 job 构成,含义是一次持续集成的运行,可以完成多个任务。
  • step(步骤):每个 job 由多个 step 构成,一步步完成。
  • action (动作):每个 step 可以依次执行一个或多个命令(action)。

虚拟环境

GitHub Ac­tions 为每个任务 (job) 都提供了一个虚拟机来执行,每台虚拟机都有相同的硬件资源:

  • 2-core CPU, 7 GB RAM 内存, 14 GB SSD 硬盘空间
  • 硬盘总容量为 90G 左右,可用空间为 30G 左右,评测详见:《GitHub Actions 虚拟服务器环境简单评测》

使用限制:

  • 每个仓库只能同时支持 20 个 workflow 并行。
  • 每小时可以调用 1000 次 GitHub API 。
  • 每个 job 最多可以执行 6 个小时。
  • 免费版的用户最大支持 20 个 job 并发执行,macOS 最大只支持 5 个。
  • 私有仓库每月累计使用时间为 2000 分钟,超过后$ 0.008/分钟,公共仓库则无限制。
  • 操作系统方面可选择 Win­dows server、Linux、ma­cOS,并预装了大量软件包和工具。

TIPS: 虽然名称叫持续集成,但当所有任务终止和完成时,虚拟环境内的数据会随之清空,并不会持续。即每个新任务都是一个全>新的虚拟环境。

workflow 文件

GitHub Ac­tions 的配置文件叫做 work­flow 文件,存放在代码仓库的.github/workflows 目录中。

work­flow 文件采用 YAML 格式,文件名可以任意取,但是后缀名统一为.yml,比如 build.yml。一个库可以有多个 work­flow 文件,GitHub 只要发现.github/workflows 目录里面有.yml 文件,就会按照文件中所指定的触发条件在符合条件时自动运行该文件中的工作流程。

在 Ac­tions 页面可以看到很多种语言的 work­flow 文件的模版,可以用于简单的构建与测试。下面是一个简单的 work­flow 文件示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
name: Hello World
on: push
jobs:
my_first_job:
name: My first job
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@master
- name: Run a single-line script
run: echo "Hello World!"
my_second_job:
name: My second job
runs-on: macos-latest
steps:
- name: Run a multi-line script
env:
MY_VAR: Hello World!
MY_NAME: P3TERX
run: |
echo $MY_VAR
echo My name is $MY_NAME

workflow 语法

(1) name

name 字段是 work­flow 的名称。若忽略此字段,则默认会设置为 work­flow 文件名。

1
name: GitHub Actions Demo

(2) on

on 字段指定 work­flow 的触发条件,通常是某些事件,比如示例中的触发事件是 push,即在代码 push 到仓库后被触发。on 字段也可以是事件的数组,多种事件触发,比如在 push 或 pull_request 时触发:

1
on: [push, pull_request]
  • push 指定分支触发
1
2
3
4
on:
push:
branches:
- master
  • push tag 时触发
1
2
3
4
on:
push:
tags:
- 'v*'

完整的事件列表,请查看官方文档。除了代码库事件,GitHub Actions 也支持外部事件触发,或者定时运行。

(3) jobs

jobs 表示要执行的一项或多项任务。每一项任务必须关联一个 ID (jobid),比如示例中的 my_first_job 和 my_second_job。job_id 里面的 name 字段是任务的名称。job_id 不能有空格,只能使用数字、英文字母和 - 或符号,而 name 可以随意,若忽略 name 字段,则默认会设置为 job_id。

当有多个任务时,可以指定任务的依赖关系,即运行顺序,否则是同时运行。

1
2
3
4
5
6
jobs:
job1:
job2:
needs: job1
job3:
needs: [job1, job2]

上面代码中,job1 必须先于 job2 完成,而 job3 等待 job1 和 job2 的完成才能运行。因此,这个 work­flow 的运行顺序依次为:job1、job2、job3。

(4) runs-on

1
runs-on: ubuntu-18.04

runs-on 字段指定任务运行所需要的虚拟服务器环境,是必填字段,目前可用的虚拟机如下:

(5)steps

steps 字段指定每个任务的运行步骤,可以包含一个或多个步骤。步骤开头使用 - 符号。每个步骤可以指定以下字段:

  • name:步骤名称。
  • uses:该步骤引用的 action 或 Docker 镜像。
  • run:该步骤运行的 bash 命令。
  • env:该步骤所需的环境变量。 其中 uses 和 run 是必填字段,每个步骤只能有其一。同样名称也是可以忽略的。

action

action 是 GitHub Ac­tions 中的重要组成部分,这点从名称中就可以看出,actions 是 action 的复数形式。它是已经编写好的步骤脚本,存放在 GitHub 仓库中。

对于初学者来说可以直接引用其它开发者已经写好的 action,可以在官方 action 仓库或者 GitHub Marketplace 去获取。此外 Awesome Actions 这个项目收集了很多非常不错的 action。 既然 action 是代码仓库,当然就有版本的概念。引用某个具体版本的 action:

1
2
3
4
steps:
- uses: actions/setup-node@74bc508 # 指定一个 commit
- uses: actions/setup-node@v1.2 # 指定一个 tag
- uses: actions/setup-node@master # 指定一个分支

了解了 什么是 Github action 之后,我们就可以开始进行操作了。

第一步我们需要先拉取仓库

拉取仓库并将scf分支作为主分支步骤

进入https://github.com/

  1. 注册账号后右上角导入仓库,如图 ( 有能力的自己新建仓库 然后拉取代码后手动执行一次工作流 )

  2. 点击Import a repository.

  3. 在 Your old repository’s clone URL 输入下面链接

    1
    https://github.com/zero205/JD_tencent_scf

    Repository name 仓库名字随便起名,将仓库改为私有,然后点击 Begin import,完成导入

  1. 将分支切换为 main 分支后,在下拉菜单中点击最下方’view all branches’,点击’Default branch’最右侧箭头,然后在新页面继续点击箭头,再弹出框中选择’scf’为主分支


    5. 点击 Updata 后,确定更改 scf 为主分支
    6. 然后回到代码仓库中,在仓库页面点击’main’分支,在下拉菜单中点击最下方’view all branches’,点击’maim’分支右侧垃圾桶,确认删除分支
    7. 点击刚才页面’scf’分支右侧笔图标,将其重命名为’main’

第二步同步zero205仓库的代码

通过 reposync 方式进行代码同步

同步zero205仓库的代码
  1. PAT(Personal Access Token)模式
    即用私人访问命令的形式来判断该账户是否有权限接触仓库。通过 github 配置有一定限制性的密钥,并将其发放给其他开发人员,以共同完成代码仓库的开发和管理。

    注意 PAT 的隐私性,PAT 只会在生成时显示一次!保证你的 PAT 权限只勾选了你所需要的权限,永远不要将所有权限都开放给未知的人和事物,永远不要泄露你的 PAT!

  2. 申请 PAT
    点此来生成一个 token ,把 repoworkflow 两部分勾上,然后点击最下面的创建按钮。

  3. 填写 PAT 到 Secrets申请完毕后,在分支中点击Settings-Secrets-New secret

    namePATValue填入上方申请到的 PAT,保存即可

  4. 手动触发一次代码同步点击Actions,执行Run Workflows

    等待两分钟左右,能够发现代码全部同步过来

在部署之前我们需要为 Github Action 配置一些 secrets 变量

配置步骤

依次登录 SCF 云函数控制台SLS 控制台 开通相关服务,确保账户下已开通服务并创建相应服务角色 SCF_QcsRole、SLS_QcsRole

注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要实名认证

新建腾讯云密钥(用于身份识别)

在这里新建一个访问密钥 新建密钥

新建完成后你可以得到你的SecretIdSecretKey

将 SecretId 和 SecretKey 分别配置在仓库的 secrets 变量里面

TENCENT_SECRET_ID 对应你的 SecretId 的值

TENCENT_SECRET_KEY 对应你的 SecretKey 的值

在 github 中配置 secrets 变量

secrets 变量位置 : Settings左边栏的Secrets右上角New repository secretName填变量名称,Value填变量值

配置完腾讯云的两个参数之后还需要配置京东的 cookie

这里有两种获取方式,自己选一种合适方便的获取京东 的 cookie 就好了

方法一

浏览器获取京东 cookie

以下浏览器都行

  • Chrome 浏览器
  • 新版 Edge 浏览器
  • 国产 360,QQ 浏览器切换到极速模式

操作步骤

  1. 电脑浏览器打开京东网址 https://m.jd.com/

  2. 按键盘 F12 键打开开发者工具,然后点下图中的图标

  3. 此时是未登录状态(使用手机短信验证码登录),如已登录请忽略此步骤

    • 使用手机短信验证码登录(此方式 cookie 有效时长大概 31 天,其他登录方式比较短)
  4. 登录后,选择 Network,有很多链接的话点箭头这里清空下

  5. 然后再点我的,链接就变少了

  6. 点第一个链接(log.gif)进去,找到 cookie,复制出来,新建一个 TXT 文本临时保存一下,下面需要用到

  7. 第六步复制出来的 cookie 比较长,我们只需要pt_pin=xxxx;pt_key=xxxx;部分的内容即可(注:英文引号;是必要的)。可以用下面的脚本,在 Chrome 浏览器按 F12,console 里面输入下面脚本按 enter 回车键

    1
    2
    3
    var CV = "单引号里面放第六步拿到的cookie";
    var CookieValue = CV.match(/pt_pin=.+?;/) + CV.match(/pt_key=.+?;/);
    copy(CookieValue);
  8. 这样子整理出关键的的 cookie 已经在你的剪贴板上, 可直接粘贴

  9. 如果需获取第二个京东账号的 cookie,不要在刚才的浏览器上面退出登录账号一(否则刚才获取的 cookie 会失效),需另外换一个浏览器(Chrome 浏览器 ctr+shift+n 打开无痕模式也行),然后继续按上面步骤操作即可

方法二

插件获取京东 cookie

此教程内容由 tg 用户@wukongdada 提供,特此感谢

以下浏览器都行

  • Chrome 浏览器
  • 新版 Edge 浏览器(chrome 内核)

操作步骤

  1. 电脑浏览器打开京东网址 https://m.jd.com/
  2. Chrome 类浏览器安装 EditThisCookie 插件
    • Chrome 插件商店搜 EditThisCookie, 或者打开此网站 进行安装
    • 仅使用百分浏览器,谷歌浏览器测试过,其他谷歌类浏览器请自行测试。
    • 无法登录 Chrome 插件商店或者打不开网址建议使用 edge chrome 版。
  3. edge chrome 浏览器安装 Cookie Editor 插件 - edge 插件商店搜 Cookie Editor,或打开以下网址 完成插件安装
  4. 输入的网址是 jd.com
  5. 现在点击回到京东触屏版,再点击 EditThisCookie/Cookie Editor,再点击搜索,输入 key 或 pin,如下图所示的 pt_key,复制 pt_key 的 value 值。此插件可以看到 cookie 的有效期。
  6. 按照以下格式形成自己的 jd_cookie
    • pt_key=复制插件搜索出来的key值;pt_pin=复制插件搜索出来的pin值; ,后面的英文引号;是必须要的
    • 给一个京东 cookie 具体示例 pt_key=jdDC2F833333EFDGTCE5BD4AD1A952D4F4DF84A46052;pt_pin=jd_123456;
  7. 如果需获取第二个京东账号的 cookie,不要在刚才的浏览器上面退出登录账号一(否则刚才获取的 cookie 会失效),需另外换一个浏览器(Chrome 浏览器 ctr+shift+n 打开无痕模式也行),然后继续按上面步骤操作即可

京东的环境变量名为JD_COOKIE,必填!在 secrets 里面加上我们刚刚获取到的 cookie

如果涉及一个变量配置多个值,如多个 cookie,互助码,多个取消订阅关键字,去掉里面的 空格换行 使用 & 连接

额外的 secrets 变量

除了腾讯云的参数和京东的 cookie 之外可能还需要配 secrets,这些变量都有默认值但是可能与你的预期有出入

配置secrets变量

secret 变量有三个选填变量 SCF_REGION,TENCENT_FUNCTION_NAME,TENCENTSCF_MEMORYSIZE.都有默认值,可不修改.

SCF_REGION用于控制部署区域的选择,默认值为ap-guangzhou,其他地区具体参数代码填写可以自行查找官方说明 地域和可用区

TENCENT_FUNCTION_NAME用于控制部署到云函数后函数名的命名,别瞎改,改名的话确保之前的已经删除 默认值为JD

TENCENTSCF_MEMORYSIZE值为运行内存大小的设定值,默认值为64,需求更大内存的可填入128,云函数有 128MB 就能满足了

请注意提高内存设定值相应地也会加快消耗云函数的免费额度,超出免费额度将会产生费用

执行 action workflow 进行部署

workflow 未报错即部署成功

部署并测试

下图 workflow 名字现在叫做 Deploy

查看和测试

登录后,在 腾讯云函数地址 点击管理控制台,查看最新部署的函数。

在左侧栏的日志查询中,可以查看到触发的日志,包括是否打卡成功等。

请点击右下角切换旧版编辑器!

自己参照图内填写测试脚本名称,不带后缀,测什么,填什么

如果出错了,排查问题第一步先看自己腾讯云函数那边的环境变量跟自己在仓库配置的 secrets 是否一致

部署方式 2:青龙面板

如果本教程看不懂或者操作出现问题,证明您的计算机专业知识并不支持本文章的搭建操作。

第一步 购买云服务器

个人推荐阿里云服务器 1 核 2G 即可 搞活动一年一百来块钱 系统选择 CentOs 8 (CentOs 8 自带 dnf 命令)等待配置完成。

百度搜索 Finalshell 下载安装好。在 finalshell 新建连接 选择 SSH 连接。成功连接上如图


接下来在命令窗口,一条一条输入指令,输入完一条指令后需要等待指令操作完成再输入另外一条指令
首先安装 docker

1
2
3
4
5
sudo yum check-update
curl -fsSL https://get.docker.com/ | sh
sudo systemctl start docker
sudo systemctl status docker
sudo systemctl enable docker

安装完成后配置青龙面板

1
2
3
4
5
6
7
8
9
10
11
docker run -dit \
--name QL \
--hostname QL \
--restart always \
-p 5700:5700 \
-v $PWD/QL/config:/ql/config \
-v $PWD/QL/log:/ql/log \
-v $PWD/QL/db:/ql/db \
-v $PWD/QL/scripts:/ql/scripts \
-v $PWD/QL/jbot:/ql/jbot \
whyour/qinglong:latest

等待一段时间后,在浏览器输入 ip:5700 即可登录青龙面板
用户名为 admin 密码是 adminadmin

重置密码

登录成功后,在/root/QL/config 中找到 auth.json

打开文件查看已重置的密码 登录即可。

Script 脚本列表

说明

  1. 其中 jd_bean_sign.js 可 N 个京东账号,Node.js 专用,核心脚本是 JD_DailyBonus.js, IOS 软件用户请使用 NobyDa 的 JD_DailyBonus.js
  2. 以字母排序。
Script 脚本列表
序号文件名称活动入口
1jd_bean_change.js京东资产变动通知
2jd_bean_home.js领京豆额外奖励京东 APP 首页-领京豆
3jd_bean_sign.js京东多合一签到各处的签到汇总
4jd_beauty.js美丽研究院京东 app 首页-美妆馆-底部中间按钮
5jd_blueCoin.js东东超市兑换奖品京东 APP 我的-更多工具-东东超市
6jd_bookshop.js口袋书店京东 app 首页-京东图书-右侧口袋书店
7jd_car.js京东汽车京东 APP 首页-京东汽车-屏幕右中部,车主福利
8jd_car_exchange.js京东汽车兑换京东 APP 首页-京东汽车-屏幕右中部,车主福利
9jd_cash.js签到领现金京东 APP 搜索领现金进入
10jd_cfd.js京喜财富岛京喜 APP-我的-京喜财富岛
11jd_club_lottery.js摇京豆京东 APP 首页-领京豆-摇京豆/京东 APP 首页-我的-京东会员-摇京豆
12jd_crazy_joy.jscrazyJoy 任务京东 APP 我的-更多工具-疯狂的 JOY
13jd_crazy_joy_bonus.js监控 crazyJoy 分红京东 APP 我的-更多工具-疯狂的 JOY
14jd_crazy_joy_coin.jscrazyJoy 挂机京东 APP 我的-更多工具-疯狂的 JOY
15jd_daily_egg.js天天提鹅京东金融-天天提鹅
16jd_delCoupon.js删除优惠券京东 APP 我的-优惠券
17jd_dreamFactory.js京喜工厂京东 APP-游戏与互动-查看更多-京喜工厂
18jd_dreamFactory2.js京喜工厂京东 APP-游戏与互动-查看更多-京喜工厂
19jd_family.js京东家庭号玩一玩-家庭号
20jd_fruit.js东东农场京东 APP 我的-更多工具-东东农场
21jd_get_share_code.js获取互助码
22jd_global.js环球挑战赛京东 app 搜索京东国际-环球挑战赛
23jd_global_mh.js京东国际盲盒京东 app 首页浮动窗口
24jd_jdfactory.js东东工厂京东 APP 首页-数码电器-东东工厂
25jd_jdzz.js京东赚赚京东赚赚小程序
26jd_joy.js宠汪汪京东 APP 我的-更多工具-宠汪汪
27jd_joy_feedPets.js宠汪汪 🐕 喂食京东 APP 我的-更多工具-宠汪汪
28jd_joy_help.js宠汪汪强制为别人助力京东 APP 我的-更多工具-宠汪汪
29jd_joy_reward.js宠汪汪积分兑换奖品京东 APP 我的-更多工具-宠汪汪
30jd_joy_run.js宠汪汪赛跑京东 APP 我的-更多工具-宠汪汪
31jd_jxd.js京小兑微信搜索小程序-京小兑
32jd_jxnc.js京喜农场京喜 APP 我的-京喜农场
33jd_kd.js京东快递签到活动地址
34jd_live.js京东直播京东 APP 首页-京东直播
35jd_live_redrain.js超级直播间红包雨
36jd_lotteryMachine.js京东抽奖机京东 APP 中各种抽奖活动的汇总
37jd_mohe.js5G 超级盲盒活动地址
38jd_moneyTree.js京东摇钱树京东 APP 我的-更多工具-摇钱树
39jd_ms.js京东秒秒币京东 app-京东秒杀-签到领红包
40jd_necklace.js点点券京东 APP-领券中心/券后 9.9-领点点券
41jd_nzmh.js女装盲盒抽京豆京东 app-女装馆-赢京豆
42jd_pet.js东东萌宠京东 APP 我的-更多工具-东东萌宠
43jd_pigPet.js金融养猪京东金融养猪猪
44jd_plantBean.js京东种豆得豆京东 APP 我的-更多工具-种豆得豆
45jd_price.js京东保价京东保价
46jd_rankingList.js京东排行榜京东 APP 首页-更多频道-排行榜-悬浮按钮
47jd_redPacket.js京东全民开红包京东 APP 首页-领券-锦鲤红包
48jd_sgmh.js闪购盲盒京东 APP 首页-闪购-闪购盲盒
49jd_shop.js进店领豆京东 APP 首页-领京豆-进店领豆
50jd_sign.js京东卡包签到
51jd_small_home.js东东小窝京东 APP 我的-游戏与更多-东东小窝
52jd_speed.js✈️ 天天加速京东 APP 我的-更多工具-天天加速
53jd_speed_sign.js京东极速版京东极速版 app-现金签到
54jd_superMarket.js东东超市京东 APP 首页-京东超市-底部东东超市
55jd_syj.js赚京豆赚京豆(微信小程序)-赚京豆-签到领京豆
56jd_unsubscribe.js取关京东店铺和商品
57jx_sign.js京喜签到

环境变量说明

环境变量说明

京东(必须)

Name归属属性说明
JD_COOKIE京东必须京东 cookie,多个账号的 cookie 使用&隔开。具体获取参考浏览器获取京东 cookie 教程 或者 插件获取京东 cookie 教程

京东隐私安全 环境变量

Name归属属性默认值说明
JD_DEBUG脚本打印 log非必须true运行脚本时,是否显示 log,默认显示。改成 false 表示不显示,注重隐私的人可以设置 JD_DEBUG 为 false
JD_USER_AGENT京东非必须自定义此库里京东系列脚本的 UserAgent,不懂不知不会 UserAgent 的请不要随意填写内容。如需使用此功能建议填写京东 APP 的 UA

推送通知环境变量(目前提供微信server酱pushplus(推送加)iOS Bark APPtelegram机器人钉钉机器人企业微信机器人iGot等通知方式)

Name归属属性说明
PUSH_KEY微信 server 酱推送非必须server 酱的微信通知官方文档,已兼容 Server 酱·Turbo 版
BARK_PUSHBARK 推送非必须IOS 用户下载 BARK 这个 APP,填写内容是 app 提供的设备码,例如:https://api.day.app/123 ,那么此处的设备码就是123,再不懂看 这个图(注:支持自建填完整链接即可)
BARK_SOUNDBARK 推送非必须bark 推送声音设置,例如choo,具体值请在bark-推送铃声-查看所有铃声
BARK_GROUPBARK 推送非必须bark 推送消息分组,例如jd_scripts
TG_BOT_TOKENtelegram 推送非必须tg 推送(需设备可连接外网),TG_BOT_TOKENTG_USER_ID两者必需,填写自己申请@BotFather的 Token,如10xxx4:AAFcqxxxxgER5uw , 具体教程
TG_USER_IDtelegram 推送非必须tg 推送(需设备可连接外网),TG_BOT_TOKENTG_USER_ID两者必需,填写@getuseridbot中获取到的纯数字 ID, 具体教程
DD_BOT_TOKEN钉钉推送非必须钉钉推送(DD_BOT_TOKENDD_BOT_SECRET两者必需)官方文档 ,只需https://oapi.dingtalk.com/robot/send?access_token=XXX 等于=符号后面的 XXX 即可
DD_BOT_SECRET钉钉推送非必须(DD_BOT_TOKENDD_BOT_SECRET两者必需) ,密钥,机器人安全设置页面,加签一栏下面显示的 SEC 开头的SECXXXXXXXXXX等字符 , 注:钉钉机器人安全设置只需勾选加签即可,其他选项不要勾选,再不懂看 这个图
QYWX_KEY企业微信机器人推送非必须密钥,企业微信推送 webhook 后面的 key 详见官方说明文档
QYWX_AM企业微信应用消息推送非必须corpid,corpsecret,touser,agentid,素材库图片 id 参考文档 1 参考文档 2 素材库图片填 0 为图文消息, 填 1 为纯文本消息
IGOT_PUSH_KEYiGot 推送非必须iGot 聚合推送,支持多方式推送,确保消息可达。 参考文档
PUSH_PLUS_TOKENpushplus 推送非必须微信扫码登录后一对一推送或一对多推送下面的 token(您的 Token) 官方网站
PUSH_PLUS_USERpushplus 推送非必须一对多推送的“群组编码”(一对多推送下面->您的群组(如无则新建)->群组编码)注:(1、需订阅者扫描二维码 2、如果您是创建群组所属人,也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送),只填PUSH_PLUS_TOKEN默认为一对一推送
TG_PROXY_HOSTTelegram 代理的 IP非必须代理类型为 http。例子:http 代理 http://127.0.0.1:1080 则填写 127.0.0.1
TG_PROXY_PORTTelegram 代理的端口非必须例子:http 代理 http://127.0.0.1:1080 则填写 1080

互助码类环境变量

Name归属属性需要助力次数/可提供助力次数说明
FRUITSHARECODES东东农场 互助码非必须5/3填写规则请看jdFruitShareCodes.js或见下方互助码的填写规则
PETSHARECODES东东萌宠 互助码非必须5/5填写规则和上面类似或见下方互助码的填写规则
PLANT_BEAN_SHARECODES种豆得豆 互助码非必须9/3填写规则和上面类似或见下方互助码的填写规则
DDFACTORY_SHARECODES东东工厂 互助码非必须5/3填写规则和上面类似或见下方互助码的填写规则
DREAM_FACTORY_SHARE_CODES京喜工厂 互助码非必须不固定/3填写规则和上面类似或见下方互助码的填写规则
JDZZ_SHARECODES京东赚赚 互助码非必须5/2填写规则和上面类似,或见下方互助码的填写规则
JDJOY_SHARECODES疯狂的 JOY 互助码非必须6/填写规则和上面类似,或见下方互助码的填写规则
BOOKSHOP_SHARECODES京东书店 互助码非必须10/填写规则和上面类似,或见下方互助码的填写规则
JD_CASH_SHARECODES签到领现金 互助码非必须10/填写规则和上面类似,或见下方互助码的填写规则
JXNC_SHARECODES京喜农场 互助码非必须/注意:京喜农场种植种子发生变化的时候,互助码也会变!! 每个账号 shareCode 是一个 json, json 需要用单引号包裹且是一行字符串, 否则设置环境变量时会出错, 示例:’{“smp”:”22bdadsfaadsfadse8a”, “active”:”jdnc_1_btorange210113_2”,”joinnum”:”1”}’, 多账单间使用&或换行分开。 详细说明参见#Pr202 如果使用docker-compose部署就不需要在互助码两端加单引号。详细参见 Issues#I35AG8
JDSGMH_SHARECODES闪购盲盒 互助码非必须10/填写规则和上面类似,或见下方互助码的填写规则
JDCFD_SHARECODES京喜财富岛 互助码非必须未知/未知填写规则和上面类似,或见下方互助码的填写规则
dyjCode大赢家 互助码非必须未知/未知仅支持单个互助码,,暂不支持多号。格式:redEnvelopeId@markedPin
TYT_PACKETID推一推 互助码非必须未知/未知仅支持单个互助码,暂不支持多号
MONEYTREE_SHARECODES摇钱树 互助码非必须未知/未知填写规则和上面类似,或见下方互助码的填写规则

控制脚本功能环境变量

Name归属属性说明
JD_BEAN_STOP京东多合一签到非必须jd_bean_sign.js自定义延迟签到,单位毫秒.默认分批并发无延迟, 延迟作用于每个签到接口,如填入延迟则切换顺序签到(耗时较长), 如需填写建议输入数字1,详见此处说明
JD_BEAN_SIGN_STOP_NOTIFY京东多合一签到非必须jd_bean_sign.js脚本运行后不推送签到结果通知,默认推送,填true表示不发送通知
JD_BEAN_SIGN_NOTIFY_SIMPLE京东多合一签到非必须jd_bean_sign.js脚本运行后推送签到结果简洁版通知, 默认推送全部签到结果,填true表示推送简洁通知,效果图
PET_NOTIFY_CONTROL东东萌宠 推送开关非必须控制京东萌宠是否静默运行, false为否(发送推送通知消息),true为是(即:不发送推送通知消息)
FRUIT_NOTIFY_CONTROL东东农场 推送开关非必须控制京东农场是否静默运行, false为否(发送推送通知消息),true为是(即:不发送推送通知消息)
JD_JOY_REWARD_NOTIFY宠汪汪 兑换京豆推送开关非必须控制jd_joy_reward.js脚本是否静默运行, false为否(发送推送通知消息),true为是(即:不发送推送通知消息)
JOY_FEED_COUNT宠汪汪喂食数量非必须控制jd_joy_feedPets.js脚本喂食数量,可以填的数字 10,20,40,80,其他数字不可.
JOY_HELP_FEED宠汪汪帮好友喂食非必须控制jd_joy_steal.js脚本是否给好友喂食,false为否,true为是(给好友喂食)
JOY_RUN_FLAG宠汪汪是否赛跑非必须控制jd_joy.js脚本是否参加赛跑(默认参加双人赛跑), false为否,true为是,脚本默认是true
JOY_TEAM_LEVEL宠汪汪 参加什么级别的赛跑非必须控制jd_joy.js脚本参加几人的赛跑,可选数字为2,10,50, 其中 2 代表参加双人 PK 赛,10 代表参加 10 人突围赛, 50 代表参加 50 人挑战赛(注:此项功能在JOY_RUN_FLAG为 true 的时候才生效), 如若想设置不同账号参加不同类别的比赛则用&区分即可(如下三个账号:2&10&50)
JOY_RUN_NOTIFY宠汪汪 宠汪汪赛跑获胜后是否推送通知非必须控制jd_joy.js脚本宠汪汪赛跑获胜后是否推送通知, false为否(不推送通知消息),true为是(即:发送推送通知消息)
JOY_RUN_HELP_MYSELF宠汪汪 赛跑自己账号内部互助非必须输入true为开启内部互助
JD_JOY_REWARD_NAME宠汪汪 积分兑换多少京豆非必须目前可填值为20或者500,脚本默认20,0表示不兑换京豆
MARKET_COIN_TO_BEANS东东超市 兑换京豆数量非必须控制jd_blueCoin.js兑换京豆数量, 可输入值为20或者1000的数字或者其他商品的名称,例如碧浪洗衣凝珠
MARKET_REWARD_NOTIFY东东超市 兑换奖品推送开关非必须控制jd_blueCoin.js兑换奖品成功后是否静默运行, false为否(发送推送通知消息),true为是(即:不发送推送通知消息)
JOIN_PK_TEAM东东超市 自动参加 PK 队伍非必须每次 pk 活动参加作者创建的 pk 队伍,true表示参加,false表示不参加
SUPERMARKET_LOTTERY东东超市抽奖非必须每天运行脚本是否使用金币去抽奖,true表示抽奖,false表示不抽奖
FRUIT_BEAN_CARD农场 使用水滴换豆卡非必须农场使用水滴换豆卡(如果出现限时活动时 100g 水换 20 豆,此时比浇水划算,推荐换豆), true表示换豆(不浇水),false表示不换豆(继续浇水),脚本默认是浇水
UN_SUBSCRIBESjd_unsubscribe.js非必须共四个参数,换行隔开.四个参数分别表示 取关商品数量,取关店铺数量,遇到此商品不再进行取关,遇到此店铺不再进行取关具体使用往下看
JDJOY_HELPSELF疯狂的 JOY 循环助力非必须疯狂的 JOY 循环助力,true表示循环助力,false表示不循环助力,默认不开启循环助力。
JDJOY_APPLYJDBEAN疯狂的 JOY 京豆兑换非必须疯狂的 JOY 京豆兑换,目前最小值为 2000 京豆(详情请查看活动页面-提现京豆), 默认数字0不开启京豆兑换。
BUY_JOY_LEVEL疯狂的 JOY 购买 joy 等级非必须疯狂的 JOY 自动购买什么等级的 JOY
MONEY_TREE_SELL_FRUIT摇钱树 是否卖出金果非必须控制摇钱树脚本是否自动卖出金果兑换成金币,true卖出,false不卖出,默认false
FACTORAY_WANTPRODUCT_NAME东东工厂 心仪商品非必须提供心仪商品名称(请尽量填写完整和别的商品有区分度),达到条件后兑换, 如不提供则会兑换当前所选商品
DREAMFACTORY_FORBID_ACCOUNT京喜工厂 控制哪个京东账号不运行此脚本非必须输入1代表第一个京东账号不运行,多个使用&连接,例:1&3代表账号 1 和账号 3 不运行京喜工厂脚本,注:输入0,代表全部账号不运行京喜工厂脚本
JDFACTORY_FORBID_ACCOUNT东东工厂 控制哪个京东账号不运行此脚本非必须输入1代表第一个京东账号不运行,多个使用&连接,例:1&3代表账号 1 和账号 3 不运行东东工厂脚本,注:输入0,代表全部账号不运行东东工厂脚本
CFD_NOTIFY_CONTROL京喜财富岛 控制是否运行脚本后通知非必须输入true为通知,不填则为不通知
JD_JOY_PARK汪汪乐园 控制是否运行此脚本,默认是非必须输入false为不运行
JD_TRY京东试用 控制是否运行此脚本,默认否非必须输入true为运行
NOT_RUN禁止运行某脚本 控制是否运行此脚本非必须输入对应脚本名称,多个脚本用&连接

互助码的填写规则

互助码如何获取:运行相应脚本后,在日志里面可以找到。

同一个京东账号的好友互助码用@隔开,不同京东账号互助码用&或者换行隔开,下面给一个文字示例和具体互助码示例说明

两个账号各两个互助码的文字示例:

1
京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2

两个账号各两个互助码的真实示例:

1
0a74407df5df4fa99672a037eec61f7e@dbb21614667246fabcfd9685b6f448f3&6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6&6fbd26cc27ac44d6a7fed34092453f77@61ff5c624949454aa88561f2cd721bf6

取关店铺 secret 的说明

secret 依次是取关商品数,取关店铺数,遇到此商品不再进行取关,遇到此店铺不再进行取关

例如我要取关 100个商品,100个店铺,商品遇到商品关键字 iPhone12 停止取关,店铺遇到 Apple京东自营旗舰店 不再取关 则使用换行或者&隔开即可, 下面给出换行隔开示例:

1
2
3
4
100
100
iPhone12
Apple京东自营旗舰店

下面给出&符号隔开示例:

1
100&100&iPhone12&Apple京东自营旗舰店

关于脚本推送通知频率

如果你填写了推送通知方式中的某一种通知所需环境变量,那么脚本通知情况如下:

目前默认只有 jd_fruit.js,jd_pet.js,jd_bean_sign.js,jd_bean_change.js,jd_jxnc.js 这些脚本(默认)每次运行后都通知

1
其余的脚本平常运行都是不通知,只有在京东cookie失效以及达到部分条件后,才会推送通知

一些依赖可供参考

1.NodeJs 下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
一个一个复制安装
crypto-js
prettytable
dotenv
jsdom
date-fns
tough-cookie
tslib
ws@7.4.3
ts-md5
jsdom -g
jieba
fs
form-data
json5
global-agent
png-js
@types/node
require
typescript
js-base64
axios

2.Python3 下

1
2
3
4
5
一个一个复制安装
requests
canvas
ping3
jieba

3.Linux 下

1
2
3
4
一个一个复制安装
bizCode
bizMsg
lxml

一些定时规则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
*/5 * * * * ?    #每隔 5 秒执行一次
0 */1 * * * ? #每隔 1 分钟执行一次
0 0 2 1 * ? * #每月 1 日的凌晨 2 点执行一次
0 15 10 ? * #MON-FRI 周一到周五每天上午 10:15 执行
0 15 10 ? 6L #2002-2006 2002 年至 2006 年的每个月的最后一个星期五上午 10:15 执行
0 0 23 * * ? #每天 23 点执行一次
0 0 1 * * ? #每天凌晨 1 点执行一次
0 0 1 1 * ? #每月 1 日凌晨 1 点执行一次
0 0 23 L * ? #每月最后一天 23 点执行一次
0 0 1 ? * L #每周星期天凌晨 1 点执行一次
0 26,29,33 * * * ? #在 26 分、29 分、33 分执行一次
0 0 0,13,18,21 * * ? #每天的 0 点、13 点、18 点、21 点都执行一次
0 0 10,14,16 * * ? #每天上午 10 点,下午 2 点,4 点执行一次
0 0/30 9-17 * * ? #朝九晚五工作时间内每半小时执行一次
0 0 12 ? * WED #每个星期三中午 12 点执行一次
0 0 12 * * ? #每天中午 12 点触发
0 15 10 ? * * #每天上午 10:15 触发
0 15 10 * * ? #每天上午 10:15 触发
0 15 10 * * ? * #每天上午 10:15 触发
0 15 10 * * ? #2005 2005 年的每天上午 10:15 触发
0 * 14 * * ? #每天下午 2 点到 2:59 期间的每 1 分钟触发
0 0/5 14 * * ? #每天下午 2 点到 2:55 期间的每 5 分钟触发
0 0/5 14,18 * * ? #每天下午 2 点到 2:55 期间和下午 6 点到 6:55 期间的每 5 分钟触发
0 0-5 14 * * ? #每天下午 2 点到 2:05 期间的每 1 分钟触发
0 10,44 14 ? 3 WED #每年三月的星期三的下午 2:10 和 2:44 触发
0 15 10 ? * MON-FRI #周一至周五的上午 10:15 触发
0 15 10 15 * ? #每月 15 日上午 10:15 触发
0 15 10 L * ? #每月最后一日的上午 10:15 触发
0 15 10 ? * 6L #每月的最后一个星期五上午 10:15 触发
0 15 10 ? * 6L #2002-2005 2002 年至 2005 年的每月的最后一个星期五上午 10:15 触发
0 15 10 ? * 6#3 #每月的第三个星期五上午 10:15 触发
1
2
3
var CV = "单引号里面放第六步拿到的cookie";
var CookieValue = CV.match(/pt_pin=.+?;/) + CV.match(/pt_key=.+?;/);
copy(CookieValue);