PitchHut logo
FluxTest
Diagnose the performance of your server network effortlessly.
Pitch

FluxTest is a powerful, self-hosted application designed to evaluate the network performance of your own infrastructure. With features to measure latency, jitter, throughput, and bufferbloat, it provides actionable insights and a network score. Export detailed reports effortlessly, making it ideal for home labs, VPS, and private clouds.

Description

FluxTest is a self-hosted application designed for comprehensive testing of network performance within self-hosted infrastructures such as home labs, VPS, bare-metal servers, edge nodes, and private clouds. This powerful tool provides an in-depth diagnosis of network characteristics including:

  • Latency (round-trip time)
  • Jitter (variation in latency)
  • Download Throughput
  • Upload Throughput
  • Bufferbloat (latency under load)

After completing tests, FluxTest generates a detailed A–F score along with actionable insights and recommendations for each metric. The results can be conveniently exported as a branded PNG report card, perfect for documentation or troubleshooting.

FluxTest features a user-friendly browser UI alongside HTTP endpoints for health checks and throughput testing, making it straightforward to integrate into your local environment. It supports Docker for easy deployment and is optimized for private use, ensuring that your tests remain secure and reliable.

Key Features

  • Accurate Measurements: Obtain precise latency and jitter readings through sequential pings and effective bufferbloat detection during download tests.
  • Comprehensive Testing: Engage in structured download and upload tests that simulate real-world conditions.
  • Connection Analysis: Understand network performance through a grading system that scores and diagnoses based on multiple metrics.
  • Convenient Reporting: Quickly generate and share report cards for effective communication and action.
  • Container Support: Seamless deployment in Docker, with configurations tailored for reverse proxy setups using Traefik.
  • Designed for Private Use: Engineered to operate within internal networks, making it an invaluable diagnostic tool without the complications of public internet comparisons.

Setup with Docker in a minute 🚀︎

Setting up FluxTest is simplified using Docker Compose:

services:
  speedtest:
    image: ghcr.io/siddheshgunjal/flux-test:latest
    container_name: flux-test
    ports:
      - "4855:4855"
    environment:
      - SERVER_NAME=${SERVER_NAME:-${HOSTNAME:-speedtest-host}}
    restart: unless-stopped
    deploy:
      resources:
        reservations:
          memory: 256M
          cpus: 0.5
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.speedtest.rule=Host(`speedtest.example.com`)"
      - "traefik.http.routers.speedtest.entrypoints=websecure"
      - "traefik.http.routers.speedtest.tls.certresolver=letsencrypt"

Start the application using:

docker compose up -d

Access the UI via http://your-ip:4855 to begin testing.

Built-in Security Features

  • Cache Prevention: Download endpoints include strict cache-control headers (no-store, no-cache, must-revalidate) to prevent test data from being cached
  • Secure Streaming: Both download and upload use memory-efficient chunked streaming (1 MB / 64 KB chunks) — no large buffers are allocated server-side, preventing memory exhaustion
  • Upload Safety Ceiling: The server-side upload reader enforces a hard ceiling (TEST_DURATION_SECONDS + 10 s) so a misbehaving client cannot hold a worker indefinitely
  • Input Validation: Upload endpoint validates data reception and handles edge cases gracefully
  • Health Monitoring: /health endpoint enables orchestration and monitoring without exposing operational details
0 comments

No comments yet.

Sign in to be the first to comment.

FluxTest - Diagnose the performance of your server network effortlessly.