Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cache update Nov 9, 2014
src fix statement object countability Jan 28, 2016
.gitignore update Jul 1, 2016
LICENSE add license Jan 1, 2015
README.md add license Jan 1, 2015
check.php remove gomi Jul 2, 2016
composer.json Add progress bar Jan 26, 2016
composer.lock Add progress bar Jan 26, 2016
config.default.php update Jul 20, 2016
index.html.php update template Jul 10, 2016
optimize.php bug fix Jul 1, 2016
parallel.php update Jul 20, 2016

README.md

packagist-crawler

packagist.orgをクロールして、全てのpackage.jsonをダウンロードします。 ダウンロードし終わったあとでstaticなweb serverで配信すれば、packagist.orgのミラーを作ることができます。

Requirement

  • PHP > 5.3
  • ext-curl
  • ext-hash
  • ext-json
  • ext-zlib
  • ext-PDO
  • ext-pdo_sqlite

Install

$ git clone https://github.com/hirak/packagist-crawler
$ cd packagist-crawler
$ composer install

Download!

$ php parallel.php

(...few minutes...)

$ ls cache/
p/
packages.json

Configuration

  • config.default.php
  • config.php

このどちらかのファイルがあると、挙動を変えることができます。 修正したいときはconfig.default.phpをconfig.phpにコピーして、 config.phpの方をカスタマイズしてください。

<?php
return (object)array(
    'cachedir' => __DIR__ . '/cache/',
    //'cachedir' => '/usr/share/nginx/html/',
    //'cachedir' => '/usr/local/apache2/htdocs/',
    'packagistUrl' => 'https://packagist.org',
    'maxConnections' => 4,
    'lockfile' => __DIR__ . '/cache/.lock',
    'expiredDb' => __DIR__ . '/cache/.expired.db
);

cachedir

ダウンロードしたpackages.jsonを格納するディレクトリです。

packagistUrl

ダウンロード元のpackagist.orgのURLです。 デフォルトではオリジンからダウンロードしますが、 既に存在する他のミラーサイトを指定することができます。

maxConnections

並列ダウンロードの並列数です。 増やした方が速くダウンロードできますが、 オリジンに負荷をかけるので適当なところにしてください。

expiredDb

ファイル更新によって古くなったjsonが記録されています。

License

著作権は放棄するものとします。 利用に際して制限はありませんし、作者への連絡や著作権表示なども必要ありません。 スニペット的にコードをコピーして使っても問題ありません。

ライセンスの原文

CC0-1.0 (No Rights Reserved)