前言:转存Google Drive资源一直不是一件容易的事情,Rclone系程序是现在最常用的手段,虽然现在针对Google Drive进行针对优化的魔改版Rclone已经足够好用,但是每次手动敲命令操作还是有些麻烦。iCopy的出现能很大程度上提高转存效率。iCopy是后端利用Fclone(Rclone的魔改版)转存文件,前端对接了Telegram Bot(TG机器人)进行控制的一个优秀工具,使用它你可以达到这样的效果:在Telegram聊天窗口将分享链接发给转存Bot,然后选择目标文件夹,Bot就会自动发送指令给VPS,使VPS上的Fclone自动将链接中的文件转存到指定文件夹中。

本文全程在Debian 9环境下进行操作。提供的命令大多在/root/iCopy目录下运行。

2020.08.10更新:新增开机启动脚本

准备工作

创建Bot

首先创建一个TG Bot,在搜索框输入@BotFather,并点击进入对话。

创建机器人_1

点击输入框位置的“开始/Start”,它会给你发送一条消息告诉你如何使用,我们直接输入/newbot开始创建,然后依照它的回复提示,我们接着依次输入我们为Bot设置的昵称和用户名,注意用户名必须以bot三个字母作为结尾,如下图:

设置Bot名称

一切设置完毕后,他会发过来一个消息告诉我们Bot创建成功,并附上了Bot的token(红框部分),这是稍后连接Bot的通行证,我们将这段token复制下来先粘贴到其他地方保存下来以备后面使用。

获得token

获取USER_ID

在搜索框输入@userinfobot,并点击进入对话。进入对话窗口后,点击输入框位置的“开始/Start”,它会给出你的ID,我们将Id后面的数字复制下来,先粘贴到其他地方保存下来以备后面使用。

获取USERID

创建数据库

iCopy需要使用MongoDB数据库,本文将使用mLab提供的免费在线数据库进行操作,如果你想在本地搭建MongoDB数据库,请自行搜索教程搭建。

如果你已经自己搭建好了MongoDB数据库,请点击右侧目录跳到安装所需软件继续阅读

打开MongoDB官网,点击Start free,填入相关信息进行注册。

注册MangoDB

注册成功后,在下图界面选择FREE套餐。

选择免费计划

下面选择数据库的地理位置,这个要选择离你VPS位置最近的地方,就比如我的VPS位置是日本东京,所以我就选择了GCP的Tokyo位置的数据库。下方的Cluster Name是数据库名称,我这里保持了默认。

选择数据库位置

接下来需要等待1-3分钟才可以创建完成,创建完成后,我们点击网页中的CONNECT。

设置DB

下面进行设置,首先添加允许连接数据库的IP,你有两种选择:你可以只允许你的VPS连接数据库,那就点击红色箭头指的“Add a Different IP Address”;也可以允许来自任何IP的连接,那就点蓝色箭头指的“Allow Access from Anywhere”。此处我按照第一种选择来,只允许我的VPS连接数据库。

输入你的VPS的IP(如果你选择允许所有IP的连接,这个框里会自动填好内容),点击Add IP Address,

然后在下面设置好数据库的用户名和密码记好,之后要用到。

然后我们点击右下角绿色的“Choose a connection method”进入下一步,这里我们选择第二个“Connect your application”。

来到这一步,我们把“DRIVER”选择为Ptyhon,VERSION选择3.6 or later,然后将红框内文字内容中“@”之后的内容复制下来(图中涂黑部分),这就是数据库地址,粘贴到其他地方留着一会儿使用,注意其中的<dbname>要更换成你的数据库名称,我之前创建的时候保持了默认,就是Cluster0,数据库地址示例如下:

cluster0.avbqq.gcp.mongodb.net/Cluster0?retryWrites=true&w=majority

安装所需软件

在VPS上运行以下指令

apt-get update
apt-get install screen unzip wget git nano -y

安装Python 3.8

如果本机已有Python 3.8环境,请点击右侧目录跳到生成SA账户继续阅读

在ssh中运行以下命令编辑软件源。

nano /etc/apt/sources.list

在末尾添加这一行

deb http://ftp.de.debian.org/debian testing main

添加软件源

Ctrl+X保存,按键盘Y确定保存,然后按回车(Return)保存成功。然后依次运行下面的几条命令

apt-get update
apt-get install python3.8 -y

运行上面这一条命令后遇到意外的可以点开看一下

如果在运行上面那一条命令之后弹出这个窗口,不用害怕,一路回车就可以回车就好

update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
apt-get install python3-pip -y

