misaki-core

Crates.iomisaki-core
lib.rsmisaki-core
version0.1.0
created_at2025-07-16 21:14:10.890134+00
updated_at2025-07-25 20:48:08.67974+00
descriptionFast, asynchronous link checker with optional FlareSolverr support.
homepage
repositoryhttps://github.com/Ravencentric/misaki
max_upload_size
id1756627
size58,308
Ravencentric (Ravencentric)

documentation

https://docs.rs/misaki-core

README

misaki

Crates.io Version docs.rs Crates.io License

misaki is a fast, asynchronous link checker with optional FlareSolverr support.

This repository contains two crates:

  • misaki-core: The core library that provides the link-checking functionality.
  • misaki-cli: A command-line interface for misaki-core.

misaki-core

misaki-core is a library for checking the status of URLs asynchronously.

Usage

Add misaki-core to your Cargo.toml:

$ cargo add misaki-core

Here is an example of how to use misaki-core:

use anyhow::Result;
use futures::StreamExt;
use misaki_core::LinkChecker;

#[tokio::main]
async fn main() -> Result<()> {
    let urls = vec!["https://httpbin.org/status/200"; 10];
    let checker = LinkChecker::builder().build().await?;
    {
        let iter = checker.check_all(urls).await;
        let mut iter = std::pin::pin!(iter);

        while let Some(status) = iter.next().await {
            println!("{:?}", status);
        }
    }
    checker.close().await?;
    Ok(())
}

misaki-cli

misaki-cli is a command-line tool for checking links.

Installation

You can install misaki-cli from crates.io using cargo:

cargo install misaki-cli

Alternatively, pre-built binaries for various platforms are available on the GitHub releases page.

Usage

You can pipe a list of URLs to misaki to check them:

cat urls.txt | misaki -

Or, you can pass a single URL directly as an argument:

misaki https://google.com

With FlareSolverr

To use FlareSolverr, provide the base URL of your FlareSolverr instance using the --flaresolverr flag.

cat urls.txt | misaki - --flaresolverr http://localhost:8191

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 0

cargo fmt