2.本文所使用环境为 DigitalOcean 的 Debian 11。
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版本:
安装pm2:
2.上传SA授权文件到VPS,这里使用/root/sa
3.安装GD-utils
安装依赖时旧版本系统可能会出错,目前仅测试在 Digital Ocean 和 腾讯云 Debian 11系统下使用node版本v18.0.0,npm版本8.6.0下可以成功安装。
4.配置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_secret
和 refresh_token
这三个变量,将其分别填入本项目下的 config.js
中,需要注意这三个值必须被成对的英文引号包裹,且引号后以英文逗号结尾,也就是需要符合JavaScript的对象语法
5.启动GD-utils
代码运行后会在服务器监听23333端口。
若要开机自启服务,参考这篇文章。
然后需要用nginx在本地起一个web服务反代23333端口,示例nginx配置:
如果你是小白,建议使用宝塔面板。
这里简单说一下流程:首先安装宝塔面板,官方脚本:https://www.bt.cn/new/download.html
软件商店搜索安装nginx,默认版本,选择快速安装,

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

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


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

检查网站是否部署成功,可以命令行执行(请将example.com替换成你自己的网址):
返回 gd-utils 成功启动 说明部署成功。
最后执行:
如果返回 {“ok”:true,”result”:true,”description”:”Webhook was set”} ,则说明你的服务器连接上你的bot了,给自己的电报机器人发送 /help,如果它回复给你使用帮助,那就配置成功了。