/Colab-Heroku-AIO-APP-EX

All Downloaders with Rclone auto-upload on Colab/Heroku & more | Colab/Heroku 全能 APP

Primary LanguageShell

点击前往中文说明

Acknowledgments

Attention

  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.

Overview

Deployment

First run

More usages and precautions

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. (Rclone Webdav & Xray proxy only available on Heroku deployment)

VPS version

image

  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 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.

Deployment

Colab Deployment

  1. Make a folder named AIO_FILES in your Google Drive root folder.
  2. Upload main.zip to AIO_FILES folder.
  3. Upload 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
  2. Fork this this repository, then click Setting on fork repository page and check Template repository.
  3. Click new button: Use this template,create a new repository。
  4. For example, your Github username is bobby, and the new repository name is green. After logging in to heroku, visit https://dashboard.heroku.com/new?template=https://github.com/bobby/green to deploy.

First run

  • 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.

    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.

    [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.

More usages and precautions

  1. Hit shift+F5 to force refresh if web services don't work properly. If app still doesn't work, clear cache and cookie of your heroku domain from browser.

  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. 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
    
  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
    Example client setting with tls