Giter VIP home page Giter VIP logo

transfer's People

Contributors

danth avatar dependabot[bot] avatar nextcloud-bot avatar rakekniven 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

Watchers

 avatar  avatar  avatar  avatar

transfer's Issues

Create an icon for the app

Description

Create a custom icon to symbolize transferring a file from one server to another.

Use case

Can be used in these places:

  • App store
  • New file menu
  • Activity events

/tmp may have limited capacity

Especially on servers which use external storage, the temporary directory may not be able to hold a large file during the transfer.

The best solution to this will be to stream the file either directly the target location, or to the app's data directory, making sure to clean it up correctly if the transfer fails.

Allow entering a list of urls

Description

Allow the user to input a list of urls or maybe even a file containing multiple urls.
The list should then probably use a line break as a seperator, meaning one url per line or something (since pretty much most other characters and symbols could possibly be used in urls)

Use case

Makes the process of downloading multiple files a lot faster.
Having a list of maybe even multiple hundreds of urls would take a lot of time when having to input them one at a time.

Currently got a list of 490 urls and best way for me to get through that list right now would be to use jdownloader on my server, download the first batch and check for files larger than 4GB splitting them up into multiple archive parts and then uploading them to my nextcloud, delete the first batch and so on.
Would be great if I could just easily queue them all for download directly on my NC without having to queue 490 urls one at a time.

Transations on Transifex

Description

Hi @danth :)

I would love to translate your app to French !

Would it be possible for you to connect it to Transifex for everyone to be able to translate it?

Thank you very much in advance!

Use case

Make this great app more integrated and accessible to all users.

Notify when a transfer is finished

Description

Send a notification and an activity entry when a download has completed.

Use case

Allows users to know the status of their transfer.

Small Bug: app.php deprecation error

Current behaviour

Hey there,

Just doing some maintenance trying to clear my NC error log. For your app I get the following small bug... but everything seems to work ok...

transfer
`

{"reqId":"Yp5fPqnsnK-mLQwtAuq0MwAABRc","level":0,"time":"June 06, 2022 20:10:38","remoteAddr":"192.168.61.1","user":"fathertimetest","app":"transfer","method":"GET","url":"/index.php/apps/logreader/poll?lastReqId=Yp5fPansnK-mLQwtAuq0MgAAAxc","message":"/appinfo/app.php is deprecated, use \OCP\AppFramework\Bootstrap\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36","version":"24.0.1.1"}

`

Expected behaviour

No deprecation messages

System information

NC 24 on Ubuntu server 20.04 with Php7.4-fpm

Log output

{"reqId":"Yp5fPqnsnK-mLQwtAuq0MwAABRc","level":0,"time":"June 06, 2022 20:10:38","remoteAddr":"192.168.61.1","user":"fathertimetest","app":"transfer","method":"GET","url":"/index.php/apps/logreader/poll?lastReqId=Yp5fPansnK-mLQwtAuq0MgAAAxc","message":"/appinfo/app.php is deprecated, use \OCP\AppFramework\Bootstrap\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36","version":"24.0.1.1"}

Transfer is not compatible with Nextcloud 25

Describe the bug
Transfer is not working on NC25, + button to transfer file from URL doesn't appear.

To Reproduce
Steps to reproduce the behavior:

Install nextcloud 25
Install transfer
Try to add a new file from URL

Expected behavior

  • Button showing Menu (Upload file, New file, New folder, Transfer file from URL..)

Screenshot
transfer

Desktop :
OS: Windows 11 22H2
Browser Latest firefox

Thank you ! Have a nice day :)

Separate occ command?

First of all, thanks for this great plugin! We are using it to pull large scientific datasets (often several TiB) into our Nextcloud instance.
This works perfectly fine for the download, but since those download can take several hours to complete, they will block the cronjob during this time.
Would it make sense to provide the option to execute the downloads in a separate occ command?

Fetch and set default file name + extension automatically

Description

Hi @danth ! :)

First and foremost, let me thank you a lot for coding and publishing this extension!
I've been missing this feature since the time it was inside ownCloud or something like that - and got removed for security reasons (if I am not mistaken). I missed it to the point of creating a "junk" folder on my desktop, specifically for situations like these when you have to use your computer first to download a file, then drag and drop it.
Of course NC Downloader app allows to download files over Https, however it requires a lot more interactions and is way less straightforward than your great app! So I really wanted to thank you for this !! :)

Back to our topic, I was wondering if your app could only ask for the link to download and fetch/set the file name (and extension) automatically acccording to its remote name ?
That would reduce even further the interactions needed to get a remote file downloaded straight away.
Then you could maybe create an app settings section and add an option in it to let the user define the file name before downloading it ?

Furthermore, when I download a picture and type a name without the extension, the file cannot be open from within Nextcloud Files:
image

Use case

Make the app even faster and easier to use.

Transfer file from URL is missing for shared folders (Write Allowed)

Current behaviour

