Skip to content

Latest commit

 

History

History
57 lines (41 loc) · 2.25 KB

actualizer.md

File metadata and controls

57 lines (41 loc) · 2.25 KB

fastside-actualizer

fastside-actualizer is a helper CLI that refreshes the central catalogue services.json. Its job is to:

  • Crawl upstream index pages / APIs to discover new instances.
  • Check liveness of every known instance (HTTP code & ping history).
  • Update instance tags (IPv6, HTTPS, onion, etc.).
  • Remove dead hosts and optionally deprecate empty services.

Invocation

fastside-actualizer actualize [OPTIONS] [services.json]

Key flags:

  • --output <FILE> – write result to another file.
  • --data <FILE> – persistent ping history (defaults to data.json).
  • --max-parallel <N> – limit concurrent HTTP checks.
  • --update <SERVICE>... – restrict run to one or more services.
  • Global --config & --log-level mirror the main binary.

The utility respects the same config.yml (for proxy settings and crawler timeouts).

Algorithm (simplified)

  1. Read services.json → map<service, instances>.
  2. For each service find specific updater in services/*. If none found – skip discovery.
  3. Merge new + existing instance list, normalise scheme/port.
  4. Ping every instance using HTTP client with per-domain timeout.
  5. Record result into data.json (rolling history).
  6. Purge stale instances (failed >N times).
  7. Write back sorted & pretty-printed services.json.

Run it periodically (cron/GitHub Action) and commit the updated file so the server does not have to guess.

Anubis probes

The actualizer and native crawler automatically solve fast, slow, sha256, argon2id, hashx, metarefresh, and preact challenges. Cloudflare Workers uses a remote solver.

Probes reuse saved cookies and solve again when needed. They use the same proxy and user agent throughout, then check the service HTTP status and search string. Proof calculations have a 10-second limit, with at most two running at once.

To check instances tagged anubis without changing the catalogue or ping history:

cargo run -p fastside-shared --release --example probe_anubis -- services.json report.json

Optional arguments after report.json select a configuration file and the number of probes per instance (default: 1). The report records challenge completion, session reuse, and service availability.