There are a few websites which allow you to download a module through them, entering the extension key, or searching through a list of modules like these:
I read this article that explains how to download a module, manually generating the URL of the module package, based on the data found on the module page. Using this information I wrote this small script, that when executed on a Magento Connect module page, opens a new window that causes the module package download to start:
var lastVersion = jQuery(".extension-version li")
.first().contents().last()
.text().trim();
jQuery("#button-purchase-input").click();
jQuery("#connect-version-id").val(2);
jQuery("#licence-agreement-checkbox").click();
jQuery("#get-extension-button-free").click();
var magentoConnectKey = jQuery("#extension-key-input").val();
var moduleName = magentoConnectKey.replace(/.*\/([^/]*)/, "$1");
window.open(
magentoConnectKey + "/" +
lastVersion + "/" +
moduleName + "-" +
lastVersion + ".tgz");
.first().contents().last()
.text().trim();
jQuery("#button-purchase-input").click();
jQuery("#connect-version-id").val(2);
jQuery("#licence-agreement-checkbox").click();
jQuery("#get-extension-button-free").click();
var magentoConnectKey = jQuery("#extension-key-input").val();
var moduleName = magentoConnectKey.replace(/.*\/([^/]*)/, "$1");
window.open(
magentoConnectKey + "/" +
lastVersion + "/" +
moduleName + "-" +
lastVersion + ".tgz");
What the code does is quite clear: it just clicks on some elements, gets the last version and the module key from the page, generates the URL and opens it on a new window.
I added this code to my favorites, and now, all I have to do to download a module is to go to the module page on Magento Connect and click the favorites button on the browser.
To add the script to the browser favorites you need to add the prefix "javascript:", so the browser interprets whatever comes next as a JavaScript code. Here is a minified vesion ready to paste:
javascript:(function(){var e=jQuery(".extension-version li").first().contents().last().text().trim();jQuery("#button-purchase-input").click(),jQuery("#connect-version-id").val(2),jQuery("#licence-agreement-checkbox").click(),jQuery("#get-extension-button-free").click();var n=jQuery("#extension-key-input").val(),t=n.replace(/.*\/([^/]*)/,"$1");window.open(n+"/"+e+"/"+t+"-"+e+".tgz")})();