使用命令python3 -V检查是不是3.8版本 ,以及使用命令pip3 -V检查是不是关联3.8,确认版本正确就可以进行下一步了

生成SA账户

如果你已经生成过SA账户,请点击右侧目录跳到安装Fclone继续阅读

若要生成SA账户,请参考下面幽游地博主@余十一的文章。

下面这篇文章从目录中的『安装详细过程』-『安装AutoRclone』这一步开始看,一直到看完『安装详细过程』-『将service accounts加入Google Groups』-『Group邮箱添加到TeamDrive』这一步就停止,只看这中间的内容,不要看其他部分的内容,否则会有冲突!

文章地址:AutoRclone配合gclone突破GoogleTeamDrive750G流量限制

安装Fclone

在ssh中运行以下命令安装Fclone

bash <(wget -qO- https://git.io/JJYE0)

如果你之前正在使用gclone工具并且正确配置了网盘和SA账户,请点击右侧目录跳到安装iCopy继续阅读

如果没有,请参考下面幽游地博主@余十一的文章。

下面这篇文章请仅看目录中的『如何使用』-『配合gclone』-『配置gclone』这一步,看完这一步就停止,只看这中间的内容,不要看其他部分的内容,否则会有冲突!并且文中提到的所有命令都要把“gclone”换成“fclone”在运行!

文章地址:AutoRclone配合gclone突破GoogleTeamDrive750G流量限制

安装iCopy

在VPS上安装

拉取iCopy最新代码并进入文件夹。

git clone https://github.com/fxxkrlab/iCopy.git && cd iCopy

设置权限

chmod +x iCopy.py

安装依赖

pip3 install -r requirements.txt

生成配置文件

cp config/conf.toml.example config/conf.toml

编辑配置文件

nano config/conf.toml

按图所示进行修改

修改后依旧Ctrl+X保存,按键盘Y确定保存,然后按回车(Return)保存成功。

我们可以试运行一下脚本,看能不能启动成功

python3 iCopy.py

出现几个warning不要紧,只要出现图中红框部分的那一行字,就算运行成功。

启动成功

不过这样子启动,一旦断开SSH机器人也会马上掉线,所以我们可以使用screen让他后台运行:

screen -dmS iCopy `which python3` iCopy.py

用screen启动后,如果想要停止运行:

screen -X -S iCopy quit

导入机器人指令

现在的机器人只是启动成功了,但是还无法正常使用,我们需要手动导入指令,在TG找到@BotFather,发送/mybots,选择你刚刚创建的bot。

复制下面的文本,按下图所示添加指令

menu - 主入口/选择模式
quick - 极速模式
copy - 自定义模式
set - 自定义设置
cancel - 取消对话
size - 查询大小
reset - 重置任务(后面可跟id)
dedupe - 删除重复文件
purge - 清空指定盘回收站
task - 任务查询
kill - 杀死进程中任务
ver - 检查iCopy版本
restart - 重新启动iCopy

添加指令

然后你就可以使用完整命令的Bot了。

使用Bot转存

设置转存文件夹

在TG聊天窗口给Bot发送/set quick + 文件夹ID以添加一个(最多一个)快速转存文件夹

在TG聊天窗口给Bot发送/set quick - 文件夹ID以删除一个(最多一个)快速转存文件夹

在TG聊天窗口给Bot发送/set fav + 文件夹ID以添加一个(数量无上限)书签文件夹

在TG聊天窗口给Bot发送/set fav - 文件夹ID以删除一个(数量无上限)书签文件夹

转存实操

设置好至少一个转存文件夹后,我们就可以开始转存操作了。

快速转存:发送/menu,选择极速模式,发送分享链接

自定义模式同理,只是多了一步选择目标位置(从添加的书签文件夹里选)。

开机自启

有些小伙伴说需要开机自启,这里也顺便提一下。

如果你选择已经使用screen启动了程序,先用screen -X -S iCopy quit关掉它

创建启动脚本:

cd /root/iCopy
nano start.sh

输入以下内容,并保存文件。

#! /bin/bash

cd /root/iCopy
python3 iCopy.py

赋予权限:

chmod +x start.sh

将以下代码一起复制到SSH运行

cat > /etc/systemd/system/icopy.service <<EOF
[Unit]
Description=icopy
After=network.target

[Service]
ExecStart=/root/iCopy/start.sh

[Install]
WantedBy=multi-user.target
EOF

然后启动服务并设置开机自启

systemctl start icopy
systemctl enable icopy
最后修改:2022 年 12 月 30 日
如果觉得我的文章对你有用,请随意赞赏