PAGES
← all tools
◆ Reconnaissance & OSINT

raven

v1.0.0 open-source

Raven is a Python tool that provides a self-contained file upload web server, enabling remote clients to send files via HTTP.

Summary

raven is an open-source command-line tool that extends Python's http.server module into a self-contained file upload server, letting remote clients push files back to the operator instead of only pulling them. It runs as a single Python script from a terminal, installable via APT on Kali Linux or a plain git clone elsewhere, which suits red teamers and incident responders who need a quick drop point when protocols like SMBSMBA network file-sharing protocol developed by Microsoft that lets systems share files, printers, and named pipes over a network; cyber tools target or speak it because it is ubiquitous in Windows environments. aren't available. It adds IP-based access restrictions, per-client subfolder organization, filename sanitization, clobber protection, and detailed request logging on top of the standard library server. It sits in the reconnaissance and penetration-testing toolkit space alongside ad hoc uses of Python's http.server, rather than replacing dedicated file-transfer infrastructure. Built by three contributors since 2023, the project has had no commits in the past year, so treat it as stable but no longer actively maintained.

Raven is a Python tool that provides a self-contained file upload web server, enabling remote clients to send files via HTTP.

How raven helps

Which files did each client actually push to my drop server, and where did they land?

every upload is logged with the client's IP, timestamp, status code, and the saved file's final path, so a full transfer history is reconstructable from the log alone

Can a target host reach my listener from an unexpected address?

access can be restricted to a single IP, a comma-delimited list, or a CIDR range, and any connection outside that set is rejected before a file is written

Will two compromised hosts uploading files with the same name overwrite each other's data?

each incoming filename is checked against what already exists on disk, and a colliding name gets an incrementing number appended rather than replacing the original

How do I keep uploads from multiple targets sorted without building that logic myself?

files can be organized automatically into subfolders named after the uploading client's IP address, inside the working directory or a folder you designate

What happens if a remote client tries to upload a file with a crafted or malicious filename?

each filename is sanitized before it touches disk, stripping the upload of path or naming tricks that could otherwise write outside the intended folder

all 4 features, with the evidence for each →

Languages

Not documented

Features

4 capabilities · 1 backed by code, an API document or a real run

Built from raven's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What raven offers you

  • Command-line interface3
All capabilities 4 capabilities
HTTP listener verified Runs an HTTP handler that listens on a configurable IP address and port to receive incoming connections and save uploaded files to a designated directory. 2 releases · 7 other sources · first seen Sep 2023

Also counts toward: Command-line interface

release

  • Adds the raven subcommand to start an HTTP-based file upload server v1.0.0 · Sep 2023 · source · release history
  • Adds --upload-folder argument to designate the directory for saving uploaded files v1.0.0 · Sep 2023 · source · release history

docs

  • Self-contained HTTP file upload server extending Python's http.server with IP restrictions, organized uploads, and file sanitization.

command line

  • --upload-dir — Designate the directory to save uploaded files to (default: current working directory) v1.1.0 · Jan 2025 · command-line history
  • lhost — The IP address for our HTTP handler to listen on (default: listen on all interfaces) v1.1.0 · Jan 2025 · command-line history
  • lport — The port for our HTTP handler to listen on (default: 8080) v1.1.0 · Jan 2025 · command-line history

example

  • Start a local upload server on all interfaces for pentesting data exfiltration when SMB is blocked. raven 0.0.0.0 8080 v1.0.0 · Sep 2023 · source
  • Restrict file reception to a specific attacker IP and save evidence to a temp directory organized by source. raven 192.168.1.5 443 --allowed-ip 10.0.0.1 --upload-folder /tmp/evidence --organize-uploads v1.0.0 · Sep 2023 · source
  • Listen on all interfaces, port 443 raven 0.0.0.0 443
IP-based access control shipped Restricts file uploads to specific client IP addresses, supporting single IPs, comma-delimited lists, or CIDR ranges. 1 release · 1 other source · first seen Sep 2023

Also counts toward: Command-line interface

release

  • Adds --allowed-ip argument to restrict uploads by client IP address (single, comma-delimited list, or CIDR) v1.0.0 · Sep 2023 · source · release history

example

  • Restrict access to specific client IP raven 192.168.0.12 443 --allowed-ip 192.168.0.4
Organized upload storage shipped Saves uploaded files into subfolders named by the remote client IP address. 1 release · 1 other source · first seen Sep 2023

Also counts toward: Command-line interface

release

  • Adds --organize-uploads flag to save uploaded files into subfolders named by remote client IP v1.0.0 · Sep 2023 · source · release history

example

  • Organize uploads by client IP subfolder raven 192.168.0.12 443 --allowed-ip 192.168.0.4 --upload-folder /tmp --organize-uploads
Custom upload directory shipped Allows designating a specific local directory for saving received files. 1 other source

example

  • Save uploads to specific folder raven 192.168.0.12 443 --allowed-ip 192.168.0.4 --upload-folder /tmp

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for raven, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail raven puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

1 entry

  1. September 20231

    1 entry

    Project health

    Issue, contributor and maintainer activity in gh0x0st/raven, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 0 −1 vs prior 12 months
    2. Maintainers 0 +0 joined · −1 left, last 12 months
    3. Bus factor 0 committers behind half the commits
    4. Community-filed not measured of issues opened, last 12 months
    5. Median time to close not measured issues closed, last 12 months
    6. Open backlog 0 of 1 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 0
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 29
    Issue themes, last 12 months not measured

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →