Giter VIP home page Giter VIP logo

heroku-all-in-one-app's Introduction

Warning | 警告

2022/5/21

  • Unmaintained repo | 停止维护
  • Deploy at your own risk | 部署风险自负
  • 新项目 | Checkout Heroku-AIO-APP-EX

Click here for English version

鸣谢

注意

  1. 请勿滥用,重度使用可能导致账号被封。
  2. Heroku的文件系统是临时性的,每24小时强制重启一次后会恢复到部署时状态。不适合长期BT下载和共享文件用途。
  3. Aria2配置文件默认限速5MB/s。
  4. 所有可以登陆此APP的用户可以访问/修改此APP以及Rclone远程存储的所有数据,不要存放敏感数据,不要与他人共享使用。
  5. 免费Heroku dyno半小时无Web访问会休眠,可以使用hetrixtools这样的免费VPS/网站监测服务定时http ping,保持持续运行。

概述

部署方式

变量设置

初次使用

更多用法和注意事项

概述

本项目集成了Metube yt-dlp Web前端、Aria2+Rclone+WebUI、Aria2+Rclone联动自动上传功能、Rclone远程存储文件列表和Webdav服务、可自定义的导航页、Filebrowser轻量网盘、ttyd Web终端、Xray Vmess协议。

VPS部署版本

qBittorrent版本

image

  1. 联动上传功能只需要准备rclone.conf配置文件, 其他一切配置都预备齐全。
  2. Aria2和Rclone多种联动模式,复制、移动、边做种边上传。
  3. yt-dlp Web前端metube下载后同样支持rclone联动。
  4. Rclone以daemon方式运行,可在WebUI上手动传输文件和实时监测传输情况。
  5. Aria2和Rclone可以接入其它host上运行的AriaNg/RcloneNg等前端面板,方便多host集中管理控制。
  6. 自动备份相关配置文件到Rclone远程存储,dyno重启时尝试从远程恢复,实现了配置文件和下载任务列表的持久化。
  7. ttyd网页终端,可命令行执行yt-dlp下载工具和其它命令。
  8. log目录下有每个服务独立日志。

部署方式

请勿使用本仓库直接部署

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

  1. 点击右上角Fork,再点击Create Fork。
  2. 在Fork出来的仓库页面上点击Setting,勾选Template repository。
  3. 然后点击Code返回之前的页面,点Setting下面新出现的按钮Use this template,起个随机名字创建新库。
  4. 比如你的Github用户名是bobby,新库名称是green。浏览器登陆heroku后,访问https://dashboard.heroku.com/new?template=https://github.com/bobby/green 即可部署。

变量设置

对部署时可设定的变量做如下说明。

变量 说明
GLOBAL_USER 用户名,适用于所有需要输入用户名的页面
GLOBAL_PASSWORD 务必修改为强密码,同样适用于所有需要输入密码的页面,同时也是Aria2 RPC密钥。
GLOBAL_LANGUAGE 设置导航页和Filebrowser界面语言,chs为中文
GLOBAL_PORTAL_PATH 导航页路径和所有Web服务的基础URL,相当于密码之外多一层保护。不能为“/"和空值,结尾不能加“/"
RCLONE_CONFIG_BASE64 Rclone配置文件Base64编码,可使用linux系统base64命令或者在线base64工具生成。注意,多远程存储Rclone配置文件可能超过Heroku变量32kb的上限。
RCLONE_DRIVE_NAME Rclone远程存储配置名称,后面不要加冒号。默认值auto将从配置文件第一行中提取
RCLONE_AUTO_MODE 控制Aria2、metube和dlpr指令与Rclone联动模式,详细说明见下文
TZ 时区,Asia/Shanghai为**时区
HEROKU_API_KEY Heroku账号API密钥,可选项,用于从dyno内部更新rclone配置文件变量,解决rclone token过期问题。需要HEROKU_APP_NAME和HEROKU_RESTART_TIME变量配合,而且dyno在指定的HEROKU_RESTART_TIME必须正在运行。可从Heroku账号面板处获得,也可以用heroku cli命令heroku authorizations:create创建。
HEROKU_APP_NAME Heroku APP名称。
HEROKU_KEEP_AWAKE 设置为"true"可以阻止dyno空闲时休眠,需要HEROKU_APP_NAME变量配合。
HEROKU_RESTART_TIME 指定更新Rclone配置文件的时间,可选项,在指定的时间正在运行的dyno会重启。格式为6:00,24小时制,时区为TZ变量所指定的时区。
YTDL_OPTIONS metube下载所使用的yt-dlp参数,默认值与rclone联动。更多参数详见metube#configuration
YTDL_OUTPUT_TEMPLATE Metube下载输出文件名格式,详见yt-dlp#output-template
VMESS_UUID Vmess协议UUID,务必修改,建议使用UUID工具生成
VMESS_PATH Vmess协议路径,不要包含敏感信息

RCLONE_AUTO_MODE:

  1. dummy模式为无操作,move模式为Aria2下载及做种完成后移动到本地finished目录。
  2. move_remote模式为Aria2下载及做种完成后先移动到本地data数据卷下finished目录,然后移动到rclone远程存储。
  3. move_remote_only模式为Aria2下载及做种完成后移动到rclone远程存储。
  4. copy_remote_first模式为Aria2下载完成后立即复制到rclone远程存储,BT任务在做种前即触发。
  5. copy_remote模式为Aria2下载及做种完成后先移动到本地finished目录,然后复制到rclone远程存储。
  6. custom模式为自行设置Aria2配置文件触发脚本选项。

move_remote和move_remote_only模式下mutube以及dlpr指令下载完成后会移动文件至rclone远程存储,copy_remote和copy_remote_first模式下则为复制。

初次使用

  1. 部署完成后,比如你的heroku域名是bobby.herokuapp.com,导航页路径是/portal,访问bobby.herokuapp.com/portal 即可到达导航页。
  2. 点击AriaNg,这时会弹出认证失败警告,按下图把之前部署时设置的密码填入RPC密钥即可。 image
  3. yt-dlp下载工具可以通过ttyd在网页终端执行,使用方法详细见:https://github.com/yt-dlp/yt-dlp#usage-and-options
    内置快捷指令:
    dlpr:使用yt-dlp下载视频到videos文件夹下,下载完成后发送任务到rclone,受RCLONE_AUTO_MODE变量控制。
  4. Rclone Webdav 地址:Heroku_app域名/${GLOBAL_PORTAL_PATH}/rclonedav

更多用法和注意事项

  1. 如果网页访问APP出现故障,按下shift+F5强制刷新,如果还不行,从浏览器中清除app对应的heroku域名缓存和cookie。
  2. Heroku每24小时重启后恢复到部署时文件系统,尽管config文件夹下配置文件会自动备份和尝试恢复,除了变量外任何改动都建议在部署前在github仓库内修改。
  3. 修改Heroku app变量方法:在Heroku app页面上点击setting,再点击Reveal Config Vars即可修改。
  4. Rclone配置文件末尾加上如下内容,可以在Rclone Web前端中挂载本地存储,方便手动上传。
[local]
type = alias
remote = /mnt/data
  1. 无法通过Rclone Web前端建立需要网页认证的存储配置。
  2. 个别标题有特殊字符的视频metube下载后rclone可能无法上传,需要在YTDL_OPTIONS变量中添加:"restrictfilenames":true
  3. content/aria2目录下,aria2_chs(en).conf为Aria2配置文件,按需要指定的语言环境变量选择版本修改。script.conf为Aria2自动化配置文件,可以设置aria2清理文件方式和Rclone上传目录。
  4. 每次dyno启动自动更新BT tracker list,如果需要禁用,重命名或删除/content/aria2/tracker.sh文件。
  5. content/homer_conf目录下是导航页设置文件homer_chs(en).yml和图标资源,新加入的图标,在设置文件中要以./assets/tools/example.png这样的路径调用。
  6. Vmess协议AlterID为0,可用Vmess WS 80端口或者Vmess WS tls 443端口连接。Xray设置可以通过content/service/xray/run文件修改。Heroku国内直连很难,需要使用Cloudflare或其它方式中转。

heroku-all-in-one-app's People

Contributors

wy580477 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

heroku-all-in-one-app's Issues

Metube

Please help. How can i download from Hotstar, zee5, sonyliv websites as these sites are supported by yt-dlp.
But it's not working.

上传到团队盘失败

成功挂载了团队盘但上传失败,POST_MODE改成move_remote了,aria2日志如下

-------------------------- [�[1;33mTask Infomation�[0m] --------------------------
�[1;35mTask GID:�[0m ab4be103868f8509
�[1;35mNumber of Files:�[0m 1
�[1;35mFirst File Path:�[0m /mnt/data/downloads/[HYSUB][Bara Ou no Souretsu][13[BIG5_MP4][1280X720].mp4
�[1;35mTask File Name:�[0m [HYSUB][Bara Ou no Souretsu][13[BIG5_MP4][1280X720].mp4
�[1;35mTask Path:�[0m /mnt/data/downloads/[HYSUB][Bara Ou no Souretsu][13[BIG5_MP4][1280X720].mp4
�[1;35mAria2 Download Directory:�[0m /mnt/data/downloads
�[1;35mCustom Download Directory:�[0m /mnt/data/downloads
�[1;35mLocal Path:�[0m /mnt/data/downloads/[HYSUB][Bara Ou no Souretsu][13[BIG5_MP4][1280X720].mp4
�[1;35mRemote Path:�[0m 21
:/upload
�[1;35m.aria2 File Path:�[0m
-------------------------- [�[1;33mTask Infomation�[0m] --------------------------

{
"jobid": 1
}
04/19 09:50:26 [�[1;32mINFO�[0m] Successfully send job to rclone: /mnt/data/downloads/[HYSUB][Bara Ou no Souretsu][13[BIG5_MP4][1280X720].mp4 -> 21
:/upload
04/19 09:50:26 [�[1;32mINFO�[0m] Deleting empty directory ...

一些问题

1.你这个部署后,heroku无法登陆该app后台了 (heroku run bash -a APP_NAME), 你可以测试

2.通过网页ttyd命令行下载的可执行文件,会提示找不到,但实际在,用ls和cat命令可以查看到,但执行文件时会提示文件不存在。可能ttyd无法实现,那请问该怎么修改源码,比如我想安装BaiduPCS-Go 在usr/bin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.