简体中文 繁體中文
DownloadBot

(Currently) 🤖 A distributed cross-platform Telegram Bot that can control your Aria2 server, control server files and also upload to OneDrive / Google Drive.
Project significance
The following is only a vision of what this program will look like when it is completed, the functions described so far are not fully implemented, please refer to the following Functions realized for details of implementation
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).
Only the checked content is currently implemented
Download method
The Bot protocol supports
Function
Current features
- Fully touch based, more easy to use, no command required to use this bot.
- Real time notification, it’s now using Aria2’s Websocket protocol to communicate.
- Better config file support.
Setup
- Create your own bot and get its access token by using @BotFather
- (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.
- Download this program
- Configure
config.json at the root of the program that you want to execute.
- Run the executable file
tutorial
For a more detailed tutorial, please see: Step by Step Guide for DownloadBot
DownloadBot Q&A
Screenshots
Example of a profile
{
"input": {
"aria2": {
"aria2-server": "ws://127.0.0.1:6800/jsonrpc",
"aria2-key": "123456"
}
},
"output": {
"telegram": {
"bot-key": "",
"user-id": ""
}
},
"max-index": 10,
"sign": "Main Aria2",
"language": "en",
"downloadFolder": "/root/download",
"moveFolder": "/root/upload",
"server": {
"isServer": true,
"isMasterServer": true,
"serverHost": "127.0.0.1",
"serverPort": 23369
},
"log": {
"logPath": "",
"errPath": "",
"level": "info"
}
}
Corresponding explanations
-
input : Input method, currently only supports aria2
- 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
-
output : Output method, currently only supports telegram
-
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 ""
-
server: Server configuration
- isServer: Whether to enable server mode, if you want to use this program as a server, set it to
true(When set to false, it means that this machine is a client)
- isMasterServer: Whether to enable master server mode, if you want to use this program as a master server, set it to
true(now must be set to true)
- serverHost: if it is a client, this item needs to fill in the server address, if it is the main server, this item is the local address
- serverPort: If it is a client, this item needs to fill in the server port, if it is the main server, this item is the port provided to the client
-
log: Log configuration
- logPath: Log file path, if you do not use this parameter, enter
""(now invalid)
- errPath: Error log file path, if you do not use this parameter, enter
""(now invalid)
- level: Log level,
debug, info, warn, error, fatal, panic are supported, the default is info
| 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
donator
If you want to support this project, you can donate to the following address, thank you very much!
https://ko-fi.com/gaowanliang
评论