{"id":13799751,"url":"https://github.com/synfron/ReshaperForBurp","last_synced_at":"2025-05-13T08:31:59.556Z","repository":{"id":38417887,"uuid":"316354459","full_name":"synfron/ReshaperForBurp","owner":"synfron","description":"Burp Suite Extension - Trigger actions and reshape HTTP request/response and WebSocket traffic using configurable rules","archived":false,"fork":false,"pushed_at":"2024-11-10T06:06:33.000Z","size":1263,"stargazers_count":92,"open_issues_count":6,"forks_count":12,"subscribers_count":2,"default_branch":"release","last_synced_at":"2024-11-18T14:59:20.451Z","etag":null,"topics":["burp","http","modify","reshaper","rules","traffic"],"latest_commit_sha":null,"homepage":"https://synfron.github.io/ReshaperForBurp/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/synfron.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":["synfron","ddwightx"]}},"created_at":"2020-11-26T23:11:50.000Z","updated_at":"2024-11-10T06:02:01.000Z","dependencies_parsed_at":"2023-01-28T18:46:01.270Z","dependency_job_id":"4fa29ca9-9877-4e71-b101-bdea45b342b3","html_url":"https://github.com/synfron/ReshaperForBurp","commit_stats":null,"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synfron%2FReshaperForBurp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synfron%2FReshaperForBurp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synfron%2FReshaperForBurp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synfron%2FReshaperForBurp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/synfron","download_url":"https://codeload.github.com/synfron/ReshaperForBurp/tar.gz/refs/heads/release","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253903855,"owners_count":21981761,"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","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":["burp","http","modify","reshaper","rules","traffic"],"created_at":"2024-08-04T00:01:05.736Z","updated_at":"2025-05-13T08:31:59.023Z","avatar_url":"https://github.com/synfron.png","language":"Java","readme":"# Reshaper for Burp\n\nExtension for Burp Suite to trigger actions and reshape HTTP request/response and WebSocket traffic using configurable Rules\n\n![Screenshot](https://github.com/user-attachments/assets/3e07dbe2-a71a-4a8a-8f75-206ce7bb9254)\n\n[Example Usage](https://synfron.github.io/ReshaperForBurp/Examples.html)\n\n## Rules\n\nRules allow you to set actions to perform (called Thens) if messages/connections (event) received by Burp Suite meet certain criteria (called Whens). Rules are processed in order.\n\n[More](https://synfron.github.io/ReshaperForBurp/Rules.html)\n\n### Whens\n\nContent Type - If the HTTP request body is reported to match specified content types\n\nEvent Direction - If the HTTP message is a Request or Response, or if the WebSocket message is directed toward the client or server\n\nFrom Tool - If the HTTP/WebSocket message is from a specific Burp tool\n\nHas Entity - If the HTTP/WebSocket event contains a certain message value entity\n\nIn Scope - If the URL is in the suite-wide scope\n\nMatches Text - If a value (text, variable, or HTTP/WebSocket message value entity) matches a value\n\nMessage Type - If the WebSocket message is text or binary\n\nMIME Type - If the HTTP response body is reported to match specified MIME types\n\nProxy Name - If received by a certain Burp proxy listener\n\nRepeat - Repeat a group of When constraints for each item in a list\n\n[More](https://synfron.github.io/ReshaperForBurp/Whens.html)\n\n### Thens\n\nBreak - Stop Rules or then action processing\n\nBuild HTTP Message - Build an HTTP request or response message and store the full text in a variable\n\nComment - Add a comment to the line item in the HTTP/WebSocket history\n\nDelay - Delay further processing/sending of the HTTP/WebSocket event\n\nDelete Value - Remove an HTTP message entity\n\nDelete Variable - Delete a variable\n\nDrop - Have Burp drop the connection\n\nEvaluate - Perform operations on values\n\nExtract - Extract values into lists\n\nGenerate - Generate a value\n\nHighlight - Highlight the line item in the HTTP/WebSocket history\n\nIntercept - Intercept the message in the Proxy interceptor\n\nLog - Log message to the Burp extension console\n\nParse HTTP Message - Extract values from an HTTP request or response message and store the values in variable\n\nPrompt - Get text via a prompt dialog\n\nRead File - Read a file\n\nRepeat - Repeat a group of Then actions by count, boolean value, or for each item in a list\n\nRun Process - Execute a command in a separate process\n\nRun Rules - Run a specific Rule or all auto-run Rules\n\nRun Script - Execute a JavaScript script\n\nSave File - Save text to a file\n\nSend Message - Send a separate WebSocket message\n\nSend Request - Send a separate HTTP request\n\nSend To - Send data to other Burp tools or the system's default browser\n\nSet Encoding - Set the encoding used to read and write bytes of the HTTP request or response body, or WebSocket message\n\nSet Event Direction - Change whether to send a request or to send a response at the end of processing\n\nSet Value - Set the value of an HTTP/WebSocket event using another value (text, variable, or HTTP/WebSocket event entity)\n\nSet Variable - Set a variable using another value (text, variable, or HTTP/WebSocket event entity)\n\nTransform - Transform/convert a value\n\n[More](https://synfron.github.io/ReshaperForBurp/Thens.html)\n\n## Variables\n\nShare values across different Rules while processing the same event or all events.\n\n[More](https://synfron.github.io/ReshaperForBurp/Variables.html)\n\n## Additional Features\n\n[Additional Features](https://synfron.github.io/ReshaperForBurp/Features.html)\n\n## Development\n\n### Build JAR with IntelliJ\n\n1. Open IntelliJ.\n2. Create a new project (Gradle) from existing source using Java 21.\n3. Once the project is created/open, wait for IntelliJ to process Gradle dependencies.\n4. Run the `jar` Gradle build task under the `extension` module from the Gradle tool window/sidebar. The JAR will be placed in the `extension/build/libs` directory.\n\n### Build JAR with CLI\n\n1. Install Java 21.\n2. Install Gradle v8.6.\n3. Open a terminal into the `extension` directory of the project.\n4. Run the `gradle --refresh-dependencies build jar` command.\n5. The JAR will be placed in the `extension/build/libs` directory.\n\n### Debugging\n\n#### IntelliJ\n\n1. Set the environment variable `BURP_JAR_PATH` to the `burpsuite_community.jar` file location. (e.g. `C:\\Users\\\u003cuser\u003e\\AppData\\Local\\Programs\\BurpSuiteCommunity\\burpsuite_community.jar` on Windows)\n2. In Reshaper, using the Settings tab, export all Rules and global variables to a JSON file to prevent data loss.\n3. In Extender, unload the Reshaper extension from Burp Suite if you already have the extension installed from the BApp Store or from a JAR.\n4. Close Burp Suite.\n5. Open the Reshaper project in IntelliJ.\n6. Navigate to `debug/src/main/java/synfron/reshaper/burp/debug/Burp.java`.\n7. Right-click the file in the Project view and click `Run Burp.main()` or `Debug Burp.main()`.\n8. Burp Suite will open with Reshaper loaded as an legacy extension.\n\n## Contributions\n\nContributions are encouraged. Issues and Pull Requests welcome. Also help us spread the word.\n\nPrimary Developer: Daquanne Dwight\n\n## Documentation Links\n\n[Website](https://synfron.github.io/ReshaperForBurp/)\n\n[Wiki](https://github.com/synfron/ReshaperForBurp.docs/wiki)\n\n## Support\n\nFor help with how to use Reshaper for a particular need, to report a bug, or to make a suggestion, create an issue in GitHub or email support[at]synfron.com.\n\n## License\n\nMIT License. See [LICENSE](https://github.com/synfron/ReshaperForBurp/blob/master/LICENSE)\n","funding_links":["https://github.com/sponsors/synfron","https://github.com/sponsors/ddwightx"],"categories":["Custom Features"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynfron%2FReshaperForBurp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynfron%2FReshaperForBurp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynfron%2FReshaperForBurp/lists"}