Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
wy580477 committed May 29, 2022
1 parent f98a5b0 commit 7b127a4
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 36 deletions.
62 changes: 42 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

## Attention

1. **Do not abuse Heroku's service or your account could get banned. Deploy at your own risk.**
1. **Do not abuse service from Colab/Heroku or your account could get banned. Deploy at your own risk.**
2. Aria2 & qBittorrent download speed is limited to 5MB/s on default.
3. Anyone who can login into this app has full access to data in this app and Rclone remotes. Do not share with other ppl, and do not store sensitive information with this app.
4. To prevent Heroku dyno from auto-sleeping, use website monitoring service such as uptimerobot to http ping your heroku domain every 10 mins.
Expand All @@ -24,7 +24,7 @@

## <a id="Overview"></a>Overview

This project integrates yt-dlp, Aria2 + WebUI, qBittorrent + VueTorrent WebUI, pyLoad Download Manager, Rclone + WebUI with auto-upload function, Rclone Serve HTTP & Webdav, customizable portal page, OliveTin WebUI for shell commands, Filebrowser, ttyd web terminal, Xray Vmess proxy protocol.
This project integrates yt-dlp, Aria2 + WebUI, qBittorrent + VueTorrent WebUI, pyLoad Download Manager, Rclone + WebUI with auto-upload function, Rclone Serve HTTP & Webdav, customizable portal page, OliveTin WebUI for shell commands, Filebrowser, ttyd web terminal, Xray Vmess proxy protocol. (Rclone Webdav & Xray proxy only available on Heroku deployment)

