jingyu9575 / multithreaded-download-manager

Download manager extension for Firefox with multithreading support
Mozilla Public License 2.0
262 stars 36 forks source link

[Issue] Several questions/issues ? #16

Closed xerta555 closed 6 years ago

xerta555 commented 6 years ago

Hello,

I currently test your FF addon on 59b12 (x64), apparently it doesn't support an download link redirection such as dl-protect1.com website.

Effectivly when i have the link writed and accessible on the webpage, by doing the right-click to download the file located on another website, MDM download a strange little file with a random filename. The little file is accessible on the specified DIR.

For exemple, with other enhanced download manager like DTA, FDM, Flashget, IDM,....., their scripts must load the different redirects themselves until they obtain a target file with a recognized extension and offer it for download.

About the interface of your addon, i don't have find how to display the window download manager in a separated window, there is the option ?

I know that your addon is currently in alpha/experimental stage so you can't add all stuff in first version, and i have read in your Wiki page that some FF bugs are in pending zone to get fixed

https://github.com/jingyu9575/multithreaded-download-manager/wiki/Problems-with-disabling-the-feature-%22out-of-process-extensions%22

https://github.com/jingyu9575/multithreaded-download-manager/wiki/About-%22Cannot-access-internal-storage%22

Apparently the switching to WebExtension isn't easy for all FF devs expectly when FF doesn't make the good decision for their addons system :)

Hoping that you and others all arrived at conclusive results as was the case with previous programming methods.

jingyu9575 commented 6 years ago

doesn't support an download link redirection such as dl-protect1.com website

There are many methods of redirection, and I want to know which method the website dl-protect1.com uses, to fix the extension. However, this website does not work on my Firefox 59b12 / Linux. If I click "Effacer", the textbox is cleared. If I click "Envoyer", a blank page opens. I will check the website later.

display the window download manager in a separated window

It is in the right-click menu of the icon. default


I agree that the WebExtension system makes it difficult to write this type of extensions. A lot of things are restricted, and when the extension is affected by Firefox's bugs, I can not fix them in the extension's code.

xerta555 commented 6 years ago

There are many methods of redirection, and I want to know which method the website dl-protect1.com uses, to fix the extension.

Oh, ok so sometimes this website is used to sharing a download link to an host. How i could know wich method any website like it uses ? So you must have a valid link and put it into the dedicated box and click on the button to get the redirection link.

So briefly: Final host <= dl-protect1.com <= any website where the user put the dl-protect1.com link

It is in the right-click menu of the icon.

Yeah, effectivly i didn't have think that ahah this type of implementation is a good iead!

I agree that the WebExtension system makes it difficult to write this type of extensions. A lot of things are restricted, and when the extension is affected by Firefox's bugs, I can not fix them in the extension's code.

I am totally agree with u, in fact, i still have not really understood why the teams of developers don't try to make the previous programming languages ​​work with new Quantum versions, a problem of compatibility i think it there has never been any real response from Mozilla on this subject (apart from the one broadcast by the creator of DTA). Because it must be remembered, this to place developers and users used to a razor wire for a new technology that is still far from perfect. In addition, Mozilla staff must create the APIs to link basic functions with integration possibilities.

Actually I saw that a number of bugs or lacks API were put forward, i think for example extensions like DTA, PrivateTab, UI Eraser, Lazarus: Form Recovery, ..., but i'm go out from the subject.

More related to your extension that has good days in front of it (and i think it), would it be possible to add an option to ensure that the user can choose to open the settings page of the addon either in the browser extensions panel or in a new dedicated tab. The most powerfull extensions have this feature like μblock Origin and Tampermonkey to name a few. If you have already integrated this function into your extension, please tell me where the option is.

jingyu9575 commented 6 years ago

which method any website like it uses

Common methods of redirection are:

dl-protect1.com is still not working on my system. If you can upload the downloaded strange little file, I may be able to identify the method used there.

why the teams of developers don't try to make the previous programming languages ​​work with new Quantum versions

Basically, some WebExtensions supporters think:

However, this change causes Firefox to lose features for people who use lots of extensions, so I am not happy with it.

choose to open the settings page of the addon either in the browser extensions panel or in a new dedicated tab

Unfortunately, this feature is controlled by a flag open_in_tab in the extension's description file. This means the extension cannot provide both options (integrated, in new tab) and let the user choose. I can add an option that makes the default button open settings in a new tab. Do you think it is OK?

xerta555 commented 6 years ago

Common methods of redirection are:

  • Server-side redirect. Instead of providing a web page, the server just tell the browser to go to another address. Firefox follows this types of redirection automatically, so this extension can download such links.
  • Client-side redirect. The server gives a special web page (the strange little file). Once the page is loaded, it will go to the destination address automatically.

Understood, so for the test, there is a simple dl-protect1 link: https://www.dl-protect1.com/1234556001234556021234556101234556151xc3xr4n7l8e You must get finally the "nZk Killing Bites - 01 VOSTFR 1080p-Zone-Telechargement1.com-.mkv" file (it's juste an exemple).

About the strange file, there it is (unzip it): 1xc3xr4n7l8e.zip

I have find the final link in the file, unfortunatly there isn't any special tag to identify it out of this one: <a href=

Basically, some WebExtensions supporters think:

  • If Firefox loses market share, most people will use Chrome and websites will use Chrome-specific features. Then Firefox will die because it will not be supported by websites.
  • The major part of the market share is average people, who use no extensions and only want a fast and secure browser.
  • To make Firefox fast and secure, the code must be rewritten in a fast and secure way.
  • The previous extension system heavily depends on the old code, so Mozilla has to remove it when rewritting Firefox.

I see, so i ask myself the following question: Why not also think about designing a new language or an existed for their extensions in parallel with the planned development for Quantum? This would have avoided having not only users who stay on the latest non-Quantum releases, and others migrating to alternatives based on the old Firefox. In my opinion their judgment was a little done in the speed concerning the system of extensions, especially that doing it before its greatest strength. I think that most of questions will stay without answers unfortunatly.

However, this change causes Firefox to lose features for people who use lots of extensions, so I am not happy with it.

Effectivly, me too, mostly without a completed works, the prove: FF devs annonce that they write new API to make Quantum compatible with some importants existed API WebExtensions.

Unfortunately, this feature is controlled by a flag open_in_tab in the extension's description file. This means the extension cannot provide both options (integrated, in new tab) and let the user choose.

A bad choice on the part of the developers of this damn language..

I can add an option that makes the default button open settings in a new tab. Do you think it is OK?

I think u should make it yeah, no that i would like that you add in one day, it's just impossible and boring, but more in fact that if itsn't me, it's will be another user who will ask u for that. At least u add a base code in your addon, and when FF devs will enhance/add API into Quantum for that, u will have already a code beginning..

Another idea for improvement: with the current Quantum APIs, it's possible to integrate the download choices directly into the default FF download window?

I was thinking of an added line indicating to the user the possibility to start the download process directly above or above the button "Open with" for example. The choice of MDM could bring up a submenu presenting the different choices already available at the moment in the settings of the extension.

This is just an idea of what it was possible to do before the arrival of Quantum.

jingyu9575 commented 6 years ago

dl-protect1.com/1234556001234556021234556101234556151xc3xr4n7l8e

I checked this link. The protected link is uptobox.com/1xc3xr4n7l8e , and it is not a redirection but a normal web page: default I need to click the green button to start the download. At this page, my extension works by right-clicking the green button to download. The small file 1xc3xr4n7l8e you got is the source of the web page. <a href="..."> means a link, and the tag you found is just the "Click here to start your download" link. If I use DownThemAll/Waterfox 56 on the original link uptobox.com/1xc3xr4n7l8e, it will also download the small file 1xc3xr4n7l8e. I think it is very difficult to resolve this type of links, because it is a normal web page with a link button, not a redirection. I suggest just clicking the link, and starting download on the green button instead.

possible to integrate the download choices directly into the default FF download window

Not possible for WebExtensions now. See this Firefox bug. Currently I use the "automatically prompt for download" feature, so when I click a file link, the extension's download window will pop up. Clicking "Continue in browser" will switch to Firefox's built-in download dialog.


I will work on the option about the settings button.

xerta555 commented 6 years ago

I checked this link. The protected link is uptobox.com/1xc3xr4n7l8e , and it is not a redirection but a normal web page: default I need to click the green button to start the download. At this page, my extension works by right-clicking the green button to download. The small file 1xc3xr4n7l8e you got is the source of the web page. <a href="..."> means a link, and the tag you found is just the "Click here to start your download" link. If I use DownThemAll/Waterfox 56 on the original link uptobox.com/1xc3xr4n7l8e, it will also download the small file 1xc3xr4n7l8e. I think it is very difficult to resolve this type of links, because it is a normal web page with a link button, not a redirection. I suggest just clicking the link, and starting download on the green button instead.

