Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sgtpooki/helia-verified-fetch-cli
A simple CLI for downloading IPFS content using @helia/verified-fetch
https://github.com/sgtpooki/helia-verified-fetch-cli
fetch helia helia-verified-fetch ipfs javascript libp2p p2p typescript verified-fetch
Last synced: 4 days ago
JSON representation
A simple CLI for downloading IPFS content using @helia/verified-fetch
- Host: GitHub
- URL: https://github.com/sgtpooki/helia-verified-fetch-cli
- Owner: SgtPooki
- License: mit
- Created: 2024-04-02T20:32:53.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-12-05T18:30:29.000Z (20 days ago)
- Last Synced: 2024-12-17T11:43:20.372Z (8 days ago)
- Topics: fetch, helia, helia-verified-fetch, ipfs, javascript, libp2p, p2p, typescript, verified-fetch
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/@sgtpooki/helia-verified-fetch-cli
- Size: 1.62 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# @sgtpooki/helia-verified-fetch-cli
`@sgtpooki/helia-verified-fetch-cli` is a command-line interface tool designed to facilitate the download and fetching of content using the javascript IPFS implementation, [Helia](https://github.com/ipfs/helia), and [`@helia/verified-fetch`](https://github.com/ipfs/helia-verified-fetch/tree/main/packages/verified-fetch). It leverages various block brokers such as bitswap and trustless gateways to ensure secure and efficient data retrieval.
## Installation
To install `@sgtpooki/helia-verified-fetch-cli`, you need to have Node.js installed on your system. With Node.js installed, run the following command:
```sh
npm install -g @sgtpooki/helia-verified-fetch-cli
```## Usage
After installation, you can use the CLI tool by invoking it with the desired resource URL and additional options as needed.## Basic Usage
To fetch a resource, simply provide the resource URL as follows:`helia-verified-fetch-cli `
### "Hello world" example
This example shows how you can fetch a "hello world" CID from peers using bitswap. (note that `-t false` is disabling trustless gateway usage)
```
helia-verified-fetch-cli ipfs://bafkqaddimvwgy3zao5xxe3debi --debug 'helia*,helia*:trace' --data ~/tmp/hvf-data -t false
```### XKCD image example
```
helia-verified-fetch-cli 'ipfs://QmdmQXB2mzChmMeKY47C43LxUdg1NDJ5MWcKMKxDu7RgQm/1 - Barrel - Part 1/1 - Barrel - Part 1.png' --data ~/tmp/hvf-data > file.png && open file.png
```## Options
- `--data, -d`: Specify the directory to persist data/blockstore. By default, data is stored in-memory and will not persist between requests.
- `--use-bitswap, -b`: Use bitswap block broker. Enabled by default.
- `--use-trustless-gateways, -t`: Use trustless gateways. Enabled by default.
- `--trustless-gateways`: Provide a list of trustless gateways to use. Defaults to Helia default trustless gateways.
- `--accept, -a`: Set the Accept header for the request.
- `--verbose, -v`: Enable verbose logging, similar to setting DEBUG="helia*" in your environment variables.
- `--debug`: Set the DEBUG environment variable to the provided value.## Callouts
- Currently, piping json to `jq` will fail with `jq: parse error: Unfinished JSON term at EOF at line 2129, column 7`. If you write to a file and then pipe to `jq`, it will work as expected.