retrieval-tester
v1.0.19
Published
CLI tool to test Filecoin retrieval performance
Readme
Filecoin Retrieval Tester CLI
A robust, extensible CLI tool for benchmarking and comparing Filecoin/IPFS HTTP gateway endpoints. Designed for Filecoin developers, node operators, and researchers to measure retrieval performance, reliability, and health across multiple endpoints.
Features
- Test 10+ Filecoin/IPFS HTTP gateways in parallel
- Advanced metrics: latency, download speed, total time, DNS/TCP times, attempts, health score
- Configurable concurrency, retries, and timeout
- JSON and human-readable output formats
- Per-endpoint error handling and summary statistics
- Extensible TypeScript codebase
Installation
npm install -g retrieval-testerUsage
retrieval-tester --cid Qm123...Options
--cid, -c <cid>: (required) Filecoin CID to test--endpoints, -e <urls...>: List of endpoints to test (default: 10+ built-in gateways)--format, -f <text|json>: Output format (default: text)--concurrency, -n <number>: Number of parallel requests (default: 4)--retries, -r <number>: Retries per endpoint (default: 2)--timeout, -t <ms>: Timeout per request in ms (default: 7000)--verbose, -v: Enable verbose output--version, -V: Show version number--help, -h: Show help
Installation & Usage (Development)
Development (with ts-node)
npm install
npx ts-node src/index.ts --cid <CID>Production (build & run)
npm run build
node dist/index.js --cid <CID>CLI Options
--cid <cid>(required): Filecoin CID to test--endpoints <urls...>: List of endpoints (default: 10+ built-in gateways)--format <text|json>: Output format (default: text)--concurrency <n>: Number of parallel requests (default: 4)--retries <n>: Retries per endpoint (default: 2)--timeout <ms>: Timeout per request in ms (default: 7000)
Usage Examples
# Basic usage (text output)
npx retrieval-tester --cid Qm...
# JSON output
npx retrieval-tester --cid Qm... --format json > results.json
# Custom endpoints, concurrency, retries
npx retrieval-tester --cid Qm... --endpoints https://dweb.link https://ipfs.io --concurrency 8 --retries 3 --timeout 10000Contributing
- Fork the repo and create a feature branch
- Write clear, tested code and add/modify tests
- Open a pull request with a detailed description
License
MIT OR Apache-2.0 (see LICENSE)
© Abdulkareem Oyeneye (supercoolkay)
🚀 Beta Testing & Feedback
This CLI is currently in beta.
We welcome your feedback, bug reports, and suggestions!
- Report issues or bugs: GitHub Issues
- Suggest features: GitHub Discussions
- Contact maintainers: Open an issue or discussion on GitHub.
Thank you for helping us improve!
