Difference between revisions of "Mozilla Addons"

From Archiveteam
Jump to navigation Jump to search
(Add details on what my archival covered exactly due to requests in #outofammo)
m (Fix addon subpage prefix)
Line 70: Line 70:
** data (<code>https://addons.mozilla.org/en-US/firefox/addon/SLUG/statistics/DATASET-day-YEAR0101-YEAR1231.json</code>)
** data (<code>https://addons.mozilla.org/en-US/firefox/addon/SLUG/statistics/DATASET-day-YEAR0101-YEAR1231.json</code>)
*** Here, <code>DATASET</code> was each of <code>('overview', 'apps', 'locales', 'os', 'versions', 'statuses', 'sources', 'downloads')</code>, and <code>YEAR</code> started from 2018 and went back until the returned data was empty.
*** Here, <code>DATASET</code> was each of <code>('overview', 'apps', 'locales', 'os', 'versions', 'statuses', 'sources', 'downloads')</code>, and <code>YEAR</code> started from 2018 and went back until the returned data was empty.
* any other subpage of the addon which is linked on the addon page and starts with <code>https://addons.mozilla.org/en-US/firefox/addon/ADDONID|SLUG/</code>, e.g. privacy policy
* any other subpage of the addon which is linked on the addon page and starts with <code>https://addons.mozilla.org/en-US/firefox/addon/ADDONID/</code> or <code>https://addons.mozilla.org/en-US/firefox/addon/SLUG/</code>, e.g. privacy policy
* feature compatibility API endpoint (<code>https://services.addons.mozilla.org/api/v3/addons/addon/ADDONID/feature_compatibility/</code>)
* feature compatibility API endpoint (<code>https://services.addons.mozilla.org/api/v3/addons/addon/ADDONID/feature_compatibility/</code>)
* EULA and privacy policy API endpoint (<code>https://services.addons.mozilla.org/api/v3/addons/addon/ADDONID/eula_policy/</code>)
* EULA and privacy policy API endpoint (<code>https://services.addons.mozilla.org/api/v3/addons/addon/ADDONID/eula_policy/</code>)

Revision as of 23:02, 13 October 2018

Mozilla Addons
Amo screenshot 2018-08-22.png
URL https://addons.mozilla.org/
Status Special case
Archiving status Saved! (addon files)
Upcoming... (website, warrior)
In progress... (website, JAA)
Archiving type Unknown
IRC channel #outofammo (on hackint)
Project lead User:Arkiver, User:JustAnotherArchivist

Mozilla Addons, also known as AMO (from its domain, addons.mozilla.org), is a website run by the Mozilla Foundation which hosts extensions and themes for Firefox, Thunderbird, and other Mozilla software.

Extensions used to be based on XPI until the introduction of WebExtensions around 2016. Since Firefox 57 and Thunderbird 58, only WebExtensions are supported. XPI-based addons (called "legacy") are deprecated but still supported until the end-of-life of Firefox 52 ESR in September 2018. The legacy addons will be removed from AMO in early October 2018[1][2].

Website structure

As of September 2018, there are two different versions of AMO: the old version, called "classic desktop" on the website, and a redesigned new site. The two mostly serve the same content; the most important difference is that the new site does not serve user profile pages for non-developers while the old site does. The switching between the two sites happens through a cookie called mamo (modern AMO?); when it is set to off, the old site is served; when it's on or unset, the new site is served.

AMO uses numeric IDs and slugs for addon identification. (GUIDs are also used, but only in the API and internally in Firefox.) These IDs are shared with Thunderbird and Seamonkey addons, which used to be hosted on AMO but have since been moved to addons.thunderbird.net (which only exists in the "old" form; there is a "view the new site" link in the footer, but it doesn't have any effect as of 2018-09-30).

To track addon installations, AMO uses a src parameter everywhere on the site. There are at least 59 possible values for this parameter[3].

Addon download links have the general format https://addons.mozilla.org/firefox/downloads/file/$FILEID/$FILENAME?src=$SRC. Note that file IDs are separate from addon and version IDs. The filename typically contains the slug and a version identifier. When AMO detects that you're using a version of Firefox that is incompatible with an addon, it displays a "download anyway" link, which in additiona contains a type:attachment path segment between the file ID and the filename (i.e. .../file/$FILEID/type:attachment/$FILENAME...). All download URLs redirect to a CDN at addons.cdn.mozilla.net; the type:attachment is also reflected in that CDN URL as _attachments (which then inserts a Content-Disposition header); the src parameter is not included in the redirect target.

Besides the actual addon files, AMO also hosts preview screenshots, reviews, version history (including changelogs), statistics, and in some cases additional pages (e.g. privacy policy) for each addon. The review page only displays the most recent review of any particular user, and one needs to follow an extra link to discover a user's earlier reviews for the same addon.

Note that AMO does not only host extensions but also themes. These consist simply of a JSON object which provides the URLs for the relevant images and some additional settings (e.g. text colour), i.e. there is no real download for them.

The AMO API versions 3 and 4 are documented here and here, respectively.

Utilities

  • amo-links-getter: Both Wget and the Warrior are ineffective in downloading the site completely (besides there are many redundant links that are not taken into account as redirects causing the same content to be downloaded several times). This is a set of scripts that store all the links in a SQLite database to be downloaded later.

Archival

  • There were two (proper) attempts to archive AMO through ArchiveBot. job:4aa66jgox1pg1gp6gxzkgthiq ran from 2017-08-29 until early December 2017, and job:xew9sjj59osltx5oyjr6n9rg was started on 2018-07-29 and vanished sometime in August 2018.
  • All addon files (both from AMO for Firefox/Firefox Android and from addons.thunderbird.net for Thunderbird/Seamonkey) were downloaded by User:JustAnotherArchivist between 2018-09-14 and 2018-09-16.
  • The amo-links-getter list linked above was downloaded through ArchiveBot as job:akifc65k7kfhpdhfbveh79v1c (started on 2018-09-30, finished on 2018-10-07).
  • The old, "classic desktop" AMO website – minus downloads and src parameter variations, but including version history, reviews, and API data – is being grabbed by User:JustAnotherArchivist since 2018-09-30 (see below for details).
  • A warrior project for the website is in preparation.

JustAnotherArchivist's website grab

General notes:

  • Any URL starting with https://addons.mozilla.org/en-US/firefox/addon/ADDONID/ redirects to a URL using the slug instead. Only the ADDONID URLs are listed below for brevity, but of course the redirect target with the slug was also grabbed in all cases.
  • For all API resources, both the v3 and the v4 version was retrieved, but only the v3 URL is given below for brevity. Unless otherwise noted, you can simply replace v3 with v4 in those URLs to get the v4 URL.

For all addon IDs between 0 and 1009999 (largest existing ID as of 2018-10-13 is 1003947), these URLs are covered:

Furthermore, during the relevant stages above (addon page, "more", addon detail API endpoint, and reviews pages and API endpoints), usernames were extracted, and the user profiles were afterwards retrieved as well:

References