
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Note: This library is currently in development and may undergo significant changes.
CLI for working with IPFS, with support for running IPFS clusters, uploading files to IPFS, and pin synchronization across nodes.
Dependencies:
npm install -g bgipfs
TOPICS
cluster Commands for setting up and managing IPFS cluster operations
ipfs Commands for managing IPFS node configuration and peering
sync Sync pins from an origin IPFS node to a destination IPFS node
upload Commands for uploading files to IPFS
COMMANDS
help Display help for bgipfs.
sync Sync pins from an origin IPFS node to a destination IPFS node
upload Upload a file or directory to IPFS
version Show version information
bgipfs ipfs
announce Configure IPFS to announce its public domain for peering
peer Connect to another IPFS node
bgipfs cluster
ipfs-announce Configure IPFS to announce its public domain for peering
auth Manage authentication credentials
backup Create a backup of IPFS cluster data and configuration
config Set up or update the necessary configuration
install Install all required dependencies
logs Show container logs
ipfs-peer Connect to another IPFS node
reset Reset IPFS cluster and remove all data
start Start IPFS cluster
stop Stop IPFS cluster
restart Restart a running IPFS cluster
update Update IPFS and IPFS Cluster to their latest versions
During cluster setup, the cluster config command will help you populate:
PEERNAME - Peer name in the IPFS ClusterSECRET - Cluster secretPEERADDRESSES - Bootstrap peer addressesADMIN_USERNAME - Admin username for dashboard accessADMIN_PASSWORD - Admin password for dashboard accessUSER_USERNAME - User username for upload endpointUSER_PASSWORD - User password for upload endpointGATEWAY_DOMAIN - Gateway domain (dns mode)UPLOAD_DOMAIN - Upload endpoint domain (dns mode)identity.json - Cluster peer identity [DO NOT SHARE]service.json - Cluster service configurationipfs.config.json - IPFS node configurationauth/admin-htpasswd - Admin credentials for dashboard accessauth/user-htpasswd - User credentials for upload endpointThe cluster backup command creates a complete backup of your IPFS cluster, including:
Usage:
# Create backup with automatic timestamped directory
bgipfs cluster backup
# Create backup in a specific directory
bgipfs cluster backup --output ./my-backup
The cluster update command helps you update IPFS and IPFS Cluster to their latest versions:
# Update with automatic backup
bgipfs cluster update
# Update without backup
bgipfs cluster update --no-backup
# Update with backup to specific directory
bgipfs cluster update --backup-dir ./my-backup
The update process:
To enable peering between IPFS nodes in your cluster:
Announce Your Node
# Configure with interactive prompt
bgipfs cluster ipfs-announce
# Configure with specific domain
bgipfs cluster ipfs-announce --domain example.com
This will:
Connect to Another Node
# Connect with interactive prompts
bgipfs cluster ipfs-peer
# Connect with specific details
bgipfs cluster ipfs-peer --domain example.com --peer-id QmPeerId
This will:
The domain will be saved in your .env file as IPFS_PEERING_DOMAIN.
Powered by ipfs-uploader
bgipfs upload config init # Initialize upload configuration
bgipfs upload config get # Get upload configuration
bgipfs upload [PATH] # Upload a file, directory, or URL to IPFS
# Upload a file
bgipfs upload path/to/file.txt
# Upload a directory
bgipfs upload path/to/directory
# Upload from URL
bgipfs upload https://example.com/image.jpg
# Upload with custom config
bgipfs upload --config ./custom/path/config.json path/to/file.txt
This is for manually syncing pin lists between nodes. The specified nodes can be Kubo endpoints, or the IPFS proxy endpoint of an IPFS Cluster node. This is powered by js-kubo-rpc-client
bgipfs sync config init # Initialize sync configuration
bgipfs sync config get # Get sync configuration
bgipfs sync [ls|add|pin] # Sync pins between IPFS nodes - ls just lists, pin lists and pins, add fetches, adds and pins
# List pins from origin node
bgipfs sync ls
# List pins with a limit
bgipfs sync ls --limit 10
# Pin CIDs from origin to destination
bgipfs sync pin
# Pin with a limit
bgipfs sync pin --limit 5
# Add and pin content from origin to destination
bgipfs sync add
# Add with status tracking and resume capability
bgipfs sync add --statusFile sync-status.csv
# Retry failed pins from previous run
bgipfs sync add --statusFile sync-status.csv --retry
# Customize parallel processing and progress updates
bgipfs sync add --chunkSize 20 --progressUpdate 50
# Set error thresholds for automatic stopping
bgipfs sync add --errorThreshold 25 --errorWindow 50
--statusFile: File to track sync status. If exists, will resume from last state--retry: Retry failed pins from status file--limit: Limit the number of pins to process (useful for testing)--chunkSize: Number of pins to process in parallel (default: 10)--progressUpdate: Number of pins to process before showing progress (default: 100)--errorThreshold: Stop if rolling error rate exceeds this percentage (0-100, default: 50)--errorWindow: Number of pins to consider for rolling error rate (default: 100)--pinSource: Source of pins: "origin" or path to CSV file (default: "origin")FAQs
BuidlGuidl IPFS CLI
We found that bgipfs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.