All Projects → gaowanliang → Downloadbot

gaowanliang / Downloadbot

Licence: mit
(Currently) 🤖 A Telegram Bot that can control your Aria2 server, control server files and also upload to OneDrive.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Downloadbot

Moviemagnetbot
🤖 telegram bot for movies
Stars: ✭ 39 (-89.54%)
Mutual labels:  telegram-bot, magnet
Aria2.js
JavaScript library for aria2, "The next generation download utility."
Stars: ✭ 471 (+26.27%)
Mutual labels:  websocket, magnet
Neffos
A modern, fast and scalable websocket framework with elegant API written in Go
Stars: ✭ 341 (-8.58%)
Mutual labels:  websocket
Wsmanager
OkHttp WebSocket Manager for Android
Stars: ✭ 364 (-2.41%)
Mutual labels:  websocket
Wampsharp
A C# implementation of WAMP (The Web Application Messaging Protocol)
Stars: ✭ 355 (-4.83%)
Mutual labels:  websocket
Kotlin Ktor Exposed Starter
Starter RESTful service with websocket notifications using Kotlin, Ktor and Exposed with H2, HikariCP and FlyWay
Stars: ✭ 343 (-8.04%)
Mutual labels:  websocket
Shieldy
@shieldy_bot Telegram bot repository
Stars: ✭ 351 (-5.9%)
Mutual labels:  telegram-bot
Eureca.io
eureca.io : a nodejs bidirectional RPC that can use WebSocket, WebRTC or XHR fallback as transport layers
Stars: ✭ 341 (-8.58%)
Mutual labels:  websocket
Userge
Userge, Durable as a Serge
Stars: ✭ 363 (-2.68%)
Mutual labels:  telegram-bot
Leptus
The Erlang REST framework
Stars: ✭ 352 (-5.63%)
Mutual labels:  websocket
Unifiedmessagerelay
Group Message Forward Framework (supports QQ Telegram Line Discord)
Stars: ✭ 363 (-2.68%)
Mutual labels:  telegram-bot
Laravel Swoole
High performance HTTP server based on Swoole. Speed up your Laravel or Lumen applications.
Stars: ✭ 3,726 (+898.93%)
Mutual labels:  websocket
Lightnovel Crawler
Download and generate e-books from online sources.
Stars: ✭ 344 (-7.77%)
Mutual labels:  telegram-bot
Webhook2telegram
🤖 A simple bot to translate JSON HTTP requests into Telegram push messages
Stars: ✭ 357 (-4.29%)
Mutual labels:  telegram-bot
Ccxws
WebSocket client for 38 cryptocurrency exchanges
Stars: ✭ 341 (-8.58%)
Mutual labels:  websocket
Pytg
Python package that wraps around Telegram messenger CLI. Send and receive messages, and more.
Stars: ✭ 365 (-2.14%)
Mutual labels:  telegram-bot
Libdatachannel
C/C++ WebRTC Data Channels and Media Transport standalone library
Stars: ✭ 336 (-9.92%)
Mutual labels:  websocket
Dokit
基于 Spring Boot2、 Jpa、 Spring Security、JWT、redis、Vue的前后端分离的后台管理系统开发平台, 用户管理、菜单管理、角色管理、字典管理、权限控制的方式为RBAC,操作日志、异常日志、接口限流、项目支持数据权限管理,支持一键生成前后端代码(支持在线预览及打包下载),支持前端菜单动态路由 可一键部署服务器应用,数据库。系统中活跃用户状态监控,监视当前系统CPU、内存、磁盘、堆栈等相关信息,基于Element UI在线表单设计及生成Vue代码。
Stars: ✭ 348 (-6.7%)
Mutual labels:  websocket
Torrentleech Gdrive
It is a fork of 'PublicLeech' with support of uploading files and foder to gdrive or any drive rclone.org support. Like onedrive, mega and so on. Now supports Unzip, unrar, untar too. Now you all can also mirror the telegram files to your respective cloud too.
Stars: ✭ 353 (-5.36%)
Mutual labels:  magnet
Wssip
Application for capturing, modifying and sending custom WebSocket data from client to server and vice versa.
Stars: ✭ 373 (+0%)
Mutual labels:  websocket

简体中文 繁體中文

DownloadBot

Go Version Release Version GitHub license GitHub Star GitHub Fork

(Currently) 🤖 A Telegram Bot that can control your Aria2 server, control server files and also upload to OneDrive.

Project significance

This project is mainly to use small hard disk server for offline downloading, for large BitTorrent files to be downloaded in sections according to the size of the hard disk, each time downloading a part, then uploading the network disk, delete and then download the other parts, until all the files are downloaded.

At the same time, communication via the bot protocol facilitates use on machines that cannot intranet penetration, and simplifies the usual use of download programs for added convenience.For links, sending a message directly to the Bot will directly identify and download them. It can actually delete files from the download folder, which is not possible with web panels such as AriaNG, and is very convenient as a tool for managing downloads and notifying timely completion of downloads. You can move files, and for users who mount their hard drives via rclone you can copy and paste directly through this program, without having to open an ssh connection to the VPS for cp operations, which is also very convenient.

