搭建|一个使用Aria2下载并自动上传文件到OneDrive的Telegram Bot。

  • 首页 > 教程
  • 作者:jaz
  • 时间: 2021年1月12日 4:17
  • 字数:4162 个
  • 字号:
  • 评论:4 条
  • 浏览:21659 次
  • 百度:百度已收录
  • 分类: 教程
  • 时间:2021-1-12 4:17 热度:21659° 评论:4 条 


        之前介绍过能上传GoogleDrive的Telegram Bot(链接),这次这个能上传OneDrive(目前还支持GoogleDrive/天翼云/Mega),个人觉得一大亮点是根据硬盘大小分段下载、可选择bt文件和shell_bot功能(控制服务器文件)。另外Go语言编写,多平台支持,开箱即用。


        项目地址:https://github.com/gaowanliang/DownloadBot

        简介:一个可以控制你的Aria2服务器、控制服务器文件,同时可以上传到OneDrive的Telegram Bot。

        意义:这个项目主要就是利用吃灰小盘vps进行离线下载,对于大bt文件进行根据硬盘大小分段下载,每次都下载一部分,然后上传网盘,删除再下载其他部分,直到下载完所有文件。

        同时,通过机器人协议通信,方便在无法进行内网穿透的机器上进行使用,而且简化了平时使用下载程序的操作,提高了便利性。对于链接,直接向Bot发送消息就可以直接识别并下载,可以真正删除下载文件夹里的文件,是AriaNG等web面板无法做到的,作为管理下载的工具,及时通知下载完成都是非常的方便的。可以移动文件,对于通过rclone挂载硬盘的用户可以直接通过本程序进行复制粘贴等操作,无需打开ssh连接VPS进行cp操作,也非常的方便。

        实现:注意:本项目仍处于测试阶段,提交的Release仅供测试,现在下载后并不保证您的稳定使用,也不能保证下面所勾选的内容已经被实现。当真正可以正常使用的时候,我会提交 V1.0 版本(V1.0 版本不会实现下面全部功能,但是已经可以正常稳定的使用)




    下载方式:

    1、Aria2 控制

        持久化监控

        断线重连

    2、计划支持qb,CT,多服务器控制等功能


    机器人协议支持:

    1、Telegram Bot

    2、后续支持更多,QQ/钉钉


    功能:

    1、删除文件

    2、移动文件

    3、下载 HTTP/FTP 链接

    4、下载 Magnet 链接

    5、下载 BitTorrent 文件内的文件

    6、智能 BitTorrent/Magnet 下载方式

        只选择下载最大的文件

        根据文件大小智能选择文件,不选择小文件

    7、下载完成后,向 OneDrive 上传文件

    8、文件树输出系统


    特点:

    1、完全基于触摸,更容易使用,使用这个机器人基本不需要命令。

    2、实时通知,使用Aria2的Websocket协议进行通信。

    3、更好的配置文件支持。




    开始


    1、通过 @BotFather 创建您自己的bot并使用。

    2、下载本程序(https://github.com/gaowanliang/DownloadBot/releases),Go语言程序多平台支持,下载对应平台即可运行。

    3、在想要执行本程序的根目录配置config.json。

    4、运行可执行文件。(需要先安装aria2,推荐一键脚本https://github.com/P3TERX/aria2.sh)


    配置文件示例

    {
      "aria2-server": "ws://127.0.0.1:5800/jsonrpc",
      "aria2-key": "xxxxxxxx",
      "bot-key": "123456789:xxxxxxxxx",
      "user-id": "123456789",
      "max-index": 10,
      "sign": "Main Aria2",
      "language": "zh-CN",
      "downloadFolder": "C:/aria2/Aria2Data",
      "moveFolder":"C:/aria2/GoogleDrive"
    }


    各项对应解释


    • aria2-server:aria2服务器地址,默认使用websocket连接。如果要使用websocket连接aria2,请务必设置aria2.conf内的enable-rpc=true 。如果不是必须,请尽量设置本地的aria2地址,以便于最大化的使用本程序

    • aria2-key:aria2.conf中rpc-secret的值

    • bot-key:Telegram Bot的标识

    • user-id:管理员的ID

    • max-index:下载信息最大显示数量,建议10条(以后会改进)

    • sign:此机器人的标识,如果需要多个服务器连接同一个机器人,通过这一项可以确定具体是哪一台服务器

    • language:机器人输出的语言

    • downloadFolder:Aria2下载文件保存的地址。如果不使用,请输入""

    • moveFolder: 要将下载文件夹的文件移动到的文件夹。如果不使用,请输入""


    目前支持的语言及语言标签

    英语:en
    简体中文:zh-CN
    繁体中文:zh-TW

    当您在config.json中填写上面语言的标签的时候,程序会自动下载语言包


    关于user-id

    如果您不知道您的 user-id ,可以将此项留空,在运行这个机器人后输入/myid,此机器人就会返回您的user-id.



    下面是博主搭建过程:


        作者说了目前项目还处于非稳定版,只处于基本能用的状态,所以使用过程中很多功能未完善,可能又有一些bug或其他状况。


    1)创建Telegram Bot(t.me/BotFather)



    2)服务器安装安装Aria2


    #安装基础组件
    apt install wget curl ca-certificates
    
    #下载脚本
    wget -N git.io/aria2.sh && chmod +x aria2.sh
    
    #运行脚本
    ./aria2.sh



    3)下载程序(附自行编译方法)


    #在releases下载对应平台的可运行文件(https://github.com/gaowanliang/DownloadBotng/DownloadBot/releases/)
    wget https://github.com/gaowanliang/DownloadBotng/DownloadBot/releases/download/v0.0.4/DownloadBot_0.0.4_Linux_x86_64.tar.gz
    
    #解压后当前目录下有一个DownloadBot文件
    tar xvzf DownloadBot_0.0.4_Linux_x86_64.tar.gz
    
    -------------------------------------------------------
    #附:服务器安装Golang和编译最新版程序方法
    #安装Golang14.13(linux下可用的一键脚本)
    curl -SL https://gitee.com/skiy/golang-install/raw/master/install.sh | bash /dev/stdin -v 1.13.4
    
    #下载DownloadBot源码编译
    git clone 
    cd DownloadBot
    go build
    
    #编译完成后,当前目录下有一个DownloadBot文件


    4)编辑config.json配置文件,运行程序(建议使用英文版,第一次使用中文时,上传按钮都没出来)


    #编辑config.json配置文件,uesr-id未知的可以去 t.me/myidbot 获取
    nano config.json
    
    ## moveFolder参数好像不生效,下载了都在downloadFolder里面,上传时也是把整个文件夹上传
    
    #运行程序
    ./DownloadBot




    4)上传文件夹

        注意,目前支持4种存储系统,好像目前只能手动上传,只能把整个下载目录上传目前

        授权时有些账号会遇到此应用可能存在风险,需要全局管理员授权的情况。

        授权后会可能出现程序自动退出,重新启动即可

        首次点击上传我也遇到程序自动退出的情况,多试几次就正常运行了

        文件重复上传会被重命名后面加1,再上传






    个人感受,还不是一个完善的程序,不过能上传多个不同的储存系统的确不错,期待程序之后更加完善更加强大。

    之前文章:一个能下载并自动上传文件到Google Drive的Telegram Bot -- https://blog.jialezi.net/?post=156



    正文到此结束
    您阅读这篇文章共花了: 
    本文链接://blog.jialezi.net/?post=162
    版权声明:若无特殊注明,本文皆为《jaz》原创,转载请保留文章出处。
    捐赠支持:如果觉得这篇文章对您有帮助,请“扫一扫”鼓励作者!

    热门推荐

    Hello! How do you see it?

    你还可以输入250 / 250 个字

    嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗

    已有4条吐槽

    匿名

    2023-07-17 18:44 IANA保留地址
    发帖软件 www.teamczyx.com
     未知操作系统   未知浏览器

    匿名

    2021-12-12 15:24 俄罗斯 CZ88.NET
    博主,配置文件填完后,程序能够正常运行,但在tg机器人里面输入/start 后,VPS立马就报错了,请问这个是什么问题呢?
    2021/12/12 02:52:31 Bad Request: can't parse entities: Can't find end of the entity starting at byte offset 7
    panic: Bad Request: can't parse entities: Can't find end of the entity starting at byte offset 7

    goroutine 12 [running]:
    log.Panic(0xc00038b998, 0x1, 0x1)
        /usr/lib/golang/src/log/log.go:351 +0xae
    main.dropErr(...)
        /root/DownloadBot/main.go:14
    main.tgBot(0xc000028060, 0x2e, 0xc0003fc640)
        /root/DownloadBot/Telegram.go:1089 +0xc05
    created by main.main
        /root/DownloadBot/main.go:34 +0x9f
     未知操作系统   未知浏览器

    匿名

    2021-05-25 14:04 北美地区 CZ88.NET
    可以换个背景吗?花得完全看不清楚字。。。
     未知操作系统   未知浏览器

    匿名aa

    2021-04-20 17:26 香港电讯盈科有限公司
    牛逼
     未知操作系统   未知浏览器

    返回顶部    返回首页    手气不错    捐赠支持         
    版权所有:Jialezi `s blog    站点维护:    +主题:海云彩色