一亩三分地自动签到脚本

一亩三分地自动签到脚本

脚本介绍

前一段时间接触到了Surge,也间接接触到了js脚本的使用。群里很多人通过脚本实现了譬如天气提醒,百度贴吧签到,甚至是去除广告的功能,虽说之前没有接触过js,只写过一点python的脚本,但鉴于js脚本的使用范围实在太大,这几天就动手学习了一点js的语法,修改了点脚本,前天花了点时间修改了作者 Neurogram 定点签到的脚本,适配了特定的html格式,以及增加了到期时间的显示,成就感还是蛮强的。由于到了申请季,很多同学都需要在比如一亩三分地的留学论坛上逛帖,所以出于兴趣,写了一亩三分地的自动签到脚本。

Check in for Shortcuts

运行 Shortcuts 版时,需要先进入编辑页面,在URL_提交登陆模块填写账号信息,账号信息分为 用户名、密码、问题编号,问题答案 4个 DICTIONARY(字典),其中如果没有问题,问题编号写0,问题答案留空。

Check in for Surge

  • 填写账号信息

    const accounts = [
    ["[email protected]", "xxx","x","xxxx"]
    ]

    账号信息的填写要严谨按照代码示例的格式填写,内容顺序依次为 用户名、密码、问题编号,问题答案,4个内容用双引号””括起来,且不需要urlencode,直接原文显示。其中如果没有问题,问题编号写0,问题答案留空。

  • 安装脚本
    云端:自己的服务器或其他可生成文件直链的地方(github记得使用点raw进入直链)
    本地: iCloud / Dropbox 的 Surge 文件夹下

  • 配置脚本

    进入 配置文件 的文本编辑模式,在 [Script] (如无 [Script],编辑一个即可)下新建一行

    [Script]
    cron "30 8 * * *" script-path=checkin_1point.js

    以上实例为 每天早上 8:30 运行存放于 本地的 checkin_1point.js 脚本(如脚本存放于云端,则 script-path=脚本直链)自定义触发时间配置使用的是 crontab 样式,api可参考 Scripting 的介绍

  • 代码逻辑

问题

由于hash和cookie有关联,登陆的cookie有较长的使用期,而签到的cookie在每一次登陆之后都会更新,所以不能直接通过抓签到的包直接进行POST操作。同时在后期的测试过程中,如果想同时进行多账号的签到,由于登陆cookie在本机有保存,很可能出现提示了签到成功但账号实际没有签到成功的情况,所以建议大家只使用一个账号,或者签到完成后清除Safari的缓存,再进行另外一个账号的签到操作。
细心的同学看完代码会发现最后签到的函数正则里面包含了乱码字符,因为最后抓包之后返回的html是gbk编码的,处理起来不是特别方便,于是暂时就用了比较笨的方法进行了字符匹配。
这也是我第一个完整的写一个js脚本,业务逻辑方面包括函数,字典格式的使用或多或少存在不合理的地方,如果大家有更好的意见,欢迎给我联系。

  • 反馈

    💡 如果大家运行不了脚本或者运行出错,反馈的时候一定要带上报错的截图,有能力的同学在代码里面取消对应的console.log(data)的注释,并附上surge log的对应截图,感谢大家。

脚本下载

👉 Check in for Shortcuts (feat @wangfei021325)

👉 Check in for Surge

关于作者

Telegram: Leped_Bot

GitHub: NavePnow

Reference

🔗 Check-in Demo

🔗 Tutorial Demo

👨‍🏫 Advisor


# Recommend Posts
 1.1/1/2019 - 12/31/2019
 2.1/1/2019 - 12/31/2019
 3.82 年生的金智英
 4.Hexo主题折腾日记(二) 添加豆瓣和聊天插件
 5.Hexo主题折腾日记(一) 从cactus到icarus

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×