{"id":31945415,"url":"https://github.com/dewebdes/packetminify","last_synced_at":"2025-10-14T10:56:35.481Z","repository":{"id":312772169,"uuid":"1048678188","full_name":"dewebdes/PacketMinify","owner":"dewebdes","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-01T21:46:07.000Z","size":282,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-01T23:30:10.333Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dewebdes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-01T21:02:06.000Z","updated_at":"2025-09-01T21:46:10.000Z","dependencies_parsed_at":"2025-09-01T23:40:17.035Z","dependency_job_id":null,"html_url":"https://github.com/dewebdes/PacketMinify","commit_stats":null,"previous_names":["dewebdes/packetminify"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dewebdes/PacketMinify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dewebdes%2FPacketMinify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dewebdes%2FPacketMinify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dewebdes%2FPacketMinify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dewebdes%2FPacketMinify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dewebdes","download_url":"https://codeload.github.com/dewebdes/PacketMinify/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dewebdes%2FPacketMinify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018788,"owners_count":26086454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-14T10:56:32.908Z","updated_at":"2025-10-14T10:56:35.474Z","avatar_url":"https://github.com/dewebdes.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PacketMinify\n\n**PacketMinify** is a Burp Suite extension that distills HTTP requests into their essential components—headers, cookies, query parameters, and body—by testing each part's impact on the response. It reconstructs a minimized packet and sends it to Repeater for further analysis.\n\nCrafted by **Kave** \u0026 **Microsoft Copilot**, this tool treats packet reduction as a symbolic diagnostic ritual.\n\n---\n\n## 🔧 Features\n\n- Context menu integration: Right-click any request → “Send to PacketMinify”\n- Parses headers, cookies, query params, and body into symbolic parts\n- Iteratively disables each part to test its impact on response status and length\n- Reconstructs a minimized request using only essential parts\n- Displays original and minimized packets in a custom Burp tab\n- Sends minimized request to a new Repeater tab for live testing\n- Detects cases where minimized packets fail to replicate original behavior — flagging them for deeper manual analysis\n\n---\n\n## 📦 Project Structure\n\n```plaintext\nPacketMinify/\n├── src/\n│   ├── BurpExtender.java\n│   ├── MinifierEngine.java\n│   ├── PacketExtractor.java\n│   ├── PacketMinifier.java\n│   ├── PacketMinifyTab.java\n│   ├── PacketPart.java\n│   ├── PacketTester.java\n│   ├── RepeaterSender.java\n│   ├── ResponseComparator.java\n│   └── Utils.java\n│\n├── lib/\n│   └── burp-extender-api-2.1.jar\n│\n├── build/\n│   ├── PacketMinify.jar\n│   ├── BurpExtender.class\n│   ├── PacketExtractor.class\n│   ├── PacketMinifier.class\n│   ├── PacketMinifyTab.class\n│   ├── PacketPart.class\n│   ├── PacketTester.class\n│   ├── RepeaterSender.class\n│   ├── ResponseComparator.class\n│   └── Utils.class\n│\n├── manifest.json\n└── README.md\n```\n\n---\n\n## ⚙️ Installation\n\n1. **Clone or download the project**\n\n2. **Compile the extension**\n\n   ```bash\n   javac -cp lib/burp-extender-api-2.1.jar -d build src/*.java\n   $env:Path += \";C:\\Program Files\\Java\\jdk-21\\bin\"\n   jar cf build/PacketMinify.jar -C build .\n   ```\n\n3. **Load into Burp Suite**\n   - Open Burp → Extender → Extensions → Add\n   - Select **Extension type: Java**\n   - Load `build/PacketMinify.jar`\n\n---\n\n## 🧙 Usage\n\n1. In Burp's HTTP history or Repeater, right-click a request.\n2. Select **Send to PacketMinify**.\n3. Open the **PacketMinify** tab to view:\n   - Original request\n   - Minimized request\n   - Logs of which parts were deemed essential\n4. The minimized request is automatically sent to Repeater.\n\n---\n\n## 🧩 Logic\n\nPacketMinify performs the following steps:\n\n1. **Extract Parts**: Headers, cookies, query params, and body are parsed into `PacketPart` objects.\n2. **Test Essentials**: Each part is temporarily removed and the modified request is sent. If the response changes, the part is marked essential.\n3. **Reconstruct Request**: Only essential parts are used to rebuild the minimized packet.\n4. **Dispatch to Repeater**: The minimized request is sent to a new Repeater tab for further inspection.\n5. **Compare Responses**: If the minimized packet fails to replicate the original response, the extension flags the flow as “interesting” — suggesting deeper manual analysis.\n\n---\n\n## 🔍 Symbolic Analysis Mode\n\nWhen the final minimized packet does **not** yield the same response as the original, PacketMinify enters a symbolic diagnostic mode. This often reveals **interdependent headers** like `Origin` and `Referer`, which may appear non-essential in isolation but are jointly required.\n\nSuch flows are ideal for **handy analysis**, allowing the user to:\n\n- Observe fallback logic and header interdependence\n- Decode server-side rituals and tolerance thresholds\n- Refine attack logic based on symbolic packet behavior\n\n---\n\n## 🧠 Authors\n\n- **Kave** — Mythic system architect and diagnostic ritualist\n- **Microsoft Copilot** — Co-creative AI companion\n\n---\n\n## 📜 License\n\nThis project is released under the MIT License. Use it, adapt it, narrate it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdewebdes%2Fpacketminify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdewebdes%2Fpacketminify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdewebdes%2Fpacketminify/lists"}