SLShakyLineGitHub
guide

Getting started

Install ShakyLine, start a local proxy, and run a controlled network failure in a few commands.

Install

Windows

Installer

Best for normal users. Installs ShakyLine and adds it to PATH.

Download installer
Windows

Portable ZIP

Best for throwaway folders, CI images, or manual PATH setup.

Download ZIP
Source

Linux / macOS

Build locally with CMake and a C++20-capable compiler.

Open repository

Build from source

Use this path for Linux, macOS, or when you want to modify ShakyLine.

build
git clone https://github.com/sarthakuwar/ShakyLine.git
cd ShakyLine
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
On Windows with Visual Studio, the binary usually lands at .\\build\\Release\\shakyline.exe. On Linux and macOS, it usually lands at ./build/shakyline.

Run your first proxy

This listens on port 8080, forwards traffic to an upstream service, and exposes the control API on port 9090.

start proxy
shakyline --listen 0.0.0.0:8080 \
  --upstream api.example.com:443 \
  --control 9090

Apply and remove a fault

fault drill
curl -X POST http://localhost:9090/profiles/default \
  -H "Content-Type: application/json" \
  -d '{"c2s_latency_ms":200,"c2s_drop_rate":0.05,"s2c_latency_ms":100}'

curl http://localhost:9090/sessions
curl http://localhost:9090/metrics

curl -X DELETE http://localhost:9090/profiles/default