Anubis-bypass.md

Anubis PoW Solver API

Solves all Anubis proof-of-work challenges. Server does compute, client does network I/O.

https://anubis.adasin.qzz.io

How it works

  1. Request a challenge from the target site and note its challenge ID, challenge data and difficulty.
  2. Send those values to POST /api/solve.
  3. Take the pass_params from the response and submit them to the site's pass-challenge endpoint.
  4. Reuse the cookies the site sets on all later requests.

Endpoints

GET /api/capabilities

Response:

{
  "ok": true,
  "supported_methods": [
    // ...
  ]
}

POST /api/solve

Request:

// Soteria
{
    "method": "soteria",
    "challenge_id": "01a1a9f9-15e8-75e1-b268-a62d20ee4ae6",
    "request": "c3d955108621b2be200000000800000...",
    "difficulty": 14
}

// Argon2id
{
    "method": "argon2id",
    "challenge_id": "a72c8568-78f9-48c4-b7fc-30159cc0caaa",
    "random_data": "330b94aa6487ff840f8b0c3780...",
    "difficulty": 2
}

// Fast
{
    "method": "fast",
    "challenge_id": "784ff485-4f71-46da-84b4-6f5ac14d5d29",
    "random_data": "53df58004c7baaf6066af5aea2...",
    "difficulty": 4
}

Response:

// Soteria
{
    "ok": true,
    "method": "soteria",
    "challenge_id": "01a1a9f9-15e8-75e1-b268-a62d20ee4ae6",
    "pass_params": {
        "id": "01a1a9f9-15e8-75e1-b268-a62d20ee4ae6",
        "nonces": "5040,10245,2555,1710",
        "elapsedTime": 98,
        "fingerprint": "a69bdb139974k3a7"
    },
    "nonces": [5040, 10245, 2555, 1710],
    "fingerprint": "a69bdb139974k3a7",
    "elapsed_ms": 98,
    "attempts": 8320
}

// Argon2id
{
    "ok": true,
    "method": "argon2id",
    "challenge_id": "a72c8568-78f9-48c4-b7fc-30159cc0caaa",
    "pass_params": {
        "id": "a72c8568-78f9-48c4-b7fc-30159cc0caaa",
        "response": "a53ec71f3fd30716749d5ee88cdb592...",
        "nonce": 7,
        "elapsedTime": 253
    },
    "nonce": 7,
    "hash": "a53ec71f3fd30716749d5ee88cdb592...",
    "elapsed_ms": 253
}

// Fast
{
    "ok": true,
    "method": "fast",
    "challenge_id": "784ff485-4f71-46da-84b4-6f5ac14d5d29",
    "pass_params": {
        "id": "784ff485-4f71-46da-84b4-6f5ac14d5d29",
        "response": "000055b3101f3e3402317563...",
        "nonce": 20398,
        "elapsedTime": 59
    },
    "nonce": 20398,
    "hash": "000055b3101f3e3402317563...",
    "elapsed_ms": 59
}

Using the Solution (pass-challenge)

After calling /api/solve, use pass_params to submit to the target site:

GET {base_url}/.within.website/x/cmd/anubis/api/pass-challenge?{pass_params}&redir=/

The target responds with:

  • 302 redirect to the redir path
  • Cookies set:
    • techaro.lol-anubis-cookie-verification — the challenge ID
    • techaro.lol-anubis-auth — a JSON Web Token (JWT)

Include these cookies on all subsequent requests to bypass the challenge.

参与讨论