jgxvx / cilician-runner
Command Line Interface for the Cilician Library
Requires
- php: ^8.2|^8.3
- cache/filesystem-adapter: ^1.0
- guzzlehttp/guzzle: ^6
- jgxvx/cilician: ^4.0
- league/flysystem: ^1.0
- psr/simple-cache: ^1
- symfony/console: ^6.4|^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- gase/php-cs-fixer: ^3.1
- mockery/mockery: ^1.4
- phpstan/phpstan: ^1.6
- phpstan/phpstan-mockery: ^1.1
- phpstan/phpstan-phpunit: ^1.1
- phpunit/phpunit: ^9.5|^10.0
- roave/security-advisories: dev-master
README
Command Line Interface for the Cilician library, a PHP client to the haveibeenpwned.com APIs.
Prerequisites
The environment variable HIBP_API_KEY
must be set with the value of a valid Have I Been Pwned API key.
Installation
The recommended way to install Cilician is by using Composer:
$ composer global require "jgxvx/cilician-runner"
The installation can be verified by invoking
$ cilician --version
Cilician Runner 0.1.0
If the cilician executable is not found, make sure the global Composer directory is in the PATH, or symlink the executable to a location in your PATH, e.g.
$ ln -s ~/.composer/vendor/bin/cilician /usr/local/bin/cilician
Usage
Commands
To see a list of available commands, run
$ cilician list
To get help for a specific command, run
$ cilician help <command>
Verbosity
The -v
option can be passed to all commands for more verbose output.
Check a Password
To see if a password has appeared in one or more breaches, run
$ cilician password 12345678 -v
Getting All Breaches for an Account
To see if the account john@doe.com has been breached, simply run
$ cilician breaches john@doe.com -v
To narrow down the search to a specific domain:
$ cilician breaches john@doe.com --domain=example.com -v
By default, only verified breaches are returned. To include unverified breaches, pass the following option to the command:
$ cilician breaches john@doe.com --include-unverified -v
Getting All Breached Sites in the System
To see a list of breached sites, run
$ cilician sites -v
This too, can be filtered by domain:
$ cilician sites --domain=example.com -v
Getting a Single Breached Site
To get information on a specific site, run
$ cilician site Adobe -v
Getting All Data Classes in the System
To get a list of all available data classes in the system, run
$ cilician data-classes
Getting All Pastes for an Account
Similar to breaches, a search can be made for all pastes of an account:
$ cilician pastes john@doe.com -v
Clearing the Cache
Cilician Runner uses a filesystem-based cache to optimise the requests made to the API. The cache directory is located at ./.cache
in the root directory of your Cilician installation.
To clear the cache, run
$ cilician clear-cache
License
Cilician is open source software published under the MIT license. Please refer to the LICENSE file for further information.
Contributing
We appreciate your help! To contribute, please read the Contribution Guidelines and our Code of Conduct.