hirak / packagist-crawler
build mirror of packagist.org
0.0.1
2015-01-01 09:18 UTC
Requires
- php: >=5.3
- ext-curl: *
- ext-hash: *
- ext-json: *
- ext-pdo: *
- ext-pdo_sqlite: *
- ext-zlib: *
- spindle/httpclient: 1.*
This package is auto-updated.
Last update: 2024-11-14 22:00:35 UTC
README
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)