Mayhem is an electron/webkit-based web browser that allows anyone to code and speak freely!
Just start the Mayhem browser, visit a site that has a Mayhem button and click ADD 2 MAYHEM! That website can now change any website you visit. You can also build your own Mayhem Server.
Why?
- Free Speech Mayhem allows you to add comments that cannot be removed by anyone. You can anonymously say anything you want without any form of restriction. This way, Mayhem helps you to circumvent censorship and facilitate open discussion. You can filter annoying comments yourself by choosing your Mayhem servers carefully (instead of having some kind of authority decide what you may read and what not).
- Demos Mayhem allows you to demonstrate new functionality to clients without requiring access to their servers. Setup your own Mayhem server and add the new features as a 'layer' on top of the existing website of your customer.
- Enrichment Mayhem allows you to extend functionality of websites without asking for permission. For instance, on a website with recipes you can add a button to automatically make a shoppling list for the required ingredients.
- Collaborative Web With Mayhem you can build websites and webapps collaboratively, stitching together scripts from all over the world without any restrictions.
- Fun Of course, Mayhem can be used for pranks and jokes.
Dangerous
Since anyone can change everyone's website, Mayhem is in fact a giant XSS-injection on steriods. As such, Mayhem is a dangerous internet browser. Be careful with using Mayhem. Do not use Mayhem for things like banking. Also be careful what Mayhem Servers you select. Mayhem is exactly what the name inplies. Absolute Mayhem.
Usage
Go to a Mayhem server (https://gabordemooij.com/mayhem.php for instance), enter the URL of the website you wish to edit and the JavaScript code. To add a simple comment to a website use the build-in note() function:
note('joehoe!');
Server
Just copy the PHP script from the repository or implement the protocol yourself: Add a Mayhem button: <button data-mayhem="add" > and listen for ?url=X where X is the website the browser visits. Upon receiving that request just return a JSON array with Javascripts to be executed on the website, format: [ JS, JS, JS... etc ].
For download/details see: Mayhem on github.