Skip to content

thd3r/SimpHttp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpHttp - A minimalist HTTP/HTTPS-aware domain probe

╔═╗┬┌┬┐┌─┐╦ ╦┌┬┐┌┬┐┌─┐
╚═╗││││├─┘╠═╣ │  │ ├─┘
╚═╝┴┴ ┴┴  ╩ ╩ ┴  ┴ ┴
          v0.1.2 latest

SimpHttp is a high-performance, lightweight HTTP scanner designed to rapidly test multiple hosts and ports using concurrent HTTP/HTTPS requests. It's ideal for developers, security researchers, and sysadmins who need to quickly verify service availability across large target lists.

✨ Features

  • ✅ Fast TCP connectivity check before HTTP request

  • 🌐 Supports both HTTP and HTTPS schemes automatically

  • 📋 Reads targets from file, stdin, or CLI input

  • ⚡ Concurrent scanning with user-defined thread count

  • ⏱ Customizable timeout per request

  • 🔎 Verbose logging for inspection and debugging

  • 📦 Outputs structured results including:

    • Protocol used
    • HTTP status code
    • Response size
    • Redirect destination
    • Error message (if any)

Use Cases

  • Port and service discovery
  • Web availability monitoring
  • Mass HTTP banner grabbing

Installation

go install -v github.com/thd3r/SimpHttp/cmd/simphttp@latest

Flags

Flag Description Example
-targets Single target, file path, or stdin hosts.txt or example.com
-threads Number of concurrent workers 50
-timeout Timeout per request (in seconds) 10
-verbose Enable verbose logging -verbose
-version Show SimpHttp version -version

Usage

Read from stdin

echo example.com | simphttp
echo https://example.com | simphttp
cat targets.txt | simphttp

Or

simphttp -targets example.com
simphttp -targets https://example.com
simphttp -targets targets.txt

Tip

SimpHttp automatically generates a report and saves it to a temporary folder.


How It Works

1. Target Parsing

Inputs can be a single host, list of hosts (from a file or stdin), or combination.

2. Connectivity Check

Performs a low-level TCP dial to each target:port combination to ensure it's reachable.

3. HTTP Request

Sends a GET request using a custom http.Client with timeouts and transport tuning.

4. Result Handling

Response status, size, and redirect (if any) are extracted and printed. Errors are captured and reported per host:port

Contributing

Contributions are welcome! Feel free to submit a pull request or open an issue to report bugs or suggest enhancements.

About

A minimalist HTTP/HTTPS-aware domain probe

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages