9 releases

Uses new Rust 2024

0.1.8 Mar 2, 2026
0.1.8-alpha.3 Mar 1, 2026
0.1.7 Mar 1, 2026
0.1.7-alpha.2 Feb 28, 2026

#71 in #interact


Used in 2 crates (via pahe)

AGPL-3.0

32KB
748 lines

Pahe

A small library and CLI to interact with AnimePahe and Kwik in Rust

Crates.io Version Crates.io License GitHub Actions Workflow Status Docker Image Size

features

  • fetch series & episodes metadata
  • resolve kwik mirror links
  • concurrent downloads

supported platforms

  • Linux (x86_64)
  • Windows (x86_64)
  • MacOS (ARM64 & Apple Silicon)
  • Docker

installation

linux

x86_64

curl -L -o pahe-cli https://github.com/notruri/pahe/releases/latest/download/pahe-cli-linux-x86_64
chmod +x pahe-cli
sudo mv pahe-cli /usr/local/bin/pahe-cli

arm64

curl -L -o pahe-cli https://github.com/notruri/pahe/releases/latest/download/pahe-cli-linux-aarch64
chmod +x pahe-cli
sudo mv pahe-cli /usr/local/bin/pahe-cli

macOS

intel

curl -L -o pahe-cli https://github.com/notruri/pahe/releases/latest/download/pahe-cli-macos-x86_64
chmod +x pahe-cli
sudo mv pahe-cli /usr/local/bin/pahe-cli

apple silicon

curl -L -o pahe-cli https://github.com/notruri/pahe/releases/latest/download/pahe-cli-macos-aarch64
chmod +x pahe-cli
sudo mv pahe-cli /usr/local/bin/pahe-cli

windows

  • download pahe-cli-windows-x86_64.exe from the release page.
  • rename it to pahe-cli.exe and add it to your PATH (optional).

cargo

cargo install pahe-cli

docker

ghcr

docker pull ghcr.io/notruri/pahe:latest
docker run --rm ghcr.io/notruri/pahe:latest --help

usage

client

use pahe::prelude::*;

#[tokio::main]
async fn main() {
    let cookies = "__ddgid_=VGWtUB15hlasBLCE; __ddg2_=kGckOKa1z5a2I7yi; __ddg1_=UgXYjtJdbr7gS8ZiQH8z;";
    let pahe = PaheBuilder::new()
        .cookies_str(cookies)
        .build()
        .unwrap();
    let anime = pahe.get_series_metadata("https://animepahe.si/anime/8d9c277c-d8eb-f789-6158-b853a7236f14").await.unwrap();
    println!("{:?}", anime);
}

cli

downloading

an episode

Downloading an episode

pahe-cli download \
    --series https://animepahe.si/anime/4a9abc55-0a54-c544-3e14-736c79ddafe7 \
    --episodes 1

specific episodes

Downloading episodes

pahe-cli download \
    --series https://animepahe.si/anime/4a9abc55-0a54-c544-3e14-736c79ddafe7 \
    --episodes 2-5

interactive mode

or if you don't want to manually type arguments, use interactive mode using -i or --interactive flag

Interactive mode

pahe-cli -i

bypassing ddos-guard

AnimePahe has a ddos-guard to prevent spamming, if ddos-guard blocks the request, go to the animepahe website, copy the cookies and either set the PAHE_COOKIES environment variable or pass them into the --cookies flag

  • using environment variable

    export PAHE_COOKIES='__ddgid_=VGWtUB15hlasBLCE; __ddg2_=kGckOKa1z5a2I7yi; __ddg1_=UgXYjtJdbr7gS8ZiQH8z;'
    
  • using command line argument

    pahe-cli --cookies '__ddgid_=VGWtUB15hlasBLCE; __ddg2_=kGckOKa1z5a2I7yi; __ddg1_=UgXYjtJdbr7gS8ZiQH8z;'
    

usage notes

  • this project is currently in development, and it may or may not work correctly
  • some animepahe requests may require ddos-guard clearance cookies.
  • pass cookie headers through the builder when needed.
  • if parallel downloads aren't working (eg; stalling), try reducing the connections or set it to single connection (-n 1)

Dependencies

~23–34MB
~561K SLoC