llms.txt Content
# no (network-output)
> A fast, structured networking CLI for HTTP, WebSocket, TCP, UDP, MQTT, SSE, DNS, Ping, and WHOIS.
`no` is a Rust-based CLI tool that provides consistent structured JSON output across nine networking protocols. Output is newline-delimited JSON when piped and pretty-printed when interactive. It includes a built-in jq filter, IPv6 support, and automatic URL scheme inference.
- Docs: [network-output.com](https://network-output.com)
- Source: [github.com/network-output/no](https://github.com/network-output/no)
- Full reference: [llms-full.txt](https://network-output.com/llms-full.txt)
## Installation
```sh
cargo install network-output # Cargo
brew install network-output/tap/network-output # Homebrew
npx @network-output/no # npm (one-off)
npm install -g @network-output/no # npm (global)
```
Windows (Scoop): `scoop bucket add network-output https://github.com/network-output/scoop-bucket && scoop install no`
## Protocols
### HTTP
```sh
no http GET https://httpbin.org/get
no http POST https://api.example.com/data -b '{"key":"value"}' -H "Content-Type:application/json"
no http GET https://api.example.com --bearer $TOKEN
no http GET https://api.example.com --basic user:pass
no http GET https://example.com/file.tar.gz -o file.tar.gz
no http POST https://api.example.com/upload --stdin
```
Methods: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS.
### WebSocket
```sh
no ws listen ws://localhost:8080
no ws send ws://localhost:8080 -m "hello"
```
### TCP
```sh
no tcp connect localhost:9090 -m "hello"
no tcp connect [::1]:9090 -m "hello" # IPv6
no tcp connect localhost:9090 --stdin
no tcp listen :9090
no tcp listen [::]:9090 # IPv6 listen
```
### UDP
```sh
no udp send 127.0.0.1:9090 -m "hello"
no udp send [::1]:9090 -m "hello" # IPv6
no udp send 127.0.0.1:9090 -m "ping" --wait 3s
no udp listen :9090
```
### MQTT
Broker address is positional.
```sh
no mqtt sub localhost:1883 -t "sensor/temp"
no