- Notifications
You must be signed in to change notification settings - Fork0
A continuation of legacy XUL version of DownThemAll! ✔️preserves web.archive.org timestamps, ✔️advanced filters for remote directory tree mirroring, ✔️UI is tweaked for better UX
License
minch-dev/DownTheMoon
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Logo is not ready yet, so there are generic empty arrows in place for now. I can't use the original branded graphics according to the license, so I have to come up with my own before release.
This fork is a direct continuation of the original XUL-based DownThemAll! extension. It's an update of the last upstream pre-release 3.1.1pre version from 2017. Until recently XUL version was unique in it's ability to preserve originaldate modified timestamps of downloaded files. I've changed extension ID and all settings' names, so it works without conflicts alongside other forks. A few features were added in this version:
- preserves original timestamps on any files from WebArchive.org by taking 'em from "x-archive-orig-last-modified" http header property (or "x-archive-orig-date" / "memento-datetime" when not available)
- allows to export/import relative local save paths from/to a download list
- allows to copy a remote website's directory structure (easier and with more options)
- allows to ignore the 'proxy' part and "www." part of the url while replicating
- differentiates between files without extension
\exampleand folder indexes\example\, providing the correctindex.htmname and local path. - replaces illegal symbols with their full-width counterparts: :*?"<>|
- checks if file exists before downloading it if conflict resolution is set to "skip"
- all of the above works in DTM OneClick mode via the most recent filter used (as expected)
- some UI/UX improvements been made like those ultra small non resizable dialogue windows are now less small and more resizable
You can run this extension in Pale Moon, WaterfoxClassic, Basilisk, Firefox ESR 52.x & Firefox Developer Edition 56.x. Relevant version of Waterfox doesn't support XPCOM, so won't work. SeaMonkey needs some fixes, so maybe later.
Simply download (https://github.com/minch-dev/DownTheMoon/releases/download/latest/down-the-moon.xpi) and install .xpi file. As with any other extension these methods should work:
- right click .xpi file and choose
open with-> [your browser] - drag and drop .xpi file into a browser window
- at the
about:addonspage click ⚙️ ->install from file
Openabout:config, findxpinstall.signatures.required and switch it tofalse. Now you can install an .xpi file using one of the aforementioned methods.
Ifxpinstall.signatures.required is not available, one can install an unpacked extension viaabout:debugging#addons, but onlyfor 1 session. Download the source code as zip, unzip it somewhere, pressLoad Temporary Add-on button, locate your unpacked extension and chooseinstall.rdf file.
Not supported.
Not supported. OnlyWaterfox Classic works.
Updates are provided by an .xpi file hosted underlatest release tag at github. You can conveniently smack thatFind updates menu option or even turn on an autoupdate if you have enough courage :3.
https://developer.mozilla.org/en-US/docs/Setting_up_extension_development_environmentJust clone the repository and use an extension proxy file. No additional build step required.
- Pull requests welcome. By submitting code you agree to license it under MPL v2 unless explicitly specified otherwise.
- Please stick to the general coding style.
- Please also always add unit tests for all new js modules and new module functions.
- Unit tests for UI (overlays) aren't required at the moment, but welcome. There is currently no infrastructure to run those, though.
Seemake.py.
modules/glue.jsm- This is basically the main module, also specifying the general environment for all modules and window scopes.modules/main.js- General setup.modules/loaders/- "overlay" scripts. Different to traditional Firefox add-ons, DownTheMoon! does not use real overlays and overlay scripts, but kind of simulates overlays via modules.chrome/content/- UI. Right now, due to historical reasons and some too-tight coupling the UI JS also contains some of the important data structures such asQueueItem(representing a single queued download)Please note that being restartless requires code to clean up after itself, i.e. if you modify something global you need to reverse the modifications when the add-on is unloaded. See
unload()andunloadWindow()(in glue.jsm and/or support/overlays.js)Please make use of the niceties Firefox JS (ES6) and of the global helpers from glue.jsm, in particular:
for ofloops- Sets and (weak) maps
- generators
- comprehensions and destructoring assignment
Object.freeze(),Object.defineProperties(), etc.log()lazy()/lazyProto()ServicesandInstances
About
A continuation of legacy XUL version of DownThemAll! ✔️preserves web.archive.org timestamps, ✔️advanced filters for remote directory tree mirroring, ✔️UI is tweaked for better UX
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- JavaScript90.5%
- CSS7.6%
- Python1.6%
- Other0.3%