Giter Site home page Giter Site logo

srcrs / magicbox Goto Github PK

View Code? Open in Web Editor NEW
303.0 3.0 31.0 37.55 MB

一个基于chrome的自动执行定时任务,目前支持B站、v2ex、吾爱、hostloc等网站的签到

Home Page: https://blog.lass.cc/post/how-use-magic-box/

License: MIT License

Shell 5.53% Dockerfile 1.27% Go 93.20%
auto checkin chrome sign task

magicbox's Introduction

MagicBox

简述

v1版本是使用代码来操作浏览器,写过几个自动化任务之后,发现流程极其相似,将浏览器操作颗粒化之后,能否使用工作流来实现?Automa便是最佳的选择,但局限于它是一个浏览器插件,无法在浏览器headless模式导入编写好的工作流,遂做了一个golang版本的工作流解析器,将Automa工作流导入到该项目中便可自动执行,以期平替其在本地化的操作,这便是v2版本。目前只实现了一部分操作,正在逐渐开发完善中。

已实现组件

  • conditions:条件判断
  • event-click:点击
  • get-text:获取文本
  • insert-data:插入变量
  • loop-data:循环获取数据
  • new-tab:打开网页
  • webhook:调用接口
  • tab-url:获取当前页面url
  • element-scroll:滚动页面到屏幕最下面
  • delay:流程sleep
  • loop-elements:循环遍历页面元素

目录

本地获取cookie

涉及到登录问题,通常使用cookie来解决,推荐使用插件cookie-editor来获取,导出为json。

环境说明

  • 程序底层依赖chrome浏览器,需要有该环境

  • go 1.18

  • docker

食用方法

Docker部署

  • 1.克隆仓库
git clone [email protected]:srcrs/MagicBox.git
  • 2.在configs目录下导入对应任务的配置文件

  • 3.安装docker环境

docker环境安装参考官方教程,一键把docker和docker-compose环境都安装好

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
  • 3.执行部署

示例docker版本信息

$ docker --version
Docker version 24.0.4
$ docker compose version
Docker Compose version v2.19.1

部署

docker compose up -d

任务示例

v2ex论坛签到

官方站点:https://v2ex.com/

./configs/v2ex_sign.json

需要补充cookie,以及通知。

百度热搜自动推送

官方站点:https://top.baidu.com/board?tab=realtime

./configs/post_notify.json

京东自动申请价保

官方站点:https://www.jd.com/

./configs/jd_sign.json

magicbox's People

Contributors

srcrs avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

magicbox's Issues

克隆拉取提示错误

Cloning into 'MagicBox'...
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,20.205.243.166' (ECDSA) to the list of known hosts.
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

有道云笔记签到 headers问题

楼主,好:
1、有道云笔记我之前使用Python 抓包过,MAC IOS/IPADOS 安卓 WIn
以上几个环境是独立分离的,就是说可以每天多次签到,想了解下楼主的怎么实现的

2、我抓包后发现,headers 加 ”Content-Type" 和不加,是完全不同的两个需求,同理,一天可以签到8次+

	headers = {
	"Cookie": "YNOTE_LOGIN=true; YNOTE_SESS=v2|WRiDHDSBL0qFnMOA6LPB0TzhfP4RHeZ0UERMwzOLTZ0lEn4p4OLey0eZOfOEkMT4RQyPLPu6LPFReLnLkYhLeK0qFn4xxxxxxx",
	"Content-Type": "application/x-www-form-urlencoded",
	}

3、自6月有道云限制登陆设备为2台后,被踢下的设备 cookie 会失效,重新登录会改变,每天最多签到4个

想了解下博主的实现方式是什么,我有几个 微博定期获取视频的程序不知能否 一同添加进来

请教有道云笔记签到方法

感谢您的项目。已经部署成功。参考 - 双十一京东自动申请价保助手 | Doduo' Site 教程,成功完成京东价保的设置。

我的问题是:

  1. 青龙面板中,脚本管理 - jd脚本的 cron 和 定时任务 - jd task 的定时规则 ,功能是重复的吗?
    教程中
    jd脚本 cron: '0 41 8,16 ** *'
    jd task 定时规则:10 10 */2 * * *