[VPS version](https://github.com/wy580477/Aria2-AIO-Container)

Expand All @@ -33,13 +33,22 @@ This project integrates yt-dlp, Aria2 + WebUI, qBittorrent + VueTorrent WebUI, p
1. Rclone auto-upload function only needs to prepare rclone.conf file, and all other configurations are set to go.
2. Rclone runs on daemon mode, easy to manually transfer files and monitor transfers in real time on WebUI.
3. You can connect Aria2, qBittorrent and Rclone from frontends running on other hosts.
4. Auto-backup configuration files to Cloudflare Workers KV, and try to restore when dyno restarts.
4. Auto-backup configuration files and try to restore when dyno restarts.
5. Execute predefined yt-dlp & Rclone commands from OliveTin WebUI.
6. ttyd web terminal, which can execute yt-dlp and other commands on the command line.
7. There are independent logs for each service in the log directory.

## <a id="Deployment"></a>Deployment

### Colab Deployment

1. Make a folder named <code>AIO_FILES</code> in your Google Drive root folder.
2. Upload [main.zip](https://github.com/wy580477/Heroku-AIO-APP-EX/archive/refs/heads/main.zip) to <code>AIO_FILES</code> folder.
3. Upload [AIO.ipynb](https://github.com/wy580477/Heroku-AIO-APP-EX/raw/main/AIO.ipynb) to Google Drive.
4. Run AIO.ipynb.

### Heroku Deployment

**Do not deploy directly from this repository**

1. [Set up your Cloudflare workers KV service](https://github.com/wy580477/PaaS-Related/blob/main/SET_CLOUDFLARE_KV.md)
Expand All @@ -49,14 +58,22 @@ This project integrates yt-dlp, Aria2 + WebUI, qBittorrent + VueTorrent WebUI, p

## <a id="first"></a>First run

1. After deployment, for example, your heroku domain name is bobby.herokuapp.com, the portal page path is /portal, then visit bobby.herokuapp.com/portal to reach the portal page.
2. Click AriaNg, then authentication failure warning will pop up, fill in Aria2 secret RPC token with password set during deployment.
- For Heroku deployment,
1. visit your_heroku_domain + \${GLOBAL_PORTAL_PATH} to reach portal page.
2. Click AriaNg, then authentication failure warning will pop up, fill in Aria2 secret RPC token with password set during deployment.

<img src="https://user-images.githubusercontent.com/98247050/165651080-b1b79ba6-7cc0-4c7c-b65b-fbc4256f59f9.png" width="700"/>

![image](https://user-images.githubusercontent.com/98247050/165651080-b1b79ba6-7cc0-4c7c-b65b-fbc4256f59f9.png)
3. Click qBittorrent or VueTorrent, then login in with default user admin and default password adminadmin. Change default user/password to your own. Recommend strong password.
- Upload rclone.conf file to config folder via Filebrowser, you can edit script.conf file to change Rclone auto-upload settings.
- For Colab deployment, add following content to rclone.conf file in order to use your mounted Google Drive as a Rclone remote.

3. Click qBittorrent or VueTorrent, then login in with default user admin and default password adminadmin. Change default user/password to your own. Recommend strong password.
4. Upload rclone.conf file to config folder via Filebrowser, you can edit script.conf file to change Rclone auto-upload settings.
5. yt-dlp command can be executed through ttyd web terminal,for more information:<https://github.com/yt-dlp/yt-dlp#usage-and-options>
```
[local]
type = alias
remote = /content/drive/MyDrive
```
- yt-dlp command can be executed through ttyd web terminal,for more information:<https://github.com/yt-dlp/yt-dlp#usage-and-options>
Built-in alias:
dlpr:Use yt-dlp to download videos to videos folder, then send task to Rclone after downloads completed.

Expand All @@ -68,19 +85,24 @@ This project integrates yt-dlp, Aria2 + WebUI, qBittorrent + VueTorrent WebUI, p
2. Known pyLoad bugs:
- Redirect to http after login,solution: close the pyLoad page and reopen it.
- Fail to delete archives after extraction, solution: Settings--Plugins--ExtractArchive, set "Move to trash instead delete" to off.
3. After adding the following content to the end of Rclone config file, you can add local heroku storage in Rclone Web UI for manual upload.
3. For Heroku deployment, after adding following content to rclone.conf file, you can use local heroku storage as a Rclone remote for manually uploading via Rclone Web UI.

```
[local]
type = alias
remote = /mnt/data
```
```
[local]
type = alias
remote = /mnt/data
```

4. It is not possible to configure a Rclone remote which requires web authentication through Rclone web UI in this app.
5. Aria2 BT tracker list is auto-updated each time dyno restarted, rename or delete /content/aria2/tracker.sh file to disable this function.
6. Portal page config file homer_en.yml and icon resources are under content/homer_conf directory in repository, use path as ./assets/tools/example.png to add the new icon to homer config file.
7. Vmess proxy protocol: AlterID is 0, you can connect to either Vmess WS port 80 or Vmess WS tls port 443. Xray settings can be modified via content/xray.yaml file in repository. Heroku is difficult to connect in mainland China.
Example client setting:
![image](https://user-images.githubusercontent.com/98247050/169536721-4b4fc824-454a-4bec-9342-40978b1d99a4.png)
With tls:
![image](https://user-images.githubusercontent.com/98247050/169670311-1bf05652-8b5c-459a-9c24-41eef341006a.png)
7. Vmess proxy protocol: AlterID is 0, you can connect to either Vmess WS port 80 or Vmess WS tls port 443. Xray settings can be modified via content/xray.yaml file in repository. Heroku is difficult to connect in mainland China.

<details>
<summary>Example client setting</summary>
<img src="https://user-images.githubusercontent.com/98247050/169536721-4b4fc824-454a-4bec-9342-40978b1d99a4.png"/>
</details>
<details>
<summary>Example client setting with tls</summary>
<img src="https://user-images.githubusercontent.com/98247050/169670311-1bf05652-8b5c-459a-9c24-41eef341006a.png"/>
</details>
52 changes: 36 additions & 16 deletions README_chs.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## 注意

1. **请勿滥用,Heroku账号封禁风险自负。**
1. **请勿滥用,Colab/Heroku账号封禁风险自负。**
2. Heroku的文件系统是临时性的,每24小时强制重启一次后会恢复到部署时状态。不适合长期下载和共享文件用途。
3. Aria2和qBittorrent配置文件默认限速5MB/s。
4. 所有可以登陆此APP的用户可以访问/修改此APP以及Rclone远程存储的所有数据,不要存放敏感数据,不要与他人共享使用。
Expand All @@ -25,7 +25,7 @@

## 概述

本项目集成了yt-dlp、Aria2+Rclone+qBittorrent+WebUI、pyLoad下载管理器、Rclone联动自动上传功能、、Rclone远程存储文件列表和Webdav服务、可自定义的导航页、Filebrowser轻量网盘、OliveTin网页执行shell命令、ttyd Web终端、Xray Vmess协议。
本项目集成了yt-dlp、Aria2+Rclone+qBittorrent+WebUI、pyLoad下载管理器、Rclone联动自动上传功能、、Rclone远程存储文件列表和Webdav服务、可自定义的导航页、Filebrowser轻量网盘、OliveTin网页执行shell命令、ttyd Web终端、Xray Vmess协议。(Colab 部署方式没有Rclone Webdav和Xray代理服务)

[VPS部署版本](https://github.com/wy580477/Aria2-AIO-Container)

Expand All @@ -34,14 +34,23 @@
1. 联动上传功能只需要准备rclone.conf配置文件, 其他一切配置都预备齐全。
2. Rclone以daemon方式运行,可在WebUI上手动传输文件和实时监测传输情况。
3. Aria2、qBittorrent和Rclone可以接入其它host上运行的AriaNg/RcloneNg等前端面板。
4. 自动备份相关配置文件到Cloudflare KV,dyno重启时尝试恢复,实现了配置文件持久化。
4. 自动备份相关配置文件,dyno重启时尝试恢复,实现了配置文件持久化。
5. 可以从OliveTin网页端执行预定义yt-dlp和Rclone指令。
6. ttyd网页终端,可命令行执行yt-dlp下载工具和其它命令。
7. log目录下有每个服务独立日志。

## 部署方式

**请勿使用本仓库直接部署**
### Colab 部署步骤

1. 在Google Drive根目录下建立一个名为 <code>AIO_FILES</code> 的文件夹.
2.[main.zip](https://github.com/wy580477/Heroku-AIO-APP-EX/archive/refs/heads/main.zip) 上传到 <code>AIO_FILES</code> 文件夹.
3.[AIO.ipynb](https://github.com/wy580477/Heroku-AIO-APP-EX/raw/main/AIO.ipynb) 上传到Google Drive.
4. 运行 AIO.ipynb.

### Heroku 部署步骤

**请勿使用本仓库直接部署**

**Heroku修复安全漏洞中,目前无法通过网页从私有库部署**

Expand All @@ -51,7 +60,7 @@
4. 然后点击Code返回之前的页面,点Setting下面新出现的按钮Use this template,起个随机名字创建新库。
5. 比如你的Github用户名是bobby,新库名称是green。浏览器登陆heroku后,访问<https://dashboard.heroku.com/new?template=https://github.com/bobby/green> 即可部署。

### 变量设置
**Heroku部署变量设置**

对部署时可设定的变量做如下说明。
| 变量| 说明 |
Expand All @@ -67,12 +76,21 @@

### 初次使用

1. 部署完成后,比如你的heroku域名是bobby.herokuapp.com,导航页路径是/portal,访问bobby.herokuapp.com/portal 即可到达导航页。
2. 点击AriaNg,这时会弹出认证失败警告,按下图把之前部署时设置的密码填入RPC密钥即可。
![image](https://user-images.githubusercontent.com/98247050/163184113-d0f09e78-01f9-4d4a-87b9-f4a9c1218253.png)
3. 点击qBittorrent或者VueTorrent,输入默认用户名admin和默认密码adminadmin登陆。然后更改用户名和密码,务必设置为强密码。
4. 通过Filebrowse将rclone.conf文件上传到config目录,可以通过编辑script.conf文件更改Rclone自动上传设置。
5. yt-dlp下载工具可以通过ttyd在网页终端执行,使用方法详细见:<https://github.com/yt-dlp/yt-dlp#usage-and-options>
- Heroku部署后:
1. 比如你的heroku域名是bobby.herokuapp.com,导航页路径是/portal,访问bobby.herokuapp.com/portal 即可到达导航页。
2. 点击AriaNg,这时会弹出认证失败警告,按下图把之前部署时设置的密码填入RPC密钥即可。
<img src="https://user-images.githubusercontent.com/98247050/163184113-d0f09e78-01f9-4d4a-87b9-f4a9c1218253.png" width="700"/>
3. 点击qBittorrent或者VueTorrent,输入默认用户名admin和默认密码adminadmin登陆。然后更改用户名和密码,务必设置为强密码。
- 通过Filebrowse将rclone.conf文件上传到config目录,可以通过编辑script.conf文件更改Rclone自动上传设置。
- Colab部署后,可以将下列内容添加到rclone.conf文件,以便将Colab中挂载的Google Drive作为Rclone的远程存储。

```
[local]
type = alias
remote = /content/drive/MyDrive
```

- yt-dlp下载工具可以通过ttyd在网页终端执行,使用方法详细见:<https://github.com/yt-dlp/yt-dlp#usage-and-options>
内置快捷指令:
dlpr:使用yt-dlp下载视频到videos文件夹下,下载完成后发送任务到rclone。

Expand All @@ -85,11 +103,13 @@
3. pyLoad已知Bug:
- 登陆后重定向到http,解决方法:关闭当前pyLoad页面,重新打开。
- 解压后不能删除原文件,解决方法:Settings--Plugins--ExtractArchive,将"Move to trash instead delete"项设置为off。
```
[local]
type = alias
remote = /mnt/data
```
4. Heroku部署后,可以将下列内容添加到rclone.conf文件,可以将Heroku本地存储作为Rclone的远程存储,便于在Rclone WebUI上手动上传。

```
[local]
type = alias
remote = /mnt/data
```

4. 无法通过Rclone Web前端建立需要网页认证的存储配置。
5. 每次dyno启动自动更新Aria2 BT tracker list,如果需要禁用,重命名或删除/content/aria2/tracker.sh文件。
Expand Down

0 comments on commit 7b127a4

Please sign in to comment.