# Live Tampering with Web Pages: Exploring the Power of Epupp
In the world of cybersecurity and hacking, the ability to tamper with web pages can be a game-changer. A new browser extension called Epupp is making waves in the tech community by offering users a powerful tool for live tampering and interactive development of userscripts.
Developed by Peter Strömberg (a.k.a PEZ), Epupp is an open-source, free-to-use extension that allows users to script the page and interact with web pages in a dynamic way. With its live REPL connection, users can develop userscripts with the shortest possible feedback loop, discovering new use cases they may not have thought of before.
In this article, we'll delve into the world of Epupp, exploring its features, functionality, and potential applications. We'll also discuss its compatibility with different browsers and operating systems.
## Introduction
Epupp is a browser extension that offers users a powerful tool for live tampering and interactive development of userscripts. Its two modes of operation form a powerful pair, allowing users to script the page and interact with web pages in a dynamic way.
The live REPL connection is happy to support one-off changes or data extractions, but it's also an efficient means to interactively develop userscripts. To get started with Epupp, Peter Strömberg has created a template project with some configuration and instructions for humans and AIs alike.
## Key Features of Epupp
Epupp has several key features that make it stand out from other browser extensions:
* Live REPL connection: This allows users to interactively develop userscripts with the shortest possible feedback loop. * Dynamic development environment: Users can connect their favorite development environments, such as VS Code or AI agents, to Epupp and live tamper with connected tabs. * Userscript development: Epupp allows users to develop userscripts in a dynamic way, using ClojureScript code. * Script editing and testing: The extension has a UI with sections for loading scripts, editing, saving, and testing scripts. * Auto-reconnect and auto-injection: Epupp automatically reconnects to tabs that were previously connected and injects scripts on matching pages.
## Compatibility and Installation
Epupp is compatible with Google Chrome and Mozilla Firefox. To install the extension, users can visit the Chrome Web Store or Mozilla Add-ons page and search for "Epupp".
For Safari users, a separate zip file can be downloaded from the Epupp repository, which includes the necessary files to install and use the extension.
## Userscript Development
Userscripts are the core of Epupp's functionality. They start with a manifest map followed by ClojureScript code. The manifest is a plain Clojure map at the top of the file, while the code runs in the page context with full DOM and JavaScript environment access.
Scripts can run at different points during page load, using the :epupp/run-at key. Userscripts can also load bundled Scittle ecosystem libraries via :epupp/inject. Dependencies resolve automatically, making it easy to manage scripts.
## Conclusion
Epupp is a powerful browser extension that offers users a dynamic tool for live tampering and interactive development of userscripts. Its live REPL connection, dynamic development environment, and script editing and testing features make it an attractive option for developers and hackers alike.
While Epupp is still a relatively new extension, Peter Strömberg has already created two useful scripts to get started with: Isolate elements on crowded web pages for printing and LinkedIn Squirrel. With its open-source nature and free-to-use policy, Epupp is an exciting development in the world of browser extensions.
As cybersecurity continues to evolve, tools like Epupp will play a crucial role in helping us understand and interact with web pages in new and innovative ways. Stay tuned for more updates on this exciting project!