Open Cirn09 opened 1 year ago
我作为一个多年用户,我给你个解决方案,目前我手头有非常丰富的使用场景,你遇到的这种问题我也有需求,但我有自己的解决方法,做法是利用V2P工具配合使用,官方地址是: https://github.com/elecV2/elecV2P 里面其中一项功能叫常量(在脚本管理里面),自己通过抓包得到写入读取后,就可以当变量来使用了,也可以结合不同的模板来调用同一个变量来给他赋值。
我作为一个多年用户,我给你个解决方案,目前我手头有非常丰富的使用场景,你遇到的这种问题我也有需求,但我有自己的解决方法,做法是利用V2P工具配合使用,官方地址是: https://github.com/elecV2/elecV2P 里面其中一项功能叫常量(在脚本管理里面),自己通过抓包得到写入读取后,就可以当变量来使用了,也可以结合不同的模板来调用同一个变量来给他赋值。
你这完全没必要这么麻烦……如果你只是用 elecV2P 当数据库用的话,你完全可以用 Serverless Database 服务代替,比如MongoDB Atlas,如此小的数据量应该花不了几毛钱(MongoDB Atlas有免费额度,更多可白嫖 Serverless Database )。
而且如此简单的功能没必要引入外部依赖,在当前的项目框架下这个功能是不难实现的
V2p并不单纯跟签到配合,他还会配合手机的一些自动任务,跟其他平台的一些对接,包括更新cookie。
参数为 task id、key[、value] 调用后返回对应 task id 对应 key 的旧 value,如果提供了 value,则更新 只允许从 localhost 访问 需要实现 task id 魔法变量 模板作者需要确保 task id 用户不可控,网站管理员需要确保模板无恶意行为
参数为 task id、user token、key[、value] 调用时检查 task id 和 user token 调用后返回对应 task id 对应 key 的旧 value,如果提供了 value,则更新 user token 和 task id 也可以合并为 task token,但代码量会变大 允许外部访问 需要实现 user token,需要实现 task id 魔法变量(可选) 用户需确保 user token 不泄露,网站管理员需要确保模板无恶意行为
原本设想的是只实现内部访问,看了 @Mark-1215 的案例后感觉可以加上外部访问,和其他中间人配合实现自动更新。 比如与 Mark-1215 使用的 V2P 配合,从网络流量中无感获取 cookies(但感觉不安全,对性能可能也会有影响) 比如写个浏览器拓展,定时更新 cookies、UA,应该对过 CF 有一定帮助(? 而且这个模式再加点代码就可以实现 https://github.com/qiandao-today/qiandao/issues/332 了
自动更新 cookies 这个特性很有用。 关注一下。
Verify steps
Describe the Feature
简单来讲,我是想在当前的框架下实现 task 的变量的长效存储。
实现长效存储用处有很多,比如很多签到模板是先登录后签到的,实现长效存储就可以避免每次运行都执行登录流程;又比如某些网站的 cookies 是每次访问都会刷新,旧 cookies 在一段时间后会失效。
Describe the solution
草案
目前设想中的 API 有三个参数:task ID,变量名和变量值。 其中 task ID是魔法变量,task 运行时可直接访问。 调用 API 设置变量后,下次运行时生效。 以
_
开头的变量为隐藏变量,不会在任务编辑界面显示。潜在的安全隐患
_proxy
,导致信息泄露。 这个恶意覆盖问题可以通过签名认证的方式解决,但我觉得没有必要。我认为在订阅模板是和在电脑上安装软件同类型的操作,订阅时就代表网站管理员信任了模板,其中的安全问题应由订阅者承担。计划
如果没问题的话,我可能会在实现了 API 插件化之后 https://github.com/qiandao-today/qiandao/issues/354 着手这个功能
Describe alternatives
No response
Additional context
No response