hirak/packagist-crawler

构建 packagist.org 的镜像

0.0.1 2015-01-01 09:18 UTC

This package is auto-updated.

Last update: 2024-09-14 21:44:44 UTC


README

通过爬取 packagist.org,下载所有 package.json 文件。下载完成后,通过静态 web 服务器分发,即可创建 packagist.org 的镜像。

要求

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

安装

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

下载!

$ php parallel.php

(...few minutes...)

$ ls cache/
p/
packages.json

配置

  • 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.cn',
    'maxConnections' => 4,
    'lockfile' => __DIR__ . '/cache/.lock',
    'expiredDb' => __DIR__ . '/cache/.expired.db
);

cachedir

下载的 packages.json 存储的目录。

packagistUrl

下载源 packagist.org 的 URL。默认情况下,从原始地址下载,但也可以指定其他存在的镜像站点。

maxConnections

并行下载的并行数。增加并行数可以加快下载速度,但会增加原始服务器负载,因此请合理设置。

expiredDb

记录了因文件更新而变得过时的 json。

许可证

版权已放弃。使用时没有限制,也不需要与作者联系或注明版权信息。即使以代码片段的形式复制并使用代码也没有问题。

许可证原文

CC0-1.0 (无保留权利)