Giter Club home page Giter Club logo

lc-helper's Introduction

2024-07-05 更新

力扣限制又严格了一些, 需要抓包 App 获取两个认证 token

所以需要各位在 App 上去获取 cookie 跟 authorization 信息设置到 action 变量中

IOS 用户推荐 软件 Stream

调好抓包软件后, 开始抓包

alt text

登录 App 之后进入任务中心

alt text

随便找到一个 graphql 接口

alt text

找到 cookie 跟 Authorization 两个请求头

alt text

新增一个名为 SESSION 的变量, 值使用 cookie 内容

再新增一个名为 AUTHORIZATION 的变量, 值使用 Authorization 头的内容

Alt text

设置完成之后可以手动执行一下 试试效果

cookie 跟 Authorization 失效之后需要重新设置

力扣辅助

自动完成每日任务领取积分

首先拉取用户已下发的任务, 下面的任务没有的会跳过执行

  • 日常登录 1 积分

  • 阅读 3 篇题解 1 积分(暂时取消)

  • 每日登录领取 1 积分

  • 保存一则学习笔记 3 积分

  • 阅读 3 章 LeetBook 领取 2 积分

  • 获取 2 本免费的 LeetBook 领取 3 积分

  • 点赞一则 LeetBook 讨论 领取 1 积分

开发

环境安装

# clone project
git clone https://github.com/xjq7/lc-helper

# cd folder
cd lc-helper

# 安装 pnpm, 已安装的话就跳过
npm install pnpm -g

# 依赖安装
pnpm install

本地调试

pnpm dev '<session>' '<authorization>'

命令行工具调试

# 编译
pnpm tsc

# link 到全局
npm link --force

# 运行
lchl start '<session>' '<authorization>'

使用

目前只支持账号密码登录

命令行工具使用

# 全局安装
npm install -g lchl
# or
yarn global add lchl

# 运行
lchl start '<session>' '<authorization>'

# example
lchl start '<你的 session cookie>' '<你的 authorization>'

定时任务执行

通过 Github Action 每天凌晨 00:50 分自动执行, 需要提前配置账号密码在 Action Secret 中

  1. fork 本项目

  2. 配置账号密码用于工具登录

    创建 Github action Secret

    进入你 fork 的项目, 找到 Settings - Security - Secrets - Actions

然后 点击新建 New repository secret

填写一个 Name 为 SESSION 的 key, Secret 为你的 session cookie, session cookie 的获取方式请看 README 顶部

Alt text

  1. 在 Action 中手动触发验证

点击 Actions, 找到定时任务 auto action runner

第一次接入手动触发任务测试是否有问题

点击 Run workflow 手动触发任务

点击进入 当前执行的 Action 中查看日志

run 环节会打印执行结果

后续每天 00:50 自动执行, 时间可能有误差, 00:50 ~ 01:00 之间

lc-helper's People

Contributors

oddcc avatar xjq7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

lc-helper's Issues

感谢!不过,有些任务失败了

刚试了下,手动跑的任务。
日常登录 1 积分。成功。
阅读 3 篇题解 1 积分。我用手机app 安卓端看了下,已完成3/3,但是没领积分。
每日登录领取 1 积分。成功。
保存一则学习笔记 3 积分。成功。
阅读 3 章 LeetBook 领取 2 积分。安卓端仍是未操作。已完成0/3。
获取 2 本免费的 LeetBook 领取 3 积分。这个活动每天都有吗?安卓端目前看不到。

run log 如下。

Run pnpm dev *** ***
  pnpm dev *** ***
  shell: /usr/bin/bash -e {0}
  env:
    PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin

> [email protected] dev /home/runner/work/lc-helper/lc-helper
> ts-node test.ts "***" "***"

登录进行中...
登录成功!
获取任务列表数据...
获取任务列表数据成功!
ctx 挂载 任务列表数据
taskList: [{"id":"25tg","name":"每日登录 App","link":"","status":"COMPLETED","prize":1},{"id":"5gy1","name":"阅读 3 篇题解","link":"https://leetcode-cn.com/problemset/all/","status":"COMPLETED","prize":1},{"id":"rdg2","name":"保存 1 则学习笔记","link":"https://leetcode.cn/problems/maximum-number-of-points-from-grid-queries/?isOpenNote=true&isShowTips=true","status":"STARTING","prize":3},{"id":"ao3e","name":"阅读 3 章 LeetBook","link":"https://leetcode.cn/leetbook/read/awesome-os-guide/eguf2e/","status":"STARTING","prize":2}]
执行任务: 每日登录 App...
领取App 每日登录积分 任务执行开始...
领取 1 积分成功! 
每日登录 App 执行完成!
未下发任务: 9q17
执行任务: 阅读 3 章 LeetBook...
查看 LeetBook 章节...
查看 LeetBook 章节...
查看 LeetBook 章节...
[
  {
    message: '🐸☕未拥有此 LeetBook',
    locations: [ [Object] ],
    path: [ 'leetbookPage' ]
  }
]
执行任务: 保存 1 则学习笔记...
创建笔记中... targetId=1900
学习笔记创建成功!
笔记 id=1xq9f2i
领取保存学习笔记积分 任务执行开始...
领取 3 积分成功! 
删除笔记执行中... id=1xq9f2i
笔记删除成功!
保存 1 则学习笔记 执行完成!
未下发任务: pn6c
未下发任务: olz6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.