crx DL link Fork

    @@ -10,41 +10,31 @@ // https://stackoverflow.com/questions/7184793/how-to-download-a-crx-file-from-the-chrome-web-store-for-a-given-id // http://0-9.tumblr.com/post/52782603407/chrome-extension-development-casual + // dev-doc c.f. + // https://gist.github.com/noromanba/5776183 (() => { 'use strict'; - // http://let.hatelabo.jp/noromanba/let/hLHVzOTQjfYH - // https://gist.github.com/noromanba/d730ccf3ae5e6916cd60 - // https://gist.github.com/noromanba/3705f2e9ebb8538328b2f3f9a6f1a9b3 - const canonical = () => { - const url = (document.head.querySelector([ - 'meta[property="og:url"][content]' - ]) || {}).content || - (document.head.querySelector([ - 'link[rel="canonical"][href]' - ]) || {}).href || - location.href; - - // https://developer.mozilla.org/en-US/docs/Web/API/URL - // https://developer.mozilla.org/en-US/docs/Web/API/URL.URL - return new URL(url); - }; - - // dev-doc c.f. - // https://gist.github.com/noromanba/5776183 - - // url syntax of Extension page; + // url syntax of Extension Page; // https://chrome.google.com/webstore/detail/[<EXTENSION_NAME>]/<EXTENSION_ID>[/] - const id = canonical().pathname.split('/').filter(s => !!s).pop(); - const link = [ - // You can use http, but final url redirect to https - 'https://clients2.google.com/service/update2/crx?response=redirect&x=id%3D', - id, - '%26uc', - // 32 or higher e.g. 33, 64 - '&prodversion=32' - // OBSOLETE "&prod=chrome" - ].join(''); + const extid = location.pathname.split('/').filter(s => !!s).pop(); + + // You can use http, but final url redirect to https + // OBSOLETE prod=chrome + const link = new URL('https://clients2.google.com/service/update2/crx'); + // URLSearchParams c.f. + // https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams + //*/ + link.searchParams.set('response', 'redirect'); + link.searchParams.set('x', 'id=' + extid + '&uc'); + // perhaps Chrome/mium ver: 32 or higher e.g. 33, 64, 99 + link.searchParams.set('prodversion', '32'); + /*/ + // .append for old browsers + link.searchParams.append('response', 'redirect'); + link.searchParams.append('x', 'id=' + extid + '&uc'); + link.searchParams.append('prodversion', '32'); + //*/ window.prompt('.crx raw link', link); })();
  • /*
     * @title crx DL link
     * @description prompt download-link of Chrome Extension aka crx on Chrome Web Store
     * @include https://chrome.google.com/webstore/detail/*
     * @contributor taizooo http://let.hatelabo.jp/taizooo/let/gYC-x-e5r_G0bw (Fork of)
     * @license MIT License https://opensource.org/licenses/MIT
     * @javascript_url
     */
    
    // https://stackoverflow.com/questions/7184793/how-to-download-a-crx-file-from-the-chrome-web-store-for-a-given-id
    // http://0-9.tumblr.com/post/52782603407/chrome-extension-development-casual
    
    // dev-doc c.f.
    // https://gist.github.com/noromanba/5776183
    (() => {
      'use strict';
    
      // url syntax of Extension Page;
      // https://chrome.google.com/webstore/detail/[<EXTENSION_NAME>]/<EXTENSION_ID>[/]
      const extid = location.pathname.split('/').filter(s => !!s).pop();
    
      // You can use http, but final url redirect to https
      // OBSOLETE prod=chrome
      const link = new URL('https://clients2.google.com/service/update2/crx');
      // URLSearchParams c.f.
      // https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams
      //*/
      link.searchParams.set('response', 'redirect');
      link.searchParams.set('x', 'id=' + extid + '&uc');
      // perhaps Chrome/mium ver: 32 or higher e.g. 33, 64, 99
      link.searchParams.set('prodversion', '32');
      /*/
      // .append for old browsers
      link.searchParams.append('response', 'redirect');
      link.searchParams.append('x', 'id=' + extid + '&uc');
      link.searchParams.append('prodversion', '32');
      //*/
    
      window.prompt('.crx raw link', link);
    })();
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2017/03/01 21:48:21 - 03/01
  2. 2017/02/28 19:48:16 - 02/28
  3. 2017/02/28 19:44:40 - 02/28
  4. 2014/11/05 21:52:07 - 2014-11-05
  5. 2014/11/05 21:37:03 - 2014-11-05
  6. 2014/02/10 20:33:54 - 2014-02-10
  7. 2013/06/13 18:57:23 - 2013-06-13
  8. 2013/06/13 18:56:40 - 2013-06-13
  9. 2013/06/13 17:30:48 - 2013-06-13
  10. 2013/06/13 17:27:14 - 2013-06-13
  11. 2013/06/13 16:27:48 - 2013-06-13
  12. 2013/06/13 15:58:32 - 2013-06-13