gd-utils
gd-utils copied to clipboard
如果你有功能需求,请先阅读
我会在这里汇集已经出现过的功能需求,提交新功能请求时请先读完本issue以防重复。
你可以在对应的楼层使用GitHub提供的emoji(楼层右上角的笑脸符号) 来表达对此需求的态度。
我会根据下列因素考量需求的优先度 1、我本人有需求 2、很多人有需求 3、工作量
如果有人愿意参与实现,PR is more than welcome😄
i18n(多语言支持)
工作量从1到5,这个可以给到 4/5
相关issue: https://github.com/iwestlin/gd-utils/issues/94
文件过滤功能
目前gd-utils只能根据文件大小过滤要拷贝的文件,无法通过后缀名、通配符、黑名单等更详尽的方式
工作量:1/5 相关issue:https://github.com/iwestlin/gd-utils/issues/112
复制自动跳过已存在文件(也就是sync功能)
gd-utlis的机制是在本地数据库保存拷贝记录,这样就省去了向Google查询某文件是否拷贝的时间。 但是这样的缺点是它只能对自己创建的任务进行增量更新,对于别的工具创建的目录,它会无视其存在重新创建。
工作量:5/5 相关issue:https://github.com/iwestlin/gd-utils/issues/110
实现思路:https://github.com/iwestlin/gd-utils/issues/140#issuecomment-666449895 欢迎PR😀
增加执行sql语句命令
这个实现起来可以简单也可以复杂,简单点直接
const {db} = require('./db')
const sql = `blablabla`
db.exec(sql)
复杂点做成phpmyadmin那样的webUI工作量就大了去了,100/5 也不夸张。。 GitHub上有一些开源的sqlite管理软件,我只用过https://sqlitebrowser.org/ ,其他没有仔细调研过
工作量:3/5 相关issue:https://github.com/iwestlin/gd-utils/issues/111
定时清理数据库内容
gd-utils默认把所有获取过的文件信息都保存在 gdurl.sqlite
里,这个文件会越来越大。
我粗略估计,每保存100万条文件信息,数据库文件会增大100~200M左右
工作量:1/5 相关issue:https://github.com/iwestlin/gd-utils/issues/92
添加清空回收站的功能
清空回收站应该需要sa是管理者
的权限,大多数人的sa估计是内容管理者
gd-utils did not support delete files from trash yet, but you can use gclone:
gclone delete DriveName:{team-drive-id} --drive-trashed-only --drive-use-trash=false --verbose=2 --fast-list
replace DriveName to the name in your gclone config file, and team-drive-id of course, then it should work
工作量:2/5 相关issue:https://github.com/iwestlin/gd-utils/issues/30
支持多个主用帐户自动切换
这个功能应该比较小众?
工作量:2/5 相关issue:https://github.com/iwestlin/gd-utils/issues/36
将tg机器人的webhook方式改成轮询update,从而省去nginx配置、域名解析等工作
工作量:4/5
不夸张的说,项目开源以来,我花在它上面的时间一半以上是在解答tg机器人的配置问题……
这很大程度是因为我选择了webhook方式连接tg机器人……算是决策失败的案例了。。
对于我自身而言,webhook是更方便高效的方式,代码上也好实现一些。 因为我有相关经验,也有服务器和域名等资源,所以一开始就选择了这种方式。
但是对很多人而言配置一个web服务实在太难了,坑太多了。。
不过反过来想,能搞定的都是有折腾能力的用户,而且学会了这项技能说不定能受益终生,何乐而不为呢?
给机器人添加停止任务/重启任务的功能
工作量:4/5
最初我是把这个项目当作命令行工具来写的,所以停止任务可以简单的 ctrl+c,重启任务直接使用上次的命令,但是对于tg机器人用户就不大方便了。
目前想要中断tg机器人进行的任务,需要在服务器上执行pm2 reload server
,继续任务可以输入和上次相同的指令。
如果能有一个按钮来暂停/恢复,确实能方便不少
将tg机器人的webhook方式改成轮询update,从而省去nginx配置、域名解析等工作
工作量:4/5
不夸张的说,项目开源以来,我花在它上面的时间一半以上是在解答tg机器人的配置问题……
这很大程度是因为我选择了webhook方式连接tg机器人……算是决策失败的案例了。。
对于我自身而言,webhook是更方便高效的方式,代码上也好实现一些。 因为我有相关经验,也有服务器和域名等资源,所以一开始就选择了这种方式。
但是对很多人而言配置一个web服务实在太难了,坑太多了。。
不过反过来想,能搞定的都是有折腾能力的用户,而且学会了这项技能说不定能受益终生,何乐而不为呢?
这点严重同意,首选高效的,难度不是问题,多折腾点时间能学很多东西。我从colab到自建服务器搭建t-bot(结果因为证书问题,搞的我的网络上不了所有网站,因为SSL的问题),后来转到VPS搭建bot,遇到了各种坑,通过解决这些坑的过程,明白了很多原理,大神的的这个观点严重同意,任何事情,pain means progress。在解决问题的过程中,也得到了大神的很多帮助,再次感谢,也祝这个项目越来越好。
我已经整合成 省去nginx配置、域名解析等工作的gd-utils了。 https://github.com/dissipator/gd-utils
如果楼主能手我也就不用合并了,或许也给作者提供一个思路,修改如下:
- 把server.js 变成了index.js,
- 没明白代理处的代码就去掉了。 其他均无变化
如果楼主能手我也就不用合并了,或许也给作者提供一个思路,修改如下:
- 把server.js 变成了index.js,
- 没明白代理处的代码就去掉了。 其他均无变化
多谢贡献,我等下把你的仓库加到readme
我简单看了下telebot的源码,它也是用了轮询的方法获取消息更新 https://github.com/mullwar/telebot/blob/eaeea70a04639376ec7f77b106c89c062c479e31/lib/telebot.js#L202
这个功能如果要实现的话我不打算新增这个依赖,因为用户更新的话要手动npm i telebot
,有些人如果不仔细读更新说明或者用的是自动更新脚本的话,容易掉进坑里。。
给机器人添加停止任务/重启任务的功能
理解,目前https://github.com/dissipator/gd-utils 已经加入/update 和 /restart 功能,前提是bot使用PM2启动的
希望能增加一个在bot move 文件或文件夹,del 文件或文件夹。查看文件或文件夹id和创建分享链接的功能。
可以增加指定源盘的配置文件config或者指定源盘的sa吗?而不是源盘和目的盘都使用同样的config.js或者sa,这样太局限了 因为很多情形下源盘和目的盘的权限组不同
另外copy命令的-sa参数指定sa目录无效...可以在copy 和count等命令加上-sa参数吗?
还有就是...希望作者能够照顾命令行用户.在readme说明详细说明命令参数使用, 因为这是一个gd工具,使用命令行的话比较简单,由于转存一键脚本的使用,很方便...添加详细的命令说明,便于小白使用和推广...
还有就是希望数据库可以升级为网络数据库 如果需要多台服务器同时使用1个数据库,在多点备份场景中,譬如a机复制1-2,b机复制2-3.c机复制3-4.......同时运行...单机的数据库就力不从心了..........
希望可以增加别名功能, 网盘的id太复杂,期望可以支持别名.便于记忆...
目前GOOGLE 限制传输容量,是否可以加一个选项,显示当前任务已复制的容量,方便判断错误是什么原因引起的
GD资源很多,有整理和分类的需求,能否加一个目录名过滤的功能,比如包含某个字符串(如”2020“)之类才给复制