Page MenuHomeVyOS Platform

Change curl to aria2c
Closed, InvalidPublicFEATURE REQUEST

Description

curl usually works when the network is good. However, disconnection often occurs in areas where the network is not ideal, which will lead to the infeasibility of online upgrade. It is usually necessary to manually download ISO and upload it to vyos, and then perform local upgrade. The feasibility of changing curl to aria2c is discussed. And ask to modify it.

Using aria2c, we can achieve the disconnection retransmission and parallel transmission

http://aria2.github.io/

http://aria2.github.io/manual/en/html/index.html

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Internal change (not visible to end users)

Related Objects

StatusSubtypeAssignedTask
In progressFEATURE REQUESTNone
ResolvedFEATURE REQUESTerkin
InvalidFEATURE REQUESTNone

Event Timeline

We use curl over wget on image upgrade process.

jack9603301 renamed this task from Change wget to aria2c to Change curl to aria2c.EditedJul 27 2020, 5:11 PM
jack9603301 updated the task description. (Show Details)

Can we consider using aria2c instead of curl to support disconnection and reconnection and parallel download?

I see no valid reason why to replace a known to be good piece of software just to replace it with something more or less fancy/doubtfull.

As long as there is no real reason this is a -1

@c-po arai2c is the most frequently used download software in my computer. In fact, it is a command-line operating program. Under normal circumstances, aria2c has a high recognition among its users, even known as Linux's high-speed download software. It uses thread technology to download, transfers files in blocks, and supports disconnection and reconnection That is to say, as long as the server that downloads the file supports it, then aria2c can achieve breakpoint retransmission, that is, it can resume downloading from the last interrupted location without starting from the beginning.

@c-po In my personal opinion, it has more advantages than curl and wget. Because it can adapt to slow network (usually international communication is not particularly ideal period or area).

I have to say i agree with @c-po, i see no real reason for changing this. But it could be added as an optional executable but not changing our internal tools to use it. -1

The main consideration is that curl and WGet do not support breakpoint continuation function and concurrent download, while aria2 is a professional Downloader, which fully supports these functions. Of course, if the server supports breakpoint continuation, it can work well. This paper discusses the possibility of using aria2c for breakpoint continuation

You always say ‚if the server supports it‘s thats the main reason I do not want to add it - as it has a peer dependency which is bad times two. That counts as an additional -1 to me

-1 as well
As an additional tool I think it's ok but other than that there is no reason for that too.

You may be mistaken. I'm right. If the server supports downloading and using breakpoint continuation protocol (HTTP range download), then aria2c can make it work, and breakpoint continuation has certain advantages, that is, in case of abnormal interruption, it can restart the download from the last interrupted location, instead of downloading from the beginning.. Moreover, the multi-threaded download function of aria2c may improve the efficiency and speed of downloading

Of course, even if vyos does not support it or the community does not agree with it, it is not impossible to upgrade. I usually use SFTP to upload to the router to perform the local upgrade after downloading from the computer. Therefore, the current download tool can be modified and replaced selectively. This is only to explore the possibility

It seems that this is the use of win. Aria2 was originally just a Linux command and downloader. I feel that I haven't found any major problems with my experience. However, I respect the choice of the community

This feature request will be closed because the community does not agree to the replacement

erkin set Issue type to Internal change (not visible to end users).
erkin removed a subscriber: Active contributors.