一、前言:

1.本教程是建立在已有SA授权文件基础上的,若没有授权文件,先戳这里:通过AutoRclone批量生成SA文件

2.本文所使用环境为 DigitalOcean 的 Debian 11。

DigitalOcean注册地址:https://m.do.co/c/76209bc8b100 (注册即可获得100刀的额度,可使用60天)

3.与iCopy不同的是,GD-utils并不依赖rclone、fclone,具体介绍请看官方说明:

https://github.com/iwestlin/gd-utils/blob/master/compare.md

4.原项目已在github开源,项目地址:https://github.com/iwestlin/gd-utils

5.需要准备一个域名,解析到自己服务器ip上。

6.本项目需要一定耐心和细心。

二、部署教程

1.搭建环境

项目使用nodejs编写,需要安装nodejs环境,建议使用 nvm 来管理node版本:

1
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash && source ~/.bashrc && nvm install node && node -v && npm -v

安装pm2:

1
npm i pm2 -g

2.上传SA授权文件到VPS,这里使用/root/sa

3.安装GD-utils

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

npm install --unsafe-perm=true --allow-root

安装依赖时旧版本系统可能会出错,目前仅测试在 Digital Ocean 和 腾讯云 Debian 11系统下使用node版本v18.0.0,npm版本8.6.0下可以成功安装。

4.配置config.js

1
nano config.js

需要修改的有:

const DEFAULT_TARGET = ‘团队盘ID’
client_id: ‘填入自建rclone client id’,
client_secret: ‘填入自建rclone client secret’,
refresh_token: ‘刷新令牌’,
tg_token: ‘你的 telegram robot 的 token’,
tg_whitelist: [‘你的tg username’] // bot只会执行这个列表里的用户所发送的指令

自建client id 和 secret 很简单,参考这篇文章

用rclone配置一遍团队盘,然后命令行执行 rclone config file 找到 rclone 的配置文件路径,打开这个配置文件 rclone.conf, 找到 client_id, client_secretrefresh_token 这三个变量,将其分别填入本项目下的 config.js 中,需要注意这三个值必须被成对的英文引号包裹,且引号后以英文逗号结尾,也就是需要符合JavaScript的对象语法

5.启动GD-utils

1
pm2 start server.js --node-args="--max-old-space-size=1024"

代码运行后会在服务器监听23333端口。

1
2
3
4
pm2 logs #查看日志
pm2 l #查看守护进程列表
pm2 reload server #修改代码后需重启服务生效
pm2 stop 进程名称 #停止运行中的服务

若要开机自启服务,参考这篇文章

然后需要用nginx在本地起一个web服务反代23333端口,示例nginx配置:

1
2
3
4
5
6
7
8
9
10
11
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/;
}
}

如果你是小白,建议使用宝塔面板。

这里简单说一下流程:首先安装宝塔面板,官方脚本:https://www.bt.cn/new/download.html

软件商店搜索安装nginx,默认版本,选择快速安装,

img

将域名解析到你服务器ip上,点击网站,新建站点,输入自己的域名,

img

在设置里申请ssl证书,并开启强制https(必须步骤),

图片[1]-GD-utils(谷歌百宝箱)详细教程,快速转存Google Drive文件
img

点击反向代理,创建一个新的反向代理到23333端口

img

检查网站是否部署成功,可以命令行执行(请将example.com替换成你自己的网址):

1
curl 'https://example.com/api/gdurl/count?fid=124pjM5LggSuwI1n40bcD5tQ13wS0M6wg'

返回 gd-utils 成功启动 说明部署成功。

最后执行:

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

如果返回 {“ok”:true,”result”:true,”description”:”Webhook was set”} ,则说明你的服务器连接上你的bot了,给自己的电报机器人发送 /help,如果它回复给你使用帮助,那就配置成功了。