2. 有道云笔记的签到是否也需要在定时任务中添加:MagicBox/MagicBox_amd64_linux youdao exec
[更新]:有道云笔记签到成功了

telegram通知报错

青龙部署的方式,qinglong 2.17.1 ,脚本成功运行完成后,发送telegram通知失败。(其他脚本如jdpro等能正常发送tg通知)

2024-02-28T15:13:20.924+0800 INFO 当前版本: 0.2.4
2024-02-28T15:13:20.924+0800 INFO 任务: youdao[false], 用户: doduo, 开始执行
2024-02-28T15:13:28.572+0800 INFO 当前登录状态为: {"login": true}
2024-02-28T15:13:31.751+0800 INFO doduo, 今天已经签到过了 {"callid": "f9bc3123-d5eb-45da-8eae-d2206d3eab5d"}
2024-02-28T15:13:31.756+0800 INFO cookie更新成功, youdao, doduo
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x99d6b7]

goroutine 1 [running]:
github.com/nikoksr/notify/service/telegram.(*Telegram).AddReceivers(...)
/Users/srcrs/Myself/go/pkg/mod/github.com/nikoksr/[email protected]/service/telegram/telegram.go:52
MagicTask/utils.HandlerSend({0xc000140870?, 0x53?}, {0xc0003ec220, 0x1e}, {0xc000040300, 0x22})
/Users/srcrs/Myself/MagicTask/utils/notify.go:34 +0x177
MagicTask/utils.HandlerFilterLoggerSend({0xc000140870, 0x41}, {0xc00013e900, 0x24}, {0xc0003ec220, 0x1e})
/Users/srcrs/Myself/MagicTask/utils/notify.go:160 +0x8a9
MagicTask/utils.Worker.func1()
/Users/srcrs/Myself/MagicTask/utils/utils.go:403 +0xdde
MagicTask/utils.Worker({0xae4fe9, 0x6}, {0xc0001194c6, 0x6})
/Users/srcrs/Myself/MagicTask/utils/utils.go:408 +0x1d9
MagicTask/tasks/youdao.(*Youdao).Run(0xae4fe9?, {0xc000234210?, 0xae4fe9?, 0x6?})
/Users/srcrs/Myself/MagicTask/tasks/youdao/run.go:40 +0x165
main.main()
/Users/srcrs/Myself/MagicTask/main.go:55 +0x4b3

执行结束... 耗时 41 秒  

MagicBox-0.2.4,Docker-24.0.4,CentOS-7.9-64位 获取二维码失败

[root@10-60-249-207 MagicBox-0.2.4]# pwd
/root/myDeployProject/MagicBox-0.2.4
[root@10-60-249-207 MagicBox-0.2.4]# ll
total 12
drwxr-xr-x 2 root root 26 Dec 7 21:14 configs
-rw-r--r-- 1 root root 234 Nov 23 00:57 docker-compose.yml
-rw-r--r-- 1 root root 839 Nov 23 00:57 install.sh
-rw-r--r-- 1 root root 1066 Nov 23 00:57 LICENSE
-rw-r--r-- 1 root root 0 Nov 23 00:57 MagicBox.log
[root@10-60-249-207 MagicBox-0.2.4]# docker compose run server bilibili login
2023-12-07T21:19:40.259+0800 INFO 当前版本: 0.2.0
2023-12-07T21:21:20.262+0800 ERROR 获取二维码失败 {"error": "context deadline exceeded"}
2023-12-07T21:21:20.262+0800 ERROR 获取二维码失败 {"error": "context deadline exceeded"}
[root@10-60-249-207 MagicBox-0.2.4]#
[root@10-60-249-207 MagicBox-0.2.4]#
[root@10-60-249-207 MagicBox-0.2.4]#
[root@10-60-249-207 MagicBox-0.2.4]# docker --version
Docker version 24.0.4, build 3713ee1
Docker部署获取二维码失败

构建失败

