Skip to main content

Fuzzy matching HTTP file server with autocomplete and fallback

Project description

🔥 fuzzy-httpserver

A lightweight, zero-dependency Python HTTP file server with fuzzy filename matching and automatic fallback directory listing. Serve files easily without requiring users to know exact filenames — great for red teams, internal tooling, and lazy typing 😎.


🚀 Features

  • 🔍 Fuzzy and prefix-based filename matching
  • 🧾 Server-side logs directory contents if no file is matched
  • ⚙️ Supports custom port and directory configuration
  • ✅ No external dependencies — plug-and-play
  • 🐍 Written in pure Python 3
  • 📤 Supports POST data requests
  • 🎨 Colored server-side output for better readability
  • 🖵 Shows IP addresses of key network interfaces at startup
  • Shows the Size and MD5 Hash of Received File - Integrity Check

📦 Installation

Install via pip:

pip install fuzzy-httpserver

🧪 Usage

Serve the current directory on the default port (8000):

fuzzy-httpserver

Serve a specific directory on a custom port:

fuzzy-httpserver -d /opt/tools -p 9001

Example

wget http://<ip>:8000/ligolo-win

Even if the exact file is ligolo-Agent-Windows-amd.exe, it will still serve the file thanks to fuzzy matching. If nothing is found, you’ll get:

[!] File not found. Available files:

- chisel_windows
- payload_generator

Basically the list of files on that server directory


🛠 Command-Line Options

Option Description
-p, --port Port to listen on (default: 8000)
-d, --directory Directory to serve (default: current dir)

📨 POST Support

You can now send raw data via HTTP POST, and it will be saved on the server as a file. The filename will be prefixed with fuzzy_post_data_ followed by the requested name.

Example

curl --data @file.txt http://<ip>:8000/mydump.txt
#OR
curl --data "username=admin&password=1234" http://<ip>:8000/formdata.txt

🧠 Why?

Sometimes during internal testing, CTFs, or red teaming, we just want to serve files quickly — but can’t remember exact filenames. fuzzy-httpserver saves time by letting you guess loosely.


🧑‍💻 Author & Credits

Built with 💻 and ☕ by PakCyberbot.

🔗 Connect with me:


✨ Contributions Welcome

Want to improve it? Found a bug? PRs and issues are welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fuzzy_httpserver-1.4.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fuzzy_httpserver-1.4.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file fuzzy_httpserver-1.4.0.tar.gz.

File metadata

  • Download URL: fuzzy_httpserver-1.4.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for fuzzy_httpserver-1.4.0.tar.gz
Algorithm Hash digest
SHA256 15011023b70fdc3363aa71c67bcf20b190e780fdbade66ac053e5a92fff9f4a5
MD5 cd627a24de2c63fcefee620949647a75
BLAKE2b-256 ec4b6982b96e022d4afd65a5bd2937ffaf218293c8cdc74bab6a018c25443c43

See more details on using hashes here.

File details

Details for the file fuzzy_httpserver-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fuzzy_httpserver-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 122eb8b4e81e9dfb79a35c1b57053cdb6b6ab61fdc1b9ba136314a39ff88fa75
MD5 7dbe8a7849f2fb5e50ef809cf242fd5a
BLAKE2b-256 2f91cfbb4d15244b1d360d2969e0d249730d732e6aeedbd60db4ae90d155457c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page