Functions realized

Note: This project is still in beta testing and the Release submitted is for testing purposes only. Downloading it now does not guarantee you stable use, nor does it guarantee that the content ticked below has been implemented. The software is only stable when the submitted version is v1.0 (v1.0 will not implement all of the features below, but it will work properly and stably).

Download method

  • [x] Aria2 control
    • [x] Persistent monitoring
    • [x] Automatic reconnection after disconnection
  • [ ] Multi download server control at the same time
    • [ ] WebSocket communication between multiple servers via a server with a public IP
    • [ ] Allow users to create public WebSocket relays for users who are not comfortable establishing WebSocket communication
    • [ ] Deploy a separate WebSocket relay in heroku for relaying
  • [ ] SimpleTorrent control
  • [ ] qbittorrent control

The Bot protocol supports

  • [x] Telegram Bot
  • [ ] Tencent QQ (Use regular QQ users to interact)
  • [ ] DingTalk Bot

Function

  • [x] Control server files
    • [x] Delete files
    • [x] Move/Copy files
    • [ ] Compressed files
  • [x] Download files
    • [x] Download HTTP/FTP link
    • [x] Download Magnet link
    • [x] Download the files in the BitTorrent file
    • [x] Custom BitTorrent/Magnet download
      • [x] Select only the largest file to download
      • [x] Intelligent file selection based on file size, do not select small files in BitTorrent/Magnet.
    • [ ] Download BitTorrent/Magnet according to the size of storage space
      • [ ] Do not download files that exceed storage space
      • [ ] Download the files in BitTorrent/Magnet several times according to the storage space
    • [ ] Senseless seeding functions
      • [ ] After each BitTorrent/Magnet file download, keep the last downloaded file for seeding until the next download starts.
      • [ ] Can be set to force seeding for a period of time at the end of each download
  • [x] Upload a file
    • [x] Upload the file to OneDrive when the download is complete
      • [ ] Resume from break point
    • [x] Upload the file to Google Drive when the download is complete
    • [ ] Upload the file to Mega when the download is complete
    • [ ] Upload the file to 189Cloud when the download is complete
    • [ ] (When communicating via Telegram) Upload the file to Telegram when the download is complete
      • [ ] When the file exceeds 2GB, it is compressed in chunks before uploading
  • [x] Additional features
    • [x] Multilingual support
      • [x] Simplified Chinese
      • [x] English
      • [x] Traditional Chinese
      • [ ] Japanese
    • [ ] No human intervention, fully automatic downloads of BitTorrent site
      • [ ] Nyaa
      • [ ] ThePirateBay
    • [ ] Other functions
      • [x] File tree output system
        • [x] File tree output for simple folders
        • [ ] Use images instead of text output for complex folder structures
      • [ ] Get all CIDs used in DMM via actor ID
      • [ ] Query the movie parameters in "ikoa" (using mahuateng).
      • [ ] Get the numbers of all actors via the javlibary actors' website.
      • [ ] Query the dmm cid information, preview the movie, preview the picture.
      • [ ] Search by keyword in sukebei.
      • [ ] Search in dmm based on keywords, up to 30 items.
      • [ ] Enter the dmm link to list all items.
      • [ ] Search for current dmm hits and the latest movies, limited to 30 (beta).

Current features

  1. Fully touch based, more easy to use, no command required to use this bot.
  2. Real time notification, it's now using Aria2's Websocket protocol to communicate.
  3. Better config file support.

Setup

  1. Create your own bot and get its access token by using @BotFather
  2. (Optional) Telegram blocked in your region/country? be sure to have a HTTP proxy up and running,and You can set your system environment variable HTTPS_Proxy is the proxy address.
  3. Download this program
  4. Configure config.json at the root of the program that you want to execute.
  5. Run the executable file

Screenshots


Example of a profile

{
    "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"
}

Corresponding explanations

  • aria2-server : Aria2 server address. Websocket connection is used by default. If you want to use websocket to connect to aria2, be sure to set enable-rpc=true in aria2.conf. If not necessary, please try to set the local aria2 address, in order to maximize the use of this program
  • aria2-key : The value of rpc-secret in aria2.conf
  • bot-key : ID of telegram BOT
  • user-id : The ID of the administrator
  • max-index:Maximum display quantity of download information, 10 pieces are recommended (to be improved in the future)
  • sign: Identification of this Bot, If multiple servers are required to connect to the same Bot, the specific server can be determined through this item.
  • language: Language of Bot output
  • downloadFolder: Aria2 download file save address.If you do not use this parameter, enter ""
  • moveFolder: The folder to which you want to move the files for the downloadFolder. If you do not use this parameter, enter ""

Currently supported languages and language tags

Languages Tag
English en
Simplified Chinese zh-CN
Traditional Chinese zh-TW

When you fill in the above language tag in config.json, the program will automatically download the language pack

About user-id

If you don't know your user-id, you can leave this field blank and enter /myid after running the Bot, and the Bot will return your user-id

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].