For all folders when the user is logged in the below is the create context dropdown

image

But for a public shared folder which has upload/write enabled, the transfer via url option is missing.

public_share_snip

Expected behaviour

Transfer file via url option is expected to be available in the shared folders for which write access is provided.

System information

Nextcloud 24.0.2
PHP 7.4
Ubuntu 20.04 LTS

Log output

N.A

Downloads not working

Current behaviour

Neither pdf nor other file download are working.
Pdf is downloaded as a corrupted 1kb file. Not working.
Exe file of a programm updated of 4GB is not dwonlaoded at all.

Yes I know the time gap between the cron runs. Nothing.

Expected behaviour

correct downlaod

System information

Ubuntu 20.0.4 latest
NC 23 latest

Log output

No response

Need more info on how to use this app

Description

A description on how to use it.
Am i supposed to paste the url of the file i want to copy to my server?

Advantages

So we can use it...

Implementation details

No response

Immediate download

Description

The Readme states that:

The download will happen in a background job, which should start within five minutes if your server is set up correctly. If you want transfers to start sooner, you will need to configure your server so that cron.php is triggered more often.

I am then wondering what are the initial reasons why the download is run through a Cron task (which will de facto delay the download and might kill it earlier than expected), rather than having the Transfer app create a proper download job immediately? :)

Use case

Avoid a download delay

AxiosError: Request failed with status code 500

Current behaviour

Getting error notification message - Request failed with status code 500

image

Expected behaviour

Download file and save to nextcloud folder.

System information

Nextcloud 24
Ubuntu 20.04 LTS
Maria DB 10.6
Php 7.4

Log output

ParseError: syntax error, unexpected ')', expecting '|' or variable (T_VARIABLE)

/var/www/nextcloud/lib/composer/composer/ClassLoader.php - line 428:
Composer\Autoload\includeFile()
<>
Composer\Autoload\ClassLoader->loadClass()
<>
spl_autoload_call()
/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 114:
ReflectionClass->__construct()
/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 133:
OC\AppFramework\Utility\SimpleContainer->resolve()
/var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php - line 465:
OC\AppFramework\Utility\SimpleContainer->query()
/var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php - line 437:
OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()
/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 89:
OC\AppFramework\DependencyInjection\DIContainer->query()
<>
OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}("*** sensiti ... *")
/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 108:
array_map()
/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 116:
OC\AppFramework\Utility\SimpleContainer->buildClass()
/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 133:
OC\AppFramework\Utility\SimpleContainer->resolve()
/var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php - line 465:
OC\AppFramework\Utility\SimpleContainer->query()
/var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php - line 437:
OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()
/var/www/nextcloud/lib/private/AppFramework/App.php - line 159:
OC\AppFramework\DependencyInjection\DIContainer->query()
/var/www/nextcloud/lib/private/Route/Router.php - line 298:
OC\AppFramework\App::main()
/var/www/nextcloud/lib/base.php - line 1023:
OC\Route\Router->match()
/var/www/nextcloud/index.php - line 36:
OC::handleRequest()

Optional checksum verification

Description

  • Add a dropdown list for checksum algorithms: [None], MD5, SHA1, SHA256, SHA512, โ€ฆ
  • Add a text field to attach a known hash of the remote file.
  • Implement verification of file hash after download:
    • Mismatch? Delete file! (And notify user.)
    • Match? Keep file.

Use case

Detect transfer failures and/or altered files. (The latter in case of i.e. untrusted mirror servers but with trusted checksums stored at the main server.)

Progress bars

Description

Display a progress bar for ongoing downloads.

Hopefully this can be implemented within the files app, showing the progress bar in the place where the file would appear if it already existed.

Use case

Provides live feedback to the user so that they know what is happening.

ParseError: syntax error, unexpected ')', expecting '|' or variable (T_VARIABLE)

Current behaviour

File should be downloaded as part of the Cron job. However, this does not happen. Error above appears instead, in logs.

Expected behaviour

I have tested this using both my internal cron job and also ajax and get same error under both. However all other background jobs work fine. It does not matter what type of file it is indicating a possible setup issue on my end, but I am not sure. For our purposes, I picked this file from wikipedia:
https://wikiless.org/media/wikipedia/commons/6/6b/Sparta_Territory.svg

Soon after, I get this:

[cron] Error: syntax error, unexpected ')', expecting '|' or variable (T_VARIABLE)

System information

Running Nextcloud server. 23.0.3
Transfer version 2.1
However, I noticed this also happened with 2.0.
PHP 8.0

When running self-diagnostics, all checks pass green. There seems to be no conflict with other apps and when the Transfer app gets disabled/deleted error does not appear. If I do not try to download a file using the Transfer app, no error appears.

Log output

RAW below. This occurs regardless of Cron method.

{"reqId":"vw6auLI5yyozVQQxMRn8","level":3,"time":"2022-04-08T13:15:43-04:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","message":"syntax error, unexpected ')', expecting '|' or variable (T_VARIABLE)","userAgent":"--","version":"23.0.3.1","exception":{"Exception":"ParseError","Message":"syntax error, unexpected ')', expecting '|' or variable (T_VARIABLE)","Code":0,"Trace":[{"file":"/home/XXX/XXXsite.com/lib/composer/composer/ClassLoader.php","line":428,"function":"Composer\Autoload\includeFile","args":["/home/XXX/XXXsite.com/apps/transfer/lib//Service/TransferService.php"]},{"function":"loadClass","class":"Composer\Autoload\ClassLoader","type":"->","args":["OCA\Transfer\Service\TransferService"]},{"function":"spl_autoload_call","args":["OCA\Transfer\Service\TransferService"]},{"file":"/home/XXX/XXXsite.com/lib/private/AppFramework/Utility/SimpleContainer.php","line":112,"function":"__construct","class":"ReflectionClass","type":"->","args":["OCA\Transfer\Service\TransferService"]},{"file":"/home/XXX/XXXsite.com/lib/private/AppFramework/Utility/SimpleContainer.php","line":131,"function":"resolve","class":"OC\AppFramework\Utility\SimpleContainer","type":"->","args":["OCA\Transfer\Service\TransferService"]},{"file":"/home/XXX/XXXsite.com/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":463,"function":"query","class":"OC\AppFramework\Utility\SimpleContainer","type":"->","args":["OCA\Transfer\Service\TransferService"]},{"file":"/home/XXX/XXXsite.com/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":435,"function":"queryNoFallback","class":"OC\AppFramework\DependencyInjection\DIContainer","type":"->","args":["OCA\Transfer\Service\TransferService"]},{"file":"/home/XXX/XXXsite.com//lib/private/AppFramework/Utility/SimpleContainer.php","line":87,"function":"query","class":"OC\AppFramework\DependencyInjection\DIContainer","type":"->","args":["OCA\Transfer\Service\TransferService",true]},{"function":"OC\AppFramework\Utility\{closure}","class":"OC\AppFramework\Utility\SimpleContainer","type":"->","args":["*** sensitive parameters replaced "]},{"file":"/home/XXX/XXXsite.com/lib/private/AppFramework/Utility/SimpleContainer.php","line":106,"function":"array_map","args":[{"class":"Closure"},[{"class":"ReflectionParameter","name":"time"}," sensitive parameter replaced ***"]]},{"file":"/home/XXX/XXXsite.com/lib/private/AppFramework/Utility/SimpleContainer.php","line":114,"function":"buildClass","class":"OC\AppFramework\Utility\SimpleContainer","type":"->","args":[{"class":"ReflectionClass","name":"OCA\Transfer\BackgroundJob\TransferJob"}]},{"file":"/home/XXX/XXXsite.com/lib/private/AppFramework/Utility/SimpleContainer.php","line":131,"function":"resolve","class":"OC\AppFramework\Utility\SimpleContainer","type":"->","args":["OCA\Transfer\BackgroundJob\TransferJob"]},{"file":"/home/XXX/XXXsite.com/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":463,"function":"query","class":"OC\AppFramework\Utility\SimpleContainer","type":"->","args":["OCA\Transfer\BackgroundJob\TransferJob"]},{"file":"/home/XXX/XXXsite.com/lib/private/ServerContainer.php","line":145,"function":"queryNoFallback","class":"OC\AppFramework\DependencyInjection\DIContainer","type":"->","args":["OCA\Transfer\BackgroundJob\TransferJob"]},{"file":"/home/XXX/XXXsite.com/lib/private/BackgroundJob/JobList.php","line":287,"function":"query","class":"OC\ServerContainer","type":"->","args":["OCA\Transfer\BackgroundJob\TransferJob"]},{"file":"/home/XXX/XXXsite.com/lib/private/BackgroundJob/JobList.php","line":225,"function":"buildJob","class":"OC\BackgroundJob\JobList","type":"->","args":[{"id":"40203","class":"OCA\Transfer\BackgroundJob\TransferJob","argument":"{"userId":"USERXXX","path":"\/Public\/Published\/Sparta_Territory.svg","url":"https:\/\/wikiless.org\/media\/wikipedia\/commons\/6\/6b\/Sparta_Territory.svg"}","last_run":"0","last_checked":"1649438106","reserved_at":"0","execution_duration":"0","argument_hash":"3ec8cba406436703597724df0e1521bc","time_sensitive":"1"}]},{"file":"/home/XXX/XXXsite.com/cron.php","line":144,"function":"getNext","class":"OC\BackgroundJob\JobList","type":"->","args":[false]}],"File":"/home/XXX/XXXsite.com/apps/transfer/lib/Service/TransferService.php","Line":29,"CustomMessage":"--"},"id":"62506ea0d32e4"}

Unable to download.

I unable to upload file from Dropbox to my nextcloud.

This's the log

GuzzleHttp\Exception\InvalidArgumentException: sink must not be a boolean

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.