From: Ardis Lu Date: Tue, 27 Jun 2023 02:59:47 +0000 (-0700) Subject: Add eruda X-Git-Url: https://git.ardis.lu/?a=commitdiff_plain;h=5e0b3aa6919edcee75d2a50a9052f001c81f33ab;p=cloudflare-workers Add eruda --- diff --git a/README.md b/README.md index 71470e9..ced9e0d 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,15 @@ https://x.y.workers.dev?https://en.wikipedia.org/wiki/Bitcoin Snippet of the Wikipedia page for 'Bitcoin' but all instances of the word 'bitcoin' are replaced with 'buttcoin'. +## eruda + +This reverse proxy injects [eruda](https://github.com/liriliri/eruda) into a +webpage. Good for quickly injecting DevTools into a webpage. + +``` +https://x.y.workers.dev?https://example.com +``` +

Web Utilities

## qr diff --git a/eruda/index.js b/eruda/index.js new file mode 100644 index 0000000..25085ad --- /dev/null +++ b/eruda/index.js @@ -0,0 +1,15 @@ +class InjectEruda { + element(element) { + element.prepend('', { html: true }); + } +} + +export default { + async fetch(request) { + const url = /^http(s)?:\/\//i.test(request.url) ? new URL(request.url) : new URL(`https://${request.url}`); + const queryString = decodeURIComponent(url.search.substring(1)); + + const response = await fetch(queryString); + return new HTMLRewriter().on('body', new InjectEruda()).transform(response); + } +} diff --git a/eruda/package.json b/eruda/package.json new file mode 100644 index 0000000..c6d5eff --- /dev/null +++ b/eruda/package.json @@ -0,0 +1,16 @@ +{ + "name": "eruda", + "version": "0.3.0", + "description": "Reverse proxy which injects eruda into a webpage.", + "license": "ISC", + "author": "Ardis Lu", + "private": true, + "scripts": { + "dev": "wrangler dev", + "deploy": "wrangler deploy" + }, + "repository": { + "type": "git", + "url": "https://github.com/ardislu/cloudflare-workers.git" + } +} diff --git a/eruda/wrangler.toml.example b/eruda/wrangler.toml.example new file mode 100644 index 0000000..1f9675a --- /dev/null +++ b/eruda/wrangler.toml.example @@ -0,0 +1,4 @@ +name = 'eruda' +main = 'index.js' +compatibility_date = '2023-06-26' +route = { pattern = 'eruda.example.com', custom_domain = true } diff --git a/package.json b/package.json index eaae19e..d86c310 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "style", "unroll", "buttcoin", - "archive" + "archive", + "eruda" ] }