本文最后更新于2022.5.1

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

  1. iCopy与Gclone和AutoRclone不同的是,后两者由于谷歌对单一用户API请求的限制,注定无法将调用频率调的很高,否则容易触发Google限制。而iCopy一次API请求随机更换一个SA,若有100个SA,每秒发出100个API请求,平均每个SA每秒只调用一次API,大大降低单用户API调用频率且提高了转存速度。

  2. 本文所使用环境为 DigitalOcean 的 Ubuntu 20.04。

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

下面教程正式开始:

1.创建TGbot:

在TG搜索框内搜索 @BotFather 输入 /newbot 输入bot名和bot username(注意:bot username必须以bot结尾),记录创建好的bot_token值。

636f217a62fc7.png

2. 获取 TG userid

在TG搜索框内搜索 @get_id_bot 点击开始或输入 /start ,记录返回的 Chat ID。

636f219f3b789.png

3. 创建mongoDB数据库

由于iCopy只支持mongoDB数据库,所以我们来创建一个云数据库(本地数据库也可以,自行谷歌,本教程使用云数据库)

这一步网站是英文的,跟着我一步一步来就行了。

首先打开:https://account.mongodb.com/account/login

注册账号或者用Google账号关联登陆,进入后出现下面这个界面:

636f21b9adec5.png

组织名字随便,英文就行,直接点next:

636f22262e1d3.png

636f223bd4718.png

组织创建完成后,点击创建项目:

636f225346936.png

636f25ffdd89e.png

636f260dd9be6.png

创建好项目之后终于可以创建数据库了:

636f2621ae73b.png

我们选择免费就行了,土豪随意

636f262fd3bfe.png

接下来选择云服务商,AWS、GCP、Azure都可以,选择地理位置离自己的服务器近的,这里我选择GCP的台湾,数据库名保持默认,或者自己修改都可以

636f264cdac53.png

创建好数据库后,点击connect进行连接配置

636f2669bd7a9.png

这一步是配置什么IP可以访问你的数据库,0.0.0.0/0是允许任何IP访问,由于我是做演示,所以选择了任何IP都可以访问,建议大家填写自己VPS的IP地址,更加安全。

usernamepassword是数据库用户和密码,一定要牢记。

636f267d2b673.png

636f269248e12.png

安全组配置完毕后,点击connect your application

636f26b5bd32d.png

选择Python 3.6 or later 绿色箭头所指的链接就是你的数据库完整地址(你需要将 password 换成自己设置的密码,将 myFirstDatabase 换成数据库名)

但iCopy不需要完整的数据库名,我们只需要截取@和/之间的一部分作为数据库地址就可以了

例如下图这个,iCopy用得到的数据库地址为:cluster0.2idad.mongodb.net

PS : 不要连接我的数据库,教程结束后会删除数据库。

636f26ca369fb.png

接下来使用SSH连接VPS,接下来的操作均在VPS上进行,

4.安装fclone

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

5.安装python环境

1
apt install python3 python3-pip -y

6.安装iCopy

1
2
3
4
5
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

下面是需要修改的配置:

1
2
3
4
5
6
7
8
9
10
11
token = "TG BOT API TOKEN"
usr_id = "user id HERE"
db_connect_method = "mongodb+srv"
db_addr = "数据库地址"
db_name = "数据库名"
db_user = "数据库用户名"
db_passwd = "数据库密码"
remote = "rclone配置的盘名"
parallel_t = 512 #根据自己需求,越大越快越消耗资源
parallel_c = 512 #根据自己需求,越大越快越消耗资源
sa_path = "sa文件夹路径"

7.启动iCopy

1
2
python3 iCopy.py #前台运行
screen -dmS iCopy which python3which python3which python3 iCopy.py #后台运行

大功告成了!!现在可以尝试与自己的bot对话了,发送 /start 如有反应则部署成功!

8**. iCopy bot 使用方法**

对 @botfather 发送/mybots

选择创建的bot

选择Edit bot–Edit commands

发送:

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

设置转存文件夹

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

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

转存实操

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

快速转存:发送/menu,选择极速模式,发送分享链接就可以了。