Screenshot_2024-04-06-06-51-06-71_61c78dc80ee02b53007c815fefe993e3
[server builder 2/4] COPY . /src 1.9s
=> [server builder 3/4] WORKDIR /src 0.1s
=> ERROR [server builder 4/4] RUN go build 482.1s
=> [server stage-1 2/4] RUN apt-get update 116.0s

[server builder 4/4] RUN go build -ldflags "-s -w" -o ./bin/MagicBox .:
0.217 go: downloading github.com/tidwall/gjson v1.17.1
0.221 go: downloading github.com/DataHenHQ/useragent v0.1.0
30.27 go: downloading github.com/chromedp/cdproto v0.0.0-20240214232516-ad4608604e9e
60.30 go: downloading github.com/chromedp/chromedp v0.9.5
60.30 go: downloading github.com/robfig/cron/v3 v3.0.1
90.32 go: downloading go.uber.org/zap v1.24.0
120.4 go: downloading gopkg.in/natefinch/lumberjack.v2 v2.2.1
120.6 go: downloading github.com/google/uuid v1.6.0
482.1 utils/proxy.go:6:2: github.com/DataHenHQ/[email protected]: Get "https://proxy.golang.org/github.com/%21data%21hen%21h%21q/useragent/@v/v0.1.0.zip": dial tcp 142.250.105.141:443: i/o timeout
482.1 utils/chrome.go:8:2: github.com/chromedp/[email protected]: Get "https://proxy.golang.org/github.com/chromedp/cdproto/@v/v0.0.0-20240214232516-ad4608604e9e.zip": dial tcp 173.194.219.141:443: i/o timeout
482.1 utils/chrome.go:9:2: github.com/chromedp/[email protected]: Get "https://proxy.golang.org/github.com/chromedp/cdproto/@v/v0.0.0-20240214232516-ad4608604e9e.zip": dial tcp 173.194.219.141:443: i/o timeout
482.1 utils/chrome.go:10:2: github.com/chromedp/[email protected]: Get "https://proxy.golang.org/github.com/chromedp/chromedp/@v/v0.9.5.zip": dial tcp 108.177.122.141:443: i/o timeout
482.1 workerflow/workerflow.go:10:2: github.com/google/[email protected]: Get "https://proxy.golang.org/github.com/google/uuid/@v/v1.6.0.zip": dial tcp 142.250.105.141:443: i/o timeout
482.1 utils/global.go:4:2: github.com/robfig/cron/[email protected]: Get "https://proxy.golang.org/github.com/robfig/cron/v3/@v/v3.0.1.zip": dial tcp 108.177.122.141:443: i/o timeout
482.1 utils/utils.go:14:2: github.com/tidwall/[email protected]: Get "https://proxy.golang.org/github.com/tidwall/gjson/@v/v1.17.1.zip": dial tcp 142.250.105.141:443: i/o timeout
482.1 utils/chrome.go:11:2: go.uber.org/[email protected]: Get "https://proxy.golang.org/go.uber.org/zap/@v/v1.24.0.zip": dial tcp 108.177.122.141:443: i/o timeout
482.1 utils/init.go:10:2: go.uber.org/[email protected]: Get "https://proxy.golang.org/go.uber.org/zap/@v/v1.24.0.zip": dial tcp 108.177.122.141:443: i/o timeout
482.1 utils/init.go:11:2: gopkg.in/natefinch/[email protected]: Get "https://p

保价报错

2023-11-30T00:21:59.097+0800 INFO 当前版本: 0.2.4
2023-11-30T00:21:59.097+0800 INFO 任务: jd[false], 用户: doduo, 开始执行
2023-11-30T00:22:04.970+0800 INFO 当前登录状态为: {"login": true}
2023-11-30T00:22:24.971+0800 ERROR 获取申请价保列表失败 {"error": "context deadline exceeded", "callid": "xxx"}
2023-11-30T00:22:24.972+0800 INFO cookie更新成功, jd, doduo
2023-11-30T00:22:25.010+0800 INFO 任务: jd[true], 用户: doduo, 开始执行
2023-11-30T00:22:32.267+0800 INFO 当前登录状态为: {"login": false}
2023-11-30T00:22:32.267+0800 ERROR 登录失败,请检查cookie {"callid": "xxx"}

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.