load skopec.dev live in its window via an allowlisted header-stripping proxy (/api/frame)

This commit is contained in:
Martin Dvořák 2026-09-30 06:42:36 +00:00
commit a4a12bfe2a
5 changed files with 147 additions and 12 deletions

View file

@ -19,11 +19,19 @@ export interface TechProject {
export interface Friend {
name: string;
/** What the desktop window frames. A same-origin mirror when the live site blocks framing. */
url: string;
/** The live site: the window's `www` button and the status check use this. */
realUrl: string;
img: string;
desc: string;
/** Render in an iframe in a desktop window. */
iframe: boolean;
/**
* Load `realUrl` through `/api/frame` (which strips framing headers) instead
* of framing `url`. Use for sites that send a restrictive `X-Frame-Options`.
*/
proxy?: boolean;
}
export const socials: Social[] = [
@ -233,11 +241,15 @@ export const techProjects: TechProject[] = [
export const friends: Friend[] = [
{
name: "Josef Skopec",
// skopec.dev sends `X-Frame-Options: SAMEORIGIN` on every path, so the
// window goes through /api/frame for the live site; /skopec.html is the
// bundled mirror that was used before the proxy existed (kept as a fallback).
url: "/skopec.html",
realUrl: "https://skopec.dev/",
img: "/skopec.svg",
desc: "skopec.dev",
iframe: true,
proxy: true,
},
{
name: "Filip Bukovina",