littlebot
Published on 2025-04-13 / 1 Visits
0

【源码】基于Node.js的Google Drive文件管理系统

项目简介

本项目基于Node.js开发,为用户提供快速、高效且便捷的Google Drive文件管理方式。支持基本的文件统计、复制、去重等功能,还可通过Telegram机器人进行交互操作,适用于有大量Google Drive文件管理需求的企业、团队和个人。

项目的主要特性和功能

  1. 统计功能:快速统计指定目录的文件信息,支持以html、table、json等形式导出结果,支持中断恢复,统计信息记录在本地数据库文件。
  2. 复制功能:将任意目录的所有文件拷贝到指定目录,支持中断恢复,可根据文件大小过滤。
  3. 去重功能:对指定目录去重,删除同一目录下md5值相同的文件(仅保留一个),并删除空目录。
  4. HTTP API接口:完成配置后,可部署在能正常访问谷歌服务的服务器,提供文件统计的http api接口。
  5. 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参数。

个人帐号配置

  1. 命令行执行rclone config file找到rclone的配置文件路径。
  2. 打开rclone.conf文件,找到client_idclient_secretrefresh_token这三个变量,将其分别填入项目下的config.js中,注意要符合JavaScript的对象语法。
  3. 执行node check.js,若返回谷歌硬盘根目录的数据,则说明配置成功。

Bot配置

  1. https://core.telegram.org/bots#6-botfather获取Bot的token,填入config.js中的tg_token变量。
  2. 获取自己的Telegram username,填入config.js里的tg_whitelist数组,以配置白名单。
  3. 若在服务器上配置,可直接执行npm i pm2 -g;若之前在本地操作,需在服务器上重复配置步骤后执行此命令。
  4. 执行pm2 start server.js --node-args="--max-old-space-size=4096"启动代码,代码运行后会监听23333端口。
  5. 配置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】