Skip to content

Limsy is a small command-line tool designed to analyze HTTP rate-limiting behavior of web services and APIs.

License

Notifications You must be signed in to change notification settings

URDev4ever/limsy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Limsy

🇺🇸 English | 🇪🇸 Español

image

Lightweight HTTP rate-limit analyzer
Simple, async, and non-intrusive testing tool


✨ What is Limsy?

Limsy is a small command-line tool designed to analyze HTTP rate-limiting behavior of web services and APIs.

It sends requests at controlled rates and observes how the server responds, helping developers and administrators understand:

  • When rate limits are triggered
  • How servers react under increasing request pressure
  • Whether blocking, throttling, or redirection occurs

Limsy is not a stress-testing or DoS tool. Its focus is analysis, diagnostics, and infrastructure understanding.


🧠 Key Features

  • Asynchronous requests using asyncio and aiohttp

  • Gradual, rate-controlled request stages (no bursts)

  • Intelligent detection of:

    • HTTP 429 (Too Many Requests)
    • Blocking responses (403, 5xx)
    • Redirection away from the target
  • Automatic stop when strong blocking is detected

  • Human-readable console output

  • Graceful shutdown on Ctrl+C


⚠️ Disclaimer

Limsy is intended only for:

  • Testing services you own
  • Systems you are authorized to analyze
  • Educational and diagnostic purposes

Do not use this tool against systems without explicit permission.

You are responsible for how you use it.


📦 Installation

Clone the repository:

git clone [https://github.com/yourusername/limsy.git](https://github.com/yourusername/limsy.git)
cd limsy

Install dependencies:

pip install aiohttp colorama

🚀 Usage

Basic usage:

python limsy.py -u [https://example.com](https://example.com)

With custom concurrency:

python limsy.py -u [https://example.com](https://example.com) -c 30

Quiet mode (no interactive prompts):

python limsy.py -u [https://example.com](https://example.com) -q

🧪 How It Works

Limsy runs multiple request stages with increasing requests-per-second (RPS).

At each stage, it:

  1. Sends controlled HTTP requests

.image

.image

  1. Collects status codes
  2. Detects signs of throttling or blocking
  3. Stops automatically if strong limits are detected
  4. Generates analysis summary
image

By default, Limsy uses HEAD requests to minimize bandwidth usage.


🛠️ Command-line Options

  • -u, --url — Target URL (required)
  • -c, --concurrency — Max concurrent requests (default: 20)
  • -q, --quiet — Disable interactive prompts

🧩 Use Cases

  • API rate-limit discovery
  • Infrastructure diagnostics
  • Load-balancer behavior analysis
  • Educational experiments with HTTP limits
  • CI / staging environment testing

⭐ Final Note

Limsy is intentionally simple, readable, and ethical. If you need aggressive load testing, use dedicated tools. If you want clarity, control, and understanding — Limsy is for you.


Made with <3 by URDev.