安装gd-utils的前提是已经配置好rclone或gclone

1 配置gclone

以下教程选其一即可。
http://fxxkr.com/2020/03/27/autorclone-gclone-googledrive/
https://shikey.com/2020/05/22/win10-gclone-autoclone-750g.html

2 配置gd-utils百宝箱


2.1 首先安装宝塔

更多详细内容请关注官方:https://bt.cn/bbs/thread-19376-1-1.html

2.1.1 Centos安装命令

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

2.1.2 Ubuntu/Deepin安装命令

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

2.1.3 Debian安装命令

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

2.1.4 Fedora安装命令

wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh


2.2 安装LNMP

安装好宝塔面板后,根据提示安装web环境,LAMP或LNMP,推荐LNMP。

lamp 的全称是linux + apache + mysql +php
lnmp 的全称是linux + nginx + mysql +php

2.3 配置WEB

2.3.1 放行23333端口

宝塔——安全——防火墙——放行端口:23333——备注/说明:bot——放行

放行23333端口
放行23333端口

2.3.2 建立一个网站

新增一个网站并绑定域名
新增一个网站并绑定域名

2.3.3 设置好SSL

设置SSL
设置SSL

2.3.4 设置反向代理

设置反向代理并点击提交
设置反向代理并点击提交

代理名称:自定
目标URL:http://127.0.0.1:23333
提交
访问网址,如果出现“not found”说明成功。debian10一次性成功。
甲骨文ubuntu20.04一直“502 Bad Gateway”错误,未解~!

2.3.5 安装PM2

宝塔——软件商店——搜索PM2——安装
宝塔——软件商店——搜索PM2——安装


2.4 配置gd-utils环境

2.4.1 克隆项目到本地

登陆SSH连接终端克隆项目到本地

git clone https://github.com/iwestlin/gd-utils && cd gd-utils

2.4.2 安装依赖

npm i

如果提示:npm: command not found,执行

apt-get install npm

如果提示:Error: not found: make等,执行:(有些命令前要加sudo,比如sudo apt-get install...)

apt-get install make//安装make
rm -rf /root/gd-utils/node_modules//删除node_modules
npm i//重新安装依赖

如果再出错,执行以下命令:(删除 /root/​gd-utils 目录下的 node_­mod­ules,安装)

rm -rf /root/gd-utils/node_modules//删除node_modules
npm install --unsafe-perm=true --allow-root

2.4.3 PM2里添加项目并保存

npm i pm2 -g

在PM2管理器中添加以下项目自动运行。

cd /gd-utils/
pm2 start server.js

或者在宝塔——软件商店——PM2管理器里添加
项目所在根目录:找到root目录——gd-utils目录
启动文件名称:server.js
项目名称:server
切记项目名称为server,不能是server.js,如果是这样会有错误提示,有教程有这个抗

PM2管理器添加启动项目
PM2管理器添加启动项目

回到宝塔首页安全选项可以看到23333端口正在使用中如果显示未使用则没有启动成功。

2.4.4 保存PM2的项目

如果服务器即VPS重启后,gd-utils失效,请参考下面设置:

宝塔linux面板node.js项目服务器重启丢失,pm2列表被删除清空解决方案:
保存项目:pm2 save
最后开机启动:pm2startup

2.4.5 建立SA账号

SA即服务帐号(service account),是由应用或虚拟机 (VM) 实例(而非单个用户)使用的特殊帐号。应用使用服务帐号来执行已获授权的 API 调用。
获取方法请参见“本文开头以下教程选其一即可
rclone或gclone可以在Windows下配置,也可以在Linux下配置。

2.4.5.1 Windows环境

请直接把account下的.json文件上传到gd-utils目录的sa目录下(宝塔面板——文件管理——root——gd-utils——sa)。

