Client tools for the Insula Labs platform.
ferry- CLI for data operationsportal- P2P HTTP proxy using WebRTC
Create a ferry.yaml file or set FERRY_CONFIG environment variable:
api_key_env: INSI_API_KEY
endpoints:
- api.insulalabs.io:443
skip_verify: false
timeout: 30sGenerate config from endpoints:
ferry --generate "endpoint1:443,endpoint2:443" > ferry.yamlSet API key via environment variable (default: INSI_API_KEY).
Connectivity
ferry pingValue Store (persistent)
ferry values get <key>
ferry values set <key> <value>
ferry values setnx <key> <value>
ferry values delete <key>
ferry values cas <key> <old_value> <new_value>
ferry values bump <key> <increment>
ferry values iterate <prefix> [offset] [limit]Cache (volatile)
ferry cache get <key>
ferry cache set <key> <value>
ferry cache setnx <key> <value>
ferry cache delete <key>
ferry cache cas <key> <old_value> <new_value>
ferry cache iterate <prefix> [offset] [limit]Events (pub/sub)
ferry events publish <topic> <data>
ferry events subscribe <topic>
ferry events purgeBlob Storage
ferry blob upload <key> <file>
ferry blob download <key> [output_file]
ferry blob delete <key>
ferry blob iterate <prefix> [offset] [limit]P2P File Transfer
ferry p2p receive <session-id> <output-file>
ferry p2p send <session-id> <file>WebRTC-based P2P HTTP proxy.
Receiver (waits for connection, proxies to local server):
portal receiver <session-id> <local-addr>Sender (connects to receiver, proxies from local server):
portal sender <session-id> <local-addr>Signaling uses cache for coordination.
make prod # Build for current platform
make cross # Cross-compile for all platforms
make clean # Remove build artifactsOutputs to build/ directory.
- Go 1.24.2+
- API key for Insula Labs platform