netprofilealpha

Getting Started

1. Run the server

docker run -p 3000:3000 ghcr.io/netprofile/qoe:latest

Or 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-server

2. 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