Skip to content

Instantly share code, notes, and snippets.

@moycat
Created February 2, 2024 06:59
Show Gist options
  • Save moycat/eab34e9741ef9ea826ab8d120d79bab5 to your computer and use it in GitHub Desktop.
Save moycat/eab34e9741ef9ea826ab8d120d79bab5 to your computer and use it in GitHub Desktop.
Gavatar proxy via Cloudflare Worker
const host = "secure.gravatar.com";
const defaultSize = "512";
addEventListener("fetch", function(event) {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
// Check referer.
let referer = request.headers.get("referer")
if (referer) {
try {
let ru = new URL(referer);
if (ru.host != "moy.cat" && !ru.host.endsWith(".moy.cat")) {
return new Response("forbidden", {status: 403});
}
} catch (e) {}
}
let u = new URL(request.url);
u.host = host;
return fetch(u.toString(), {
headers: request.headers,
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment