orpheusnet/logchecker

用于验证由支持的抓取程序(如EAC和XLD)生成的日志的Logchecker

0.14.0 2024-02-01 16:40 UTC

This package is auto-updated.

Last update: 2024-09-13 01:33:55 UTC


README

CD抓取日志检查器,用于分析生成的日志,以查找可能表明非完美抓取的问题。当然,日志得分不是100%并不意味着生成的抓取不是位完美的,只是不太可能。此库应该适用于任何支持PHP和Python的操作系统。

虽然此库将分析日志的大部分内容,但不幸的是,它无法正确验证所有类型的日志的校验和。这是由于这些程序的开发者将它们的日志检查器做成闭源,并涉及一些定制的数学工作来生成它。因此,我们必须回退到外部方法来验证EAC和XLD的校验和。如果日志检查器检测到我们没有必要的程序,那么我们将跳过此外部步骤并假设校验和是有效的。有关设置验证校验和所需程序的说明,请参阅以下您关心的程序。

需求

  • PHP 8.1+

可选需求

pip3 install cchardet eac-logchecker xld-logchecker

独立

安装

通过composer安装

composer global require orpheusnet/logchecker

或者,访问我们的发布页面,并获取logchecker.phar文件。下载此文件,然后可以通过运行php logchecker.phar通过CLI执行它。如果您使用chmod +x修改文件,则可以直接执行(即./logchecker.phar)。要全局安装,请运行

mv logchecker.phar /usr/local/bin/logchecker
chmod +x /usr/local/bin/logchecker

使用方法

$ logchecker list
Logchecker 0.11.1

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  analyze    [analyse] analyze log file
  decode     Decodes log from whatever encoding into UTF-8
  help       Displays help for a command
  list       Lists commands
  translate  Translates a log into english

主要使用analyze命令,例如。

$ logchecker analyze --no_text path/to/file.log
Ripper  : EAC
Version : 1.0 beta 3
Language: en
Score   : 59
Checksum: checksum_ok
Details :
    Could not verify gap handling (-10 points)
    Could not verify id3 tag setting (-1 point)
    Range rip detected (-30 points)

代码

<?php

$logchecker = new OrpheusNET\Logchecker\Logchecker();
$logchecker->add_file('path/to/file.log');
list($score, $details, $checksum_state, $log_text) = $logchecker->parse();

库使用

安装

composer require orpheusnet/logchecker

使用方法

<?php

require __DIR__ . '/vendor/autoload.php';

use OrpheusNET\Logchecker\Logchecker;

$logchecker = new Logchecker();
$logchecker->newFile('/path/to/log/file');
$logchecker->parse();
print('Ripper   : ' . $logchecker->getRipper() . "\n");
print('Version  : ' . $logchecker->getRipperVersion() . "\n");
print('Score    : ' . $logchecker->getScore() . "\n");
print('Checksum : ' . $logchecker->getChecksumState() . "\n");
print("\nDetails:\n");
foreach ($logchecker->getDetails() as $detail) {
    print("  {$detail}\n");
}
print("\nLog Text:\n\n{$logchecker->getLog()}");

构建

要构建自己的phar,请参阅release.yml工作流程,但大致方法是

  1. 克隆此存储库并进入存储库
  2. 安装box
  3. 运行box compile
  4. 在存储库根目录中获取logchecker.phar