Git Product home page Git Product logo

savehere's People

Contributors

clementcampagna avatar gudarzi 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

Watchers

 avatar

savehere's Issues

Add input sanitization

There's no input sanitization. The app might be vulnerable to malicious user inputs.

Also, there are no checks on the downloaded files. Requested files could probably overwrite sensitive files on the host!

Fix the packaging of the app

Fix the packaging of the app and create 1 single docker image to ease deployment (no need to include filebrowser)

Show download speed

The app must show current/average download speed to the user.
Also, use better units in frontend for showing file sizes!

Add an option for selecting network interface to use for download

Add an option for selecting the network interface that the app uses for downloading files
a webserver could be connected to multiple networks using different network interfaces, each with their own ipv4/ipv6
using different ip/interface for downloading files could help with rate limiting, network-level access management, etc.

The app can't properly download huge files

The app can't properly handle downloading big files. It would be better to use a download engine like aria2 instead of relying on .net classes for downloading files!

Add speed graph to frontend

Add a collapsable speed graph for each download queue item and show current/average download speed on the graph

Fix the need to create an empty database file manually

For the backend api to work properly, you must create an empty file at db/database.sqlite3.db. Despite using EnsureCreated and Migrate in code, the file is not created automatically by asp.net. Please find a way to fix this.

Folder ownership constantly changing

There's an issue on linux where folder ownership/permissions for downloads folder keeps changing to an irrelavant user. Doing this fixes it temporarily, but we need a better solution.

sudo chown -R 1000:1000 downloads/
sudo chmod -R 777 downloads/

Fix file name of downloaded files

Add an option for using filenames that the target server sends, instead of using the url which can end up creating files with invalid names!

Add a button for updating the app to the latest version

Add a button to the frontend that runs a script for updating the app to the latest version. it's probably something like this:

  • stop the app (docker compose down)
  • pull the latest version (git pull)
  • clear some junk and data (everything under db/ and downloads/)
  • run the app using docker

Show more info before downloading a file

Show more info about a file, right after adding a new link to the queue. Also, show errors if the server can't access the file. Things to consider:

  • file size (otherwise show proper message)
  • chosen filename
  • chosen file extension
  • whether the file is protected by user:password
  • any errors or exceptions

Add methods for increasing download speed

Add settings/methods for increasing download speed. For example:

  • using parallel connections for downloading (let users decide how many connections to use)
  • using HTTP_v2 and its features like multiplexing (multiple requests over 1 connection)
  • increasing buffer size (it's 80kb for now)

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.