Skip to content

Cloud Download Manager (Direct Links and Video/Audio from Youtube/Soundcloud/etc)

License

Notifications You must be signed in to change notification settings

gudarzi/SaveHere

Repository files navigation

Screenshot of SaveHere App Screenshot of SaveHere App

SaveHere

Cloud Download Manager

In v3.0, the app has been rewritten from scratch in .Net Blazor
Ytdlp backend has been added for downloading Video/Audio from Youtube/Soundcloud/...
Enable WarpPlus proxy to bypass youtube restrictions

Table of Contents

What does it do

SaveHere is a cloud download manager that allows you to download files from either direct links or video/audio from websites like youtube/soundcloud/etc using ytdlp (see Supported Sites).

Dependencies

SaveHere uses .Net Core with Blazor. To run SaveHere, you need to have either docker or dotnet installed.

To run the app using dotnet, you will need to have .Net 8+ installed. Checkout ms/dotnet or ms/dotnet-sdk. If you're running ubuntu, you can just do sudo apt install dotnet8.

In addition, it is recommended that you run SaveHere behind a reverse proxy such as Nginx or Nginx Proxy Manager. This will allow you to access the app using your own domain name and SSL certificate, and provide additional security and performance benefits.

How to run this app using docker

To run SaveHere using docker, follow these steps:

  1. Create a file named docker-compose.yml and fill it with this:
services:
 savehere:
   image: ghcr.io/gudarzi/savehere:latest
   environment:
     - ASPNETCORE_ENVIRONMENT=Production
     - ASPNETCORE_HTTP_PORTS=8080
     #- ASPNETCORE_HTTPS_PORTS=8081
     - SIGNALR_HUB_URL=http://localhost:8080/DownloadProgressHub
     - BASIC_AUTH_USERNAME="" # Provide Basic Auth Username If Required
     - BASIC_AUTH_PASSWORD="" # Provide Basic Auth Password If Required
     - PUID=1000
     - PGID=1000
     - "urls=http://0.0.0.0:8080"
   ports:
     - "172.17.0.1:18480:8080"
     #- "172.17.0.1:18481:8081"
   volumes:
     - ./downloads:/app/downloads # Remove this if you experience very long loading times
     - ./db:/app/db # Remove this if you experience very long loading times
   user: 0:0
  1. Run the app using this command:
docker compose pull
docker compose up -d --build --force-recreate
  1. Now the app is available at 172.17.0.1:18480.

You can use "0.0.0.0:18480:8080" to publish the app on all available interfaces.

If you encounter any errors about write permissions or corrupt database, just remove folders db and downloads that the app has created.

If you're running the app behind a basic auth, provide BASIC_AUTH_USERNAME and BASIC_AUTH_PASSWORD environment variables in the docker-compose configs.

How to run this app using dotnet

To run SaveHere using dotnet, follow these steps:

  1. Clone the repository from GitHub and navigate into the directory:
git clone https://github.com/gudarzi/SaveHere.git
cd SaveHere
  1. Build the app:
dotnet build SaveHere/SaveHere/SaveHere.csproj -c Release
  1. Navigate to your app directory:
cd SaveHere/SaveHere/bin/Release/net8.0/
  1. Run the app:
dotnet SaveHere.dll --urls=http://127.0.0.1:7777

Now the app is running at localhost 127.0.0.1 port 7777.

If you're running the app behind a basic auth, set these 2 environment variables before running the app.

Linux

export BASIC_AUTH_USERNAME="your_username"
export BASIC_AUTH_PASSWORD="your_password"

Windows cmd

set BASIC_AUTH_USERNAME=your_username
set BASIC_AUTH_PASSWORD=your_password

Windows powershell

$env:BASIC_AUTH_USERNAME = "your_username"
$env:BASIC_AUTH_PASSWORD = "your_password"

To Do

  • Add user accounts and set their access policies
  • Add youtube downloader
  • Add spotify downloader
  • Add rjmusic downloader
  • Add terminal
  • Add full file manager
  • Add temporary short links
  • Check issues for more!

How to contribute

I welcome contributions from the community to help improve SaveHere. If you're interested in contributing, please check the To Do list or take a look at the project's issues page to see if there are any open issues that you can help with. You can also submit pull requests with bug fixes, new features, or other improvements. Before submitting a pull request, please make sure that your code follows the project's coding standards and that all tests are passing. I will review all pull requests as soon as possible and provide feedback if necessary.

Disclaimer

This is a hobby project that I work on in my spare time. While I try to make it as good as possible, I cannot guarantee that it is free of bugs or errors, or that it will meet your specific needs. As such, I cannot be held responsible for any damage or loss that may result from using this project.

I welcome any contributions that can help improve the project, but I cannot guarantee that I will be able to incorporate all suggested changes or respond to all feedback. I also reserve the right to reject any contributions that I deem inappropriate or not in line with the project's goals.

About

Cloud Download Manager (Direct Links and Video/Audio from Youtube/Soundcloud/etc)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages