- 请勿滥用,Heroku账号封禁风险自负。
- Heroku的文件系统是临时性的,每24小时强制重启一次后会恢复到部署时状态。不适合长期下载和共享文件用途。
- Aria2和qBittorrent配置文件默认限速5MB/s。
- 免费Heroku dyno半小时无Web访问会休眠,可以使用uptimerobot、hetrixtools等免费VPS/网站监测服务定时http ping,保持持续运行。
- 无法通过Rclone Web前端建立需要网页认证的存储配置。需要自行在其他设备上准备好rclone.conf文件。
- 不支持 Rclone mount。
本项目集成了yt-dlp、gallery-dl、Aria2+Rclone+qBittorrent+WebUI、pyLoad下载管理器、Rclone联动自动上传功能、Rclone远程存储文件列表和Webdav服务、Filebrowser轻量网盘、OliveTin网页执行shell命令、ttyd Web终端、Telegram任务完成通知。
- 联动上传功能只需要准备rclone.conf配置文件, 其他一切配置都预备齐全。
- Rclone以daemon方式运行,可在WebUI上手动传输文件和实时监测传输情况。
- Aria2、qBittorrent和Rclone可以接入其它host上运行的AriaNg/RcloneNg等前端面板和flexget/Radarr/Sonarr等应用。
- 自动备份相关配置文件到Cloudflare Workers KV,dyno重启时尝试恢复,实现了配置文件持久化。
- 可以从OliveTin网页端执行yt-dlp、gallery-dl和Rclone指令。
- ttyd网页终端,可命令行执行yt-dlp下载工具和其它命令。
- 基于 runit 的进程管理,每个服务可以独立启停。
- log目录下有每个服务独立日志。
- 集成 NodeStatus 探针客户端。NodeStatus 服务端也可以部署在 PaaS 平台上。
请勿使用本仓库直接部署
KV服务用于存储配置文件。部分功能升级需要手动更新配置文件。
可以通过删除Cloudflare KV数据以重置配置文件。 图示
- 点击本仓库右上角Fork,再点击Create Fork。
- 在Fork出来的仓库页面上点击Setting,勾选Template repository。
- 然后点击Code返回之前的页面,点Setting下面新出现的按钮Use this template,起个随机名字创建新库。
- 比如你的Github用户名是bobby,新库名称是green。浏览器登陆heroku后,访问https://dashboard.heroku.com/new?template=https://github.com/bobby/green 即可部署。
对部署时需设定的变量做如下说明。
变量 | 说明 |
---|---|
GLOBAL_USER |
用户名,适用于除qBittorrent外所有需要输入用户名的Web服务 |
GLOBAL_PASSWORD |
务必修改为强密码,同样适用于除qBittorrent外所有需要输入密码的Web服务,同时也是Aria2 RPC密钥。 |
GLOBAL_LANGUAGE |
设置导航页、qBittorrent和Filebrowser界面语言,chs为中文 |
GLOBAL_PORTAL_PATH |
导航页路径和所有Web服务的基础URL,务必设置为不常见路径。不能为“/"和空值,结尾不能加“/"。示例:/mypath |
TZ |
可选,时区,Asia/Shanghai为中国时区 |
CLOUDFLARE_WORKERS_HOST |
Cloudflare Workers 服务域名 |
CLOUDFLARE_WORKERS_KEY |
Cloudflare Workers 服务密钥 |
NodeStatus_DSN |
可选,NodeStatus 探针服务端连接信息,保持默认空值为禁用。示例:wss://username:[email protected] |
-
比如你的heroku域名是bobby.herokuapp.com,导航页路径是/portal,访问bobby.herokuapp.com/portal 即可到达导航页。
-
点击并登陆Filbrowser,在 log/qBittorrent/current 文件中获得 qBit 临时密码,输入默认用户名 admin 和临时密码登陆。点击qBittorrent或者VueTorrent,输入默认用户名admin和临时密码登陆。然后更改用户名和密码,务必设置为强密码。
如果qBittorrent无法使用默认账户密码登陆,通过Filebrowser删除config/qBittorrent/config/qBittorrent.conf文件,然后通过ttyd执行下面命令:
sv restart 1
- 通过Filebrowse将rclone.conf文件上传到config目录,可以通过编辑script.conf文件更改Rclone自动上传设置。
- yt-dlp和gallery-dl下载工具可以通过ttyd在网页终端执行。
内置快捷指令:
dlpr:使用yt-dlp下载视频到videos文件夹下,下载完成后发送任务到rclone。 gdlr:使用gallery-dl下载文件到gallery_dl_downloads文件夹下,下载完成后发送任务到rclone。 - 如果升级版本后在script.conf文件中没有找到相关新增功能设置,参考最新版 script.conf 文件,自行添加缺失的设置选项。
-
Telegram通知功能,需要在Telegram内与@BotFather对话注册bot。然后获取自己账户的ChatID或者bot加入的频道ChatID。具体详细步骤请Google。
然后编辑config/script.conf文件,将botid:token和ChatID填入对应选项,通知功能即生效。
-
pyLoad已知Bug:
- 解压后不能删除原文件,解决方法:Settings--Plugins--ExtractArchive,将"Move to trash instead delete"项设置为off。
-
Heroku部署后,将下列内容添加到rclone.conf文件,可以将Heroku本地存储作为Rclone的远程存储,便于在Rclone WebUI上手动上传。
[local] type = alias remote = /mnt/data
-
对于不支持qBittorrent自定义路径的应用, 部署前在content目录下的Caddyfile文件中找到下列内容,去除每行开头的注释符号“#”:
handle /api* { reverse_proxy * localhost:61804 }
-
Aria2 JSON-RPC 路径为: ${GLOBAL_PORTAL_PATH}/jsonrpc
Aria2 XML-RPC 路径为: ${GLOBAL_PORTAL_PATH}/rpc