Yeah true, but for users who have an paid access of this type of webs-hosters (like me for the exemple), we can enable an option to power-on the direct download feature. By doing this, users who having a session opened on theses website just have to click on any uptobox link (on dl-protect1 website for exemple) to download the final file.

I think that DTA must detect certain downloads in predefined formats and automatically launch the download, either by using the cookie saved in the browser, or by deep integration in the browser idk. In DTA, you can choose to either integrate the DTA options directly into the selection panel for a download or launch the download directly with pre-set settings. But it's blocked again by Quantum API as u linked.

Not possible for WebExtensions now. See this Firefox bug. Currently I use the "automatically prompt for download" feature, so when I click a file link, the extension's download window will pop up. Clicking "Continue in browser" will switch to Firefox's built-in download dialog.

I read the page that you indicated, and read other problems and requests all related to optimizations and/or bug fixes in Quantum, or need to create and / or WE API improvements already existing.

Clearly, and unless Mozilla makes an important announcement to this pop or is devoted to 500% on the work related to WE, we will have to take our trouble.

As many users of Mozilla say, you have to choose Option B, either go back to the latest version of Mozilla before migrating to Quantum, or migrate to another browser...

The more i read topics on the Mozilla bug forum, the more i think we should put the optimization ideas on stand-by for the moment. By cons, not to forget the ideas of optimizations and improvements of your WE, i think it would be a good idea to keep a simple file like a .txt for example where to write briefly different ideas and APIs that you will have to use. What do you say?

jingyu9575 commented 6 years ago

The option "Show the options page in a dedicated tab" has been added.


paid access of this type of webs-hosters

Looks like the login session is lost when downloading, but I am not sure. Without paid account, it is difficult to test.

different ideas and APIs

This wiki page is a start. I will add other ideas/bugs when I think of them.

xerta555 commented 6 years ago

The option "Show the options page in a dedicated tab" has been added.

Yeah i have see it and it's a very good news :) Now u can custom this page by adding some stuff like the logo, separating each group of option in different tabs, etc.....

Looks like the login session is lost when downloading, but I am not sure. Without paid account, it is difficult to test.

Compared to that, after reflection, i really think that this is a feature to recognize an incoming download with a filename whose extension is a specific one. If, for example, the incoming download is a file with the ".mkv" extension, then the download is intercepted by the extension and an extension-specific dialog opens or an option is added to the default download panel prompting the user to start the download task via the Firefox addon. It's should working better in this case whatever the downloading method used in next step.

This wiki page is a start. I will add other ideas/bugs when I think of them.

Yeah, by following differents FF bug feeds and update infos about them.

xerta555 commented 6 years ago

Hello, I think that it could be possible that u add an option to change the unit value of the download speed. Globally: adding the hability to changing the Kilobits (for exemple) to Kilobytes (and vice-versa).

I ask for that because personaly i would like to changing it to an octet value, who's used in most time by french users.

On Firefox, it's implemented, recognized and it works by default (it should works according to a local value i think).

I think you will have all the necessary WE API for that because the most Chrome users look no further than basic features like scripting, downloads, theming and basics markets gadgets.

Thanks in advance.

jingyu9575 commented 6 years ago

separating each group of option in different tabs

Instead of adding lots of UI options, I am considering custom CSS support, so users can customize the extension pages without updating.

changing it to an octet value

The unit of the download speed is already "Byte" (1024 based: 1KB=1024 Byte, 1MB=1024KB). Since 1 byte = 1 octet, do you just want to tranlate the letter "B" to "o" in fr locale?

xerta555 commented 6 years ago

Instead of adding lots of UI options, I am considering custom CSS support, so users can customize the extension pages without updating.

Oh amazing! I didn't know that it's possible, it's the reason for wich i ask that. So the user can edit the settings page ? How ?

The unit of the download speed is already "Byte" (1024 based: 1KB=1024 Byte, 1MB=1024KB). Since 1 byte = 1 octet, do you just want to tranlate the letter "B" to "o" in fr locale?

I don't know if your WE already take in consideration this number task "1024 based: 1KB=1024 Byte, 1MB=1024KB" it's why i write this question, so if yes you can add this into English translation :) I will push a little update for the french translation so..

xerta555 commented 6 years ago

18

Add french strings according to custom CSS support.

jingyu9575 commented 6 years ago

Custom CSS support is added to v1.4a0. See this wiki page for an example of tab layout in the options page.

The byte symbol is added to the locale file and translated to "o" in fr locale.


I think all the problems in this issue have been addressed now, so I am closing it. (I can still receive notifications from posts in closed issues.) If you have other questions or suggestions, please open a new issue, so other users can find it more easily.