项目简介
本项目基于Node.js开发,为用户提供快速、高效且便捷的Google Drive文件管理方式。支持基本的文件统计、复制、去重等功能,还可通过Telegram机器人进行交互操作,适用于有大量Google Drive文件管理需求的企业、团队和个人。
项目的主要特性和功能
- 统计功能:快速统计指定目录的文件信息,支持以html、table、json等形式导出结果,支持中断恢复,统计信息记录在本地数据库文件。
- 复制功能:将任意目录的所有文件拷贝到指定目录,支持中断恢复,可根据文件大小过滤。
- 去重功能:对指定目录去重,删除同一目录下md5值相同的文件(仅保留一个),并删除空目录。
- HTTP API接口:完成配置后,可部署在能正常访问谷歌服务的服务器,提供文件统计的http api接口。
- Telegram Bot支持:配置完成后,上述功能均可通过Telegram Bot操作。
安装使用步骤
环境配置
若网络环境无法正常访问谷歌服务,需在命令行进行如下配置:
http_proxy="YOUR_PROXY_URL" && https_proxy=$http_proxy && HTTP_PROXY=$http_proxy && HTTPS_PROXY=$http_proxy
请将YOUR_PROXY_URL
替换成自己的代理地址。
依赖安装
执行npm install --unsafe-perm=true --allow-root
安装依赖,部分依赖可能需要代理环境才能下载。
Service Account配置
强烈建议使用Service Account(SA),SA授权文件获取方法可参考:
- 中文http://blog.jialezi.net/?post=153
获取到SA的json文件后,将其拷贝到sa
目录下。若不需要对个人盘下的文件进行操作,命令行执行命令时,记得带上-S
参数。
个人帐号配置
- 命令行执行
rclone config file
找到rclone的配置文件路径。 - 打开
rclone.conf
文件,找到client_id
、client_secret
和refresh_token
这三个变量,将其分别填入项目下的config.js
中,注意要符合JavaScript的对象语法。 - 执行
node check.js
,若返回谷歌硬盘根目录的数据,则说明配置成功。
Bot配置
- 在https://core.telegram.org/bots#6-botfather获取Bot的token,填入
config.js
中的tg_token
变量。 - 获取自己的Telegram username,填入
config.js
里的tg_whitelist
数组,以配置白名单。 - 若在服务器上配置,可直接执行
npm i pm2 -g
;若之前在本地操作,需在服务器上重复配置步骤后执行此命令。 - 执行
pm2 start server.js --node-args="--max-old-space-size=4096"
启动代码,代码运行后会监听23333
端口。 - 配置nginx或其他工具起一个web服务,示例nginx配置如下: ``` server { listen 80; server_name your.server.name;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:23333/;
}
}
``
6. 命令行执行
curl 'YOUR_WEBSITE_URL/api/gdurl/count?fid=124pjM5LggSuwI1n40bcD5tQ13wS0M6wg'检查网站是否部署成功。
7. 执行
curl -F "url=[YOUR_WEBSITE]/api/gdurl/tgbot" 'https://api.telegram.org/bot[YOUR_BOT_TOKEN]/setWebhook'将服务器连接到Telegram Bot,给Bot发送
/help`,若收到回复则配置成功。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】