本文最后更新于2022.5.1
Google Drive资源团队盘购买:https://goto.haogeboke.com/,上百T资源。
一、前言:
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版本:
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:
npm i pm2 -g
2.上传SA授权文件到VPS,这里使用/root/sa
3.安装GD-utils
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
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_secret
和 refresh_token
这三个变量,将其分别填入本项目下的 config.js
中,需要注意这三个值必须被成对的英文引号包裹,且引号后以英文逗号结尾,也就是需要符合JavaScript的对象语法
5.启动GD-utils
pm2 start server.js --node-args="--max-old-space-size=1024"
代码运行后会在服务器监听23333端口。
pm2 logs #查看日志
pm2 l #查看守护进程列表
pm2 reload server #修改代码后需重启服务生效
pm2 stop 进程名称 #停止运行中的服务
若要开机自启服务,参考这篇文章。
然后需要用nginx在本地起一个web服务反代23333端口,示例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/;
}
}
如果你是小白,建议使用宝塔面板。
这里简单说一下流程:首先安装宝塔面板,官方脚本:https://www.bt.cn/new/download.html
软件商店搜索安装nginx,默认版本,选择快速安装,
将域名解析到你服务器ip上,点击网站,新建站点,输入自己的域名,
在设置里申请ssl证书,并开启强制https(必须步骤),
点击反向代理,创建一个新的反向代理到23333端口
检查网站是否部署成功,可以命令行执行(请将example.com替换成你自己的网址):
curl 'https://example.com/api/gdurl/count?fid=124pjM5LggSuwI1n40bcD5tQ13wS0M6wg'
返回 gd-utils 成功启动 说明部署成功。
最后执行:
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,如果它回复给你使用帮助,那就配置成功了。
暂无评论内容