2.4.5.2 Linux环境
cd /root/AutoRclone/accounts/
cp -r ./* /root/gd-utils/sa

接着回到sa目录(cd /root/gd-utils/sa),输入ls你会看到你复制过来的sa:

成功复制过来的sa下的.json文件
成功复制过来的sa下的.json文件

记住群组的邮件地址并加入谷歌共享硬盘,给管理员权限。
登陆https://drive.google.com/——共享网盘——找到你的网盘——右键——管理成员——添加用户和群组——添加你的群组——设置管理员

群组的邮件地址
群组的邮件地址

注意,AutoRclone 将 SA 加入 group 的脚本有点问题,可能会加入不完全,而gd-utils混入未授权的SA文件会导致严重的问题。解决如下:

2.4.6 检查SA有效性

在项目目录下,执行 git pull 拉取最新代码
执行 ./validate-sa.js -h 查看使用说明
选择一个你的sa拥有阅读权限的目录ID,执行 ./validate-sa.js 你的目录ID
程序会读取sa目录下所有json文件,依次检查它们是否拥有对 你的目录ID 的阅读权限,如果最后发现了无效的SA,程序会提供选项允许用户将无效的sa json移动到特定目录。

将无效sa文件移动以后,如果你使用了pm2启动,需要 pm2 reload server 重启下进程。

2.4.7 个人账号配置

之前配置好rclone的,执行命令 cat /root/.config/rclone/rclone.conf 可以看到自己的client_id, client_secret 和 refresh_token 这三个变量,把这三个变量填入/root/gd-utils/config.js对应的项中 ,然后执行

node check.js

如果命令返回了你的谷歌硬盘根目录的数据,说明配置成功!

返回了你的谷歌硬盘根目录的数据
返回了你的谷歌硬盘根目录的数据

2.4.8 Bot创建与配置

首先在 https://core.telegram.org/bots#6-botfather 根据指示拿到 bot 的 token,然后填入 config.js 中的 tg_token 变量,还有不要忘记填入自己的电报用户名t.me/后面的“username”,记得格式为tg_whitelist: ‘username’,不要tg_whitelist: ‘t.me/username’【有教程这样抗人】

Bot创建与配置1
Bot创建与配置1

Bot创建与配置2
Bot创建与配置2

Telegram username 注意点
然后获取自己的telegram username,这个username不是显示的名称,而是tg个人网址后面的那串字符(设置——资料——用户名),tg网址是https://t.me/allmvp,用户名就是allmvp,获取用户名的目的是在代码里配置白名单,只允许特定的用户调用机器人。将username填入config.js里的配置,像这样:tg_whitelist: ['allmvp'],就代表只允许我自己使用这个机器人了。
如果想把机器人的使用权限分享给别的用户,只需要改成这样子:

tg_whitelist: ['allmvp','其他人的username']

2.4.9 测试配置是否成功

你的域名/api/gdurl/count?fid=124pjM5LggSuwI1n40bcD5tQ13wS0M6wg

curl 'YOUR_WEBSITE_URL/api/gdurl/count?fid=124pjM5LggSuwI1n40bcD5tQ13wS0M6wg'

有信息看是否提示成功

2.4.10 对接到电报Bot

在命令行执行(请将[YOUR_WEBSITE]和[YOUR_BOT_TOKEN]分别替换成你自己的网址和bot token)

curl -F "url=YOUR_WEBSITE/api/gdurl/tgbot" 'https://api.telegram.org/botYOUR_BOT_TOKEN/setWebhook'


2.5 更新并重启

cd gd-utils
git pull && pm2 reload server


2.6 重启PM2进程

注:所有改动后,必须重启PM2进程。
pm2 reload server


2.7 SA限制

1、 一个真实帐号最多能创建12(或25)个项目,每个项目最多100个SA账户,每个账户(无论是真实还是SA)每日最多上传750G
2、 一个共享云端硬盘最多添加600个账户
注:默认为12项目,可以免费申请更多。新建项目下面有申请扩容链接,50以下基本上秒批,自定义数量的,时间长短不一,有的可能要几小时!

英文版
英文版

中文版
中文版


2.8 谷歌群组人数和内容数量限制

1、一个群组24小时只能增加100个账号,新版群组,可以是一次性添加100个,老版群组只能10个一组的加,所以请切换为新版本,当前群组页面会有提示升级或降级。
2、GS也就是G Suite,不受限制,管理后台可以通过CSV 文件添加多位用户。并且可以群组套群组,比如B和C群组加入A群组。
3、一个共享云端硬盘最多可包含 40 万个文件和文件夹。

同一账号建多个群组,每天总添加人数只有100
同一账号建多个群组,每天总添加人数只有100

更多请参考:https://support.google.com/a/answer/7338880?hl=zh-Hans