Getting Started
1. Run the server
docker run -p 3000:3000 ghcr.io/netprofile/qoe:latestOr build from source:
git clone https://github.com/netprofilenet/qoe-go-server
cd qoe-go-server
go build -o bin/qoe-server ./cmd/qoe-server
./bin/qoe-server2. Run a test in the browser
Open http://localhost:3000 for the built-in test UI, or visit the netprofile speed test page and enter your server URL.
3. Use the JS library
npm install @netprofile/qoe-js
import { QOEClient } from '@netprofile/qoe-js'
const client = new QOEClient()
client.setServer({
httpUrl: 'http://localhost:3000',
webrtcSignalingUrl: 'ws://localhost:3000/signaling',
stunServers: ['stun:stun.l.google.com:19302'],
// ... other ServerInfo fields
})
const results = await client.runQualityTest()
console.log('Download:', results.download.bandwidthMbps, 'Mbps')4. Use the Go library
go get github.com/netprofile/qoe-go
import qoe "github.com/netprofile/qoe-go"
client := qoe.NewClient()
client.DiscoverBestServer("config/servers.json")
results, _ := client.RunQualityTest(context.Background())
fmt.Printf("%.1f Mbps down\n", results.Download.BandwidthMbps)5. Use the CLI
go install github.com/netprofile/qoe-go/cmd/qoe@latest
qoe test --mode=quality --server=http://localhost:3000