Ithy Logo

使用 GitHub Actions 自动签到领京豆的详细实施步骤

GitHub Actions介绍 - ShangguanHong

在当今数字化时代,自动化工具的应用极大地提升了我们的日常效率。对于京东用户而言,每天的签到领取京豆(京东的积分奖励)是一个简单但易被遗忘的任务。借助 GitHub Actions,可以实现这一过程的全自动化,确保每一天准时签到并领取京豆,节省时间和精力。本文将为您提供一个全面、详细的指南,帮助您通过 GitHub Actions 自动化京东签到,轻松获取京豆奖励。

目录

  1. 准备工作
  2. 步骤 1:获取京东 Cookie
  3. 步骤 2:Fork 项目到自己的 GitHub 仓库
  4. 步骤 3:配置 GitHub Secrets
  5. 步骤 4:配置 GitHub Actions 工作流
  6. 步骤 5:编写签到脚本
  7. 步骤 6:提交并推送更改
  8. 步骤 7:运行与监控
  9. 常见问题
  10. 安全建议
  11. 结语

准备工作

在开始之前,确保您具备以下条件:

  • GitHub 账户:如果还没有 GitHub 账户,请访问 GitHub 官网 注册一个。
  • 京东账户:拥有一个有效的京东账号,并能够正常登录。
  • 基础计算机知识:具备基本的 Git 使用知识和理解 GitHub Actions 的基本概念。
  • Server酱(可选):若希望接收签到结果通知,可以注册并获取 Server酱的 SCKEY,访问 Server酱官网 进行注册。
  • Fork 签到脚本仓库:选择一个开源的京东签到脚本项目,本文将以 cafebox/auto_jd 为例。

步骤 1:获取京东 Cookie

京东 Cookie 包含了您的登录认证信息,GitHub Actions 需要这些信息来模拟您的签到行为。请按照以下步骤获取您的京东 Cookie:

  1. 手机登录京东

    • 打开手机浏览器并访问 京东官网,使用手机号码登录您的京东账号。
  2. 打开开发者工具

    • 登录成功后,按下 F12 或通过右键选择“检查”打开浏览器的开发者工具。
    • 点击 Network(网络)面板,以监控网络流量。
  3. 捕获 Cookie

    • 刷新京东页面,确保开发者工具中的网络请求被记录。
    • 查找含有 pt_keypt_pin 的请求头信息。
    • 复制这些 Cookie 值,格式应为:
    • pt_key=xxxxxx; pt_pin=xxxxxx;
  4. 保存 Cookie

    • 将上述 Cookie 字符串保存,稍后将在 GitHub Secrets 中使用。
    • 注意:请勿泄露您的 Cookie 信息,确保账号安全。

步骤 2:Fork 项目到自己的 GitHub 仓库

使用现成的京东签到脚本项目可以简化配置过程。以下以 cafebox/auto_jd 为例说明如何 Fork 项目:

  1. 访问项目页面

  2. Fork 仓库

    • 点击页面右上角的 Fork 按钮,将该项目复制到您的 GitHub 账户下。

步骤 3:配置 GitHub Secrets

为了安全地存储您的敏感信息(如 Cookie 和 SCKEY),需要将它们配置到 GitHub Secrets 中:

  1. 进入仓库设置

    • 在您的 Forked 仓库页面,点击右上角的 Settings(设置)选项。
    • 在左侧菜单中选择 Secrets and variables > Actions
  2. 添加京东 Cookie

    • 点击 New repository secret,添加一个新的 Secret。
    • Name: JD_COOKIE
    • Value: 粘贴之前获取的 Cookie 字符串,如 pt_key=xxxxxx; pt_pin=xxxxxx;
    • 备注:如果有多个账号,可以使用换行或 & 分隔多个 Cookie。
  3. 添加 Server酱 SCKEY(可选)

    • 点击 New repository secret,添加另一个 Secret。
    • Name: PUSH_KEY
    • Value: 您从 Server酱获取的 SCKEY。

步骤 4:配置 GitHub Actions 工作流

工作流文件(YAML 格式)定义了 GitHub Actions 的行为,包括定时触发和执行任务。按照以下步骤配置工作流文件:

  1. 导航到工作流目录

    • 在您的仓库根目录下,创建一个目录结构:.github/workflows
  2. 创建工作流文件

    • .github/workflows 目录下,创建一个 YAML 文件,例如 auto-sign.yml
  3. 配置工作流内容

    
    name: JD Auto Sign
    
    on:
      schedule:
        - cron: '0 0 * * *' # 每天 UTC 时间0点触发
      workflow_dispatch: # 允许手动触发
    
    jobs:
      sign-in:
        runs-on: ubuntu-latest
    
        steps:
          - name: Checkout repository
            uses: actions/checkout@v2
    
          - name: Set up Python
            uses: actions/setup-python@v2
            with:
              python-version: '3.x'
    
          - name: Install dependencies
            run: |
              pip install requests
    
          - name: Run sign-in script
            env:
              JD_COOKIE: ${{ secrets.JD_COOKIE }}
              PUSH_KEY: ${{ secrets.PUSH_KEY }}
            run: python jd_sign.py
          
    • 此配置将在每天 UTC 时间0点自动触发签到任务,并支持手动触发。
    • 通过 secrets.JD_COOKIEsecrets.PUSH_KEY 安全地引入敏感信息。

步骤 5:编写签到脚本

签到脚本负责实际执行签到操作。以下是一个使用 Python 编写的示例脚本:


import os
import requests

def check_in():
    # 京东签到 API 地址(请根据实际情况更新)
    url = 'https://api.m.jd.com/client.action?functionId=signBeanIndex'
    headers = {
        'Cookie': os.environ['JD_COOKIE'],
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
    }
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        data = response.json()
        if data['code'] == 0:
            print('签到成功,获得 {} 京豆。'.format(data['data']['beanNum']))
        else:
            print('签到失败,原因:{}'.format(data['data']['errorMsg']))
    else:
        print('请求失败,状态码:{}'.format(response.status_code))

if __name__ == "__main__":
    check_in()

说明:

  • 脚本通过读取环境变量中的 JD_COOKIE 来进行身份验证。
  • 根据京东的 API 接口,发送 GET 请求执行签到操作。
  • 解析响应结果,输出签到状态。

注意: 确保脚本中的 API 地址和请求头信息与实际情况相符,可能需要根据京东的变化进行相应调整。

步骤 6:提交并推送更改

完成工作流文件和签到脚本的编写后,需要将更改提交并推送到 GitHub 仓库:

  1. 添加、提交更改

    • 在本地仓库或 GitHub 网站上,确保 auto-sign.ymljd_sign.py 文件已正确添加。
    • 提交更改,并编写有意义的提交信息,例如:“配置自动签到工作流”。
  2. 推送到 GitHub

    • 使用 Git 命令或 GitHub 网站界面,将本地更改推送到远程仓库。

一旦推送完成,GitHub Actions 将根据配置的触发条件自动执行签到任务。

步骤 7:运行与监控

配置完成后,需要监控 GitHub Actions 的执行情况,以确保签到任务正常运行:

  1. 查看 Actions 运行记录

    • 在您的 GitHub 仓库页面,点击 Actions 标签。
    • 查看最近的工作流运行记录,确保任务已按预定时间执行。
    • 如有失败,点击具体任务查看详细日志。
  2. 查看签到结果通知(可选)

    • 如果配置了 Server酱 SCKEY,签到结果将在微信或其他指定渠道接收通知。
  3. 定期检查并更新 Cookie

    • 京东的 Cookie 通常有有效期,建议每月检查并更新,以确保签到任务持续有效。

常见问题

1. 无法获取 Cookie

解决方案:

  • 尝试更换浏览器,例如使用谷歌浏览器。
  • 确保在开发者工具中完整捕获到 pt_keypt_pin
  • 避免使用隐身模式,确保 Cookie 能够正确存储。

2. GitHub Actions 无法触发

解决方案:

  • 确保 Fork 的仓库中存在正确配置的 .yml 工作流文件。
  • 验证 cron 表达式的时间设置是否合理。
  • 检查仓库的 Actions 是否已被启用。

3. 账号被风控

解决方案:

  • 降低签到频率,避免频繁请求导致账号被封禁。
  • 切换登录方式,如使用不同设备或网络环境。
  • 确保 Cookie 的安全性,防止被他人盗用。

4. 签到脚本执行失败

解决方案:

  • 检查工作流文件和签到脚本的语法是否正确。
  • 查看 Actions 的执行日志,定位具体错误信息。
  • 确保依赖项已正确安装,如 Python 库。

安全建议

  • 保护您的 Cookie:确保不将 Cookie 泄露给他人,避免账号被盗用。
  • 定期更换 Cookie:为了安全,建议定期获取新的 Cookie 并更新到 GitHub Secrets 中。
  • 避免公开仓库:如果使用公共仓库,务必确保敏感信息通过 Secrets 管理,不暴露在代码中。
  • 遵守平台规则:确保自动化脚本的使用不违反京东的使用条款,避免因违规操作导致账号风险。
  • 使用通知机制:通过 Server酱或其他通知工具,及时了解签到任务的执行情况。

结语

通过本文详细的步骤指导,您可以轻松地使用 GitHub Actions 实现京东的自动签到,自动领取京豆奖励。这不仅提升了您的使用体验,还能确保您不会错过每日的积分奖励。请务必遵循安全建议,保护好您的账号信息,合理使用自动化工具。希望这篇指南对您有所帮助,祝您在京东“薅羊毛”过程中收获满满!

如需进一步了解 GitHub Actions 的高级功能或自定义脚本,建议参考以下资源:


Last updated January 8, 2